Skip to content

feat: make test-upgrade (próba generalna migracji) + make zaspawaj-wersje (pin DOCKER_VERSION)#9

Merged
mpasternak merged 11 commits into
mainfrom
feature/test-upgrade-zaspawaj-wersje
Jun 12, 2026
Merged

feat: make test-upgrade (próba generalna migracji) + make zaspawaj-wersje (pin DOCKER_VERSION)#9
mpasternak merged 11 commits into
mainfrom
feature/test-upgrade-zaspawaj-wersje

Conversation

@mpasternak

Copy link
Copy Markdown
Member

Summary

  • make zaspawaj-wersje [TAG=...] — „zaspawanie" wersji obrazów iplweb: zapisuje do $BPP_CONFIGS_DIR/.env DOCKER_VERSION=<tag CalVer>, na którym faktycznie chodzi kontener appserver (nie lokalny tag latest, który po make pull bez recreate może już wskazywać nowszy obraz). Po zaspawaniu nowy obraz wjeżdża tylko jawną decyzją (TAG=). Obrazy spoza rodziny iplweb pozostają nietknięte (są pinowane na sztywno w compose).
  • make test-upgrade [TAG=...] — próba generalna aktualizacji: świeży make db-backup → shadow stack (bpp-shadow-dbserver + bpp-shadow-redis, czysty docker run poza projektem Compose, na osobnej sieci, z przyciętymi limitami zasobów) → pg_restore dumpa → manage.py migrate obrazem-kandydatem z nadpisanym entrypointem. Padnięta migracja zostaje wykryta na kopii produkcyjnych danych, zanim cokolwiek dotknie produkcji. Sukces sprząta shadow; porażka zostawia go do inspekcji (make test-upgrade-clean).
  • scripts/lib-docker-versions.sh — wspólna logika digest↔tag CalVer przez API Docker Huba; kandydat pullowany po tagu wersji, nigdy przez :latest.
  • Testy jednostkowe w konwencji repo (mock curl/docker w PATH, zero sieci): make test-docker-versions — 27/27 PASS. Docs: docs/eksploatacja/komendy.md, CLAUDE.md, make help.

Spec + plan w docs/superpowers/{specs,plans}/2026-06-12-*. Kompatybilność wsteczna: zero nowych wymaganych zmiennych, fallback ${DOCKER_VERSION:-latest} w compose zostaje — host bez zaspawania działa jak dotąd.

Test Plan

  • make test-docker-versions — 27/27 PASS (macOS bash 3.2 / BSD)
  • Istniejące suity: test-letsencrypt, test-validate-env-quotes — zielone
  • mkdocs build --strict — bez błędów
  • Staging: make zaspawaj-wersje na działającym stacku → DOCKER_VERSION zgodny z działającym appserverem
  • Staging: pełny make test-upgrade (sukces + symulowana porażka → shadow zostaje → make test-upgrade-clean)
  • Staging: weryfikacja kodu wyjścia pg_restore na realnej bazie (ewentualne nieszkodliwe błędy typu COMMENT ON EXTENSION — patrz checklist w planie)

🤖 Generated with Claude Code

mpasternak and others added 11 commits June 12, 2026 14:33
…e (pin DOCKER_VERSION)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…curl/docker)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…o appservera

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… nie 11)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…endy.md jako referencja

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… SC2088 false positive (init-configs)

SC2317: print_inspect_help wolane posrednio przez trap ERR.
SC2012: ls -t na kontrolowanych nazwach dumpow (db-backup-<ts>.tar.gz).
SC2088: wzorce case dopasowuja literalna tylde z inputu usera (bez eval) -
false positive wprowadzony na main w 10a44b2, naprawiony tutaj zeby CI
przeszlo na merge'u PR.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mpasternak mpasternak merged commit cc2b4ad into main Jun 12, 2026
5 checks passed
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