Skip to content

deps: grupa python-minor-and-patch (21 pakietów, bez django-pg-baseline) - #759

Merged
mpasternak merged 1 commit into
devfrom
deps-grupa-22
Aug 13, 2026
Merged

deps: grupa python-minor-and-patch (21 pakietów, bez django-pg-baseline)#759
mpasternak merged 1 commit into
devfrom
deps-grupa-22

Conversation

@mpasternak

Copy link
Copy Markdown
Member

Odpowiednik dependabotowego #758, z jednym wyjątkiem:
django-pg-baseline zostaje na 0.3.0 zamiast iść na 0.3.1.

Dlaczego wyjątek

0.3.1 usunął komendę baseline_check, którą woła job baseline-check
w .github/workflows/tests.yml:

run: uv run python src/manage.py baseline_check --max-delta 50

Na #758 ten job padał z:

Unknown command: 'baseline_check'. Did you mean baseline_update?

W 0.3.1 zostały tylko baseline_info, baseline_load, baseline_rebuild,
baseline_update. baseline_info jest czysto informacyjne — drukuje
per-app delty i zawsze kończy się zerem, więc nie może pełnić roli bramki
(sprawdzone w źródle: żadnego CommandError, żadnych argumentów).

Podniesienie tej zależności bez przepisania joba zamieniłoby realny gate
w dekorację — i to akurat ten, który pilnuje, czy baseline.sql nie odjechał
od migracji. Tuż przed wydaniem RC to zła zamiana.

Pin jest jawny (>=0.3.0,<0.3.1) z uzasadnieniem w pyproject.toml, żeby
kolejny Dependabot nie przemycił tego po cichu.

Do zrobienia osobno: migracja na 0.3.1 — API
django_pg_baseline.freshness.check_freshness nadal istnieje, więc job da się
przepisać na własny próg.

Pozostałe 21 pakietów — bez zmian wobec #758

pakiet z na
django-denorm-iplweb 1.12.2 1.14.0
djangorestframework 3.17.2 3.18.0
django-password-policies-iplweb 0.9.0 0.9.4
django-dynamic-admin-columns 0.5.0 0.6.0
django-multiseek 0.10.2 0.10.3
django-channels-broadcast 0.2.2 0.3.0
django-dev-helpers 0.1.14 0.2.0
pytest-testcontainers{,-django} 0.3.1 0.3.2
ruff 0.16.1 0.16.2
…plus 12 kolejnych

uv.lock przelokowany uv 0.11.29 — wersją z CI.

Weryfikacja lokalna

  • manage.py baseline_check --max-delta 50Baseline freshness OK (exit 0)
  • manage.py checkSystem check identified no issues
  • uv sync --all-extras --all-groups — czysto
  • pre-commit — wszystkie hooki przechodzą

Po zmergowaniu należy zamknąć #758 jako zastąpiony.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FPGuzMUWhUHESw6DZTtZkS

Odpowiednik dependabotowego #758, ale z JEDNYM wyjatkiem: zaleznosc
django-pg-baseline zostaje na 0.3.0 zamiast isc na 0.3.1.

Dlaczego wyjatek: 0.3.1 usunal komende `baseline_check`, ktora wola job
`baseline-check` w .github/workflows/tests.yml
(`manage.py baseline_check --max-delta 50`). Na #758 ten job padal z
"Unknown command: 'baseline_check'. Did you mean baseline_update?".
W 0.3.1 zostaly tylko baseline_info/baseline_load/baseline_rebuild/
baseline_update, a `baseline_info` jest czysto informacyjne — drukuje
per-app deltay i ZAWSZE konczy sie zerem, wiec nie zastapi bramki.
Podniesienie tej zaleznosci bez przepisania joba zamienia realny gate
w dekoracje, i to akurat ten gate, ktory pilnuje czy baseline.sql nie
odjechal od migracji.

Migracja na 0.3.1 jest do zrobienia osobno: API
django_pg_baseline.freshness.check_freshness nadal istnieje, wiec job
da sie przepisac na wlasny prog. Do tego czasu pin jest jawny
(>=0.3.0,<0.3.1) z uzasadnieniem w pyproject.toml, zeby kolejny
dependabot nie przemycil tego po cichu.

Pozostale 21 pakietow bez zmian wobec #758, m.in.:
django-denorm-iplweb 1.12.2 -> 1.14.0, djangorestframework 3.17.2 ->
3.18.0, django-password-policies-iplweb 0.9.0 -> 0.9.4,
django-dynamic-admin-columns 0.5.0 -> 0.6.0, django-multiseek 0.10.2 ->
0.10.3, django-channels-broadcast 0.2.2 -> 0.3.0, ruff 0.16.1 -> 0.16.2.

uv.lock przelokowany uv 0.11.29 (wersja z CI).

Zweryfikowane lokalnie: `manage.py baseline_check --max-delta 50` ->
"Baseline freshness OK" (exit 0), `manage.py check` bez zastrzezen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FPGuzMUWhUHESw6DZTtZkS
@mpasternak
mpasternak merged commit 44e5f7d into dev Aug 13, 2026
40 of 41 checks passed
@mpasternak
mpasternak deleted the deps-grupa-22 branch August 13, 2026 09:57
mpasternak added a commit that referenced this pull request Aug 16, 2026
…c na baseline (#762)

test_tryby_otwarte_maja_prawo_dostepu padal na CI z DoesNotExist trzy razy
(dev 31638171364, PR #757, PR #759) — zawsze w shardzie 0, zawsze przy
zieleni lokalnie. Za kazdym razem trzeba bylo ponawiac shard.

Przyczyna: test czytal Tryb_OpenAccess_Wydawnictwo_Ciagle wprost z bazy,
bez zadania jakiejkolwiek fixtury. Wiersze pochodza z migracji 0028, a
coar_access_right dokłada 0480 — czyli sa w baseline i ZWYKLE sa w bazie.
Transakcyjny flush (TransactionTestCase._fixture_teardown -> TRUNCATE)
zmiata je, a bpp.seed_slowniki odtwarza po post_migrate WYLACZNIE
RodzajJednostki. Czy test zdazy przed takim flushem, decyduje dynamiczny
przydzial testow do workerow (pytest -n auto --dist load) — stad
sporadycznosc przy stalej zawartosci sharda (w shardzie 0 jest 22 plikow
z testami transaction=True).

To ta sama klasa awarii, ktora ten plik juz raz zdiagnozowal dla
charakterow i jezykow — tamte testy dostaly wtedy fixtury
charaktery_formalne / jezyki, a te dwa zostaly pominiete.

Naprawione OBA: test_prawa_patentowe_zmapowane mial identyczna wade i
padal z tego samego powodu, tyle ze dotad nie trafil na niekorzystny
podzial shardow.

Fixtury nie przepisuja wartosci, tylko wolaja funkcje danych z samych
migracji (0028 utworz_dane_openaccess, 0480 wypelnij), wiec nie moga
rozjechac sie z produkcja — to ta sama troska, ktora pilnuja istniejace
test_fixtura_json_zgodna_z_migracja / test_fixtura_jezykow_zgodna_z_migracja.
Wyjatkiem sa prawa patentowe: migracja 0119 uzywa golego create(), a
nazwa jest unique, wiec powtorne wywolanie oryginalu wywalilo by sie na
bazie wypelnionej — stad get_or_create po tej samej liscie z bpp.initial.

Reprodukcja: na bazie testowej bez danych baseline (stan rownowazny temu
po TRUNCATE) z test_mapowania.py padaly DOKLADNIE te dwa testy, a
pozostale 16 przechodzilo — roznica to obecnosc fixtury i nic innego.

Weryfikacja:
* baza pusta (reprodukujaca): 2 failed -> 18 passed; caly cerif_export 390 passed
* baza z baseline (normalna, testcontainers): 390 passed — fixtury sa
  idempotentne, na wypelnionej bazie to no-op

Bez newsfragmentu: zmiana dotyczy wylacznie testow, nie ma efektu
widocznego dla uzytkownika.


Claude-Session: https://claude.ai/code/session_01FPGuzMUWhUHESw6DZTtZkS

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
mpasternak added a commit that referenced this pull request Aug 16, 2026
…ine (#769)

0.3.1 usunal komende `baseline_check`, ktora wola job `baseline-check`
w .github/workflows/tests.yml. Dlatego #758 (dependabot) padal tam z
"Unknown command: 'baseline_check'", a w #759 zaleznosc zostala celowo
przypieta do <0.3.1. Ten commit zdejmuje pin.

Bramka wraca do repo zamiast zniknac. Kuszaca "naprawa" — podmiana
wolania na dostarczane przez pakiet `baseline_info` — dalaby zielen od
reki i po cichu skasowala ochrone: `baseline_info` drukuje te same
delty, ale nie zglasza bledu i ZAWSZE konczy sie zerem. Falszywa zielen
jest gorsza niz czerwony job, bo nikt nie zauwazy, ze baseline.sql
odjechal od migracji.

Nowa komenda `src/bpp/management/commands/baseline_check.py` stoi na
publicznym API pakietu (`django_pg_baseline.freshness.check_freshness`),
ktore przetrwalo zmiane. Nazwa i sygnatura `--max-delta` zachowane, wiec
workflow NIE wymagal zadnej zmiany (linia 191 bez zmian).

Weryfikacja lokalna na 0.3.1:
* `manage.py baseline_check --max-delta 50` -> "Baseline freshness OK",
  exit 0, na realnym repo
* przekroczony prog -> CommandError, exit 1 (sprawdzone realnie, nie
  tylko na mockach)
* 5 testow jednostkowych bramki, w tym sciezka czerwona i tresc
  komunikatu (ma prowadzic do `make baseline-update`, nie do golej
  komendy Django — patrz CLAUDE.md o fix-baseline-search-path)
* komenda jest znajdowana takze przy `uv sync --frozen
  --no-install-project` + `uv run --no-sync`, czyli w warunkach joba CI
  z faktycznie ODINSTALOWANYM bpp-iplweb (manage.py wnosi src/ na
  sys.path)

NIE zweryfikowane lokalnie: szerszy przebieg suity na 0.3.1 — host byl
wysycony rownoleglymi testami z innych worktree i kontener PostgreSQL
trzykrotnie nie wstal w limicie 120 s. Sam fakt, ze testy bramki
przeszly przez testcontainers, dowodzi ze tworzenie testowej bazy na
0.3.1 dziala. Pelna suita: CI.

Bez newsfragmentu: zmiana dotyczy narzedzi CI, bez efektu widocznego dla
uzytkownika.


Claude-Session: https://claude.ai/code/session_01FPGuzMUWhUHESw6DZTtZkS

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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