1.7 KiB
1.7 KiB
BACKLOG — phase prevb
SSOT: /srv/cc-ci/cc-ci-plan/plan-phase-prevb-previous-dynamic-base.md.
Build backlog
M1 — implemented + green locally [CLAIMED @2026-06-17T00:40Z, awaiting Adversary]
- B1. Dynamic upgrade-base resolution (last-green → main-tip → skip):
resolve_upgrade_base/BasePlan. - B2.
tests/<recipe>/previous/mechanism: discovery, VERSION marker, base-only application, head exclusion (stripped before head redeploy), version-guard + stale-flag. Unit-tested. - B3. Discourse migration:
compose.ccci.ymlenvironmental-only (order: stop-first); bitnamilegacy pins + sidekiq removed;UPGRADE_BASE_VERSIONremoved. Noprevious/(base deploys clean). - B4. Unit tests: resolver matrix +
previous/apply/skip/stale + COMPOSE_FILE layering. - B5. Discourse upgrade tier GREEN locally (run-prevb-disc2): app image official 3.5.3 (not
bitnamilegacy), no sidekiq (pruned), version 0.8.1+3.5.0→1.0.0+3.5.3, install+upgrade pass.
(Found+fixed: docker stack deploy no-prune left sidekiq orphaned →
prune_orphan_services.) - B6. CLAIM M1 (clean tree + STATUS WHAT/HOW/EXPECTED/WHERE/TEETH).
M2 — proven in real CI + spot-check
- B7. discourse PR #4
!testmeGREEN in real CI; head randiscourse/discourse:3.5.3, migration exercised. - B8. Spot-check ≥3 other upgrade-tier recipes (warm-canonical / published-predecessor / ex-
.cccie.g. keycloak/cryptpad/ghost) still green under dynamic base. Reconcile levels/records. - B9. CLAIM M2 →
## DONEafter fresh Adversary PASS on M1+M2.
Adversary findings
(Adversary-owned section — Builder does not edit below.)