Skip to content

ci(canary): cotygodniowy test dymny paczki z PyPI - #18

Merged
mpasternak merged 1 commit into
mainfrom
ci/canary-pypi
Aug 7, 2026
Merged

ci(canary): cotygodniowy test dymny paczki z PyPI#18
mpasternak merged 1 commit into
mainfrom
ci/canary-pypi

Conversation

@mpasternak

Copy link
Copy Markdown
Member

Po co

Pozostałe workflow sprawdzają kod z repo i tylko wtedy, gdy ktoś coś wypchnie. Tymczasem 0.1.1 zepsuło się bez ani jednego commita u nas: mcp 2.0.0 usunęło mcp.server.fastmcp, nasz zakres wersji je dopuszczał, i uvx bpp-mcp przestało wstawać u każdego nowego użytkownika — przy całkowicie zielonym repozytorium.

Ten canary sprawdza paczkę opublikowaną na PyPI, raz w tygodniu, niezależnie od tego, czy ktokolwiek tyka kod.

Co robi

  • uvx --refresh bpp-mcp@latest --help — dokładnie to, co zrobi człowiek idący za README: świeże rozwiązanie zależności z PyPI, bez uv.lock i bez naszego drzewa roboczego. --refresh omija cache uv, żeby naprawdę pytać o najnowsze wersje.
  • Osobny krok importuje bpp_mcp.server i wypisuje rozwiązane wersje. --help kończy się w argparse i nie dotyka FastMCP ani warstwy auth — czyli tego, co realnie pękło.
  • Matryca 3.10 + 3.13, bo rozwiązywanie różni się na skrajach (lokalnie wyszło odpowiednio mcp 1.29.0 i 1.28.1).
  • Poniedziałki 06:17 UTC + workflow_dispatch do ręcznego odpalenia.

Bez continue-on-error — w odróżnieniu od test-newest-deps, czerwony canary nie znaczy „ktoś z góry wydał coś nowego", tylko „nasza opublikowana paczka jest teraz zepsuta w świecie". Przy biegu z crona zakłada issue z etykietą canary, najwyżej jedno otwarte naraz, bo maile o nieudanych zadaniach z harmonogramu łatwo przeoczyć.

Weryfikacja

Oba kroki odpalone lokalnie na 3.10 i 3.13 przeciwko świeżo wydanemu 0.2.0 — exit=0, poprawny usage:, import bpp_mcp.server przechodzi, rozwiązane bpp-mcp==0.2.0. Etykieta canary założona w repo, bo bez niej gh issue create by padło.

Uwaga na przyszłość: przy pierwszym uruchomieniu tuż po wydaniu trafiłem na wyścig z propagacją indeksu PyPI — @latest przez chwilę zwracał jeszcze poprzednią wersję. Dla biegu z crona bez znaczenia, ale warto wiedzieć przy ręcznym odpalaniu zaraz po tagu.

🤖 Generated with Claude Code

Pozostałe workflow sprawdzają kod z repo i tylko wtedy, gdy ktoś coś
wypchnie. 0.1.1 zepsuło się bez ani jednego commita u nas — `mcp` 2.0.0
usunęło `mcp.server.fastmcp`, a nasz zakres wersji je dopuszczał, więc
`uvx bpp-mcp` przestało wstawać u każdego nowego użytkownika przy
całkowicie zielonym repozytorium.

Canary odpala `uvx bpp-mcp@latest --help` dokładnie tak, jak człowiek
idący za README: świeże rozwiązanie z PyPI, bez `uv.lock` i bez naszego
drzewa roboczego. Osobny krok importuje `bpp_mcp.server`, bo `--help`
kończy się w argparse i nie dotyka FastMCP ani warstwy auth — czyli tego,
co realnie pękło.

Matryca 3.10 + 3.13, bo rozwiązywanie zależności różni się na skrajach
(lokalnie wychodzi odpowiednio mcp 1.29.0 i 1.28.1). Bez
`continue-on-error`: czerwony canary znaczy „paczka jest zepsuta
w świecie". Przy biegu z crona zakłada issue z etykietą `canary`,
najwyżej jedno otwarte naraz, bo maile o nieudanych zadaniach
z harmonogramu łatwo przeoczyć.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@mpasternak
mpasternak merged commit 6faa15a into main Aug 7, 2026
5 checks passed
@mpasternak
mpasternak deleted the ci/canary-pypi branch August 7, 2026 11:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant