claim(prevb): M1 — dynamic base + previous/ + discourse migration; discourse upgrade GREEN locally (head=official 3.5.3, sidekiq pruned)
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@ -4,22 +4,17 @@ SSOT: `/srv/cc-ci/cc-ci-plan/plan-phase-prevb-previous-dynamic-base.md`.
|
||||
|
||||
## Build backlog
|
||||
|
||||
### M1 — implemented + green locally
|
||||
- [ ] B1. Dynamic upgrade-base resolution: last-green (warm canonical registry version) → fallback
|
||||
target-branch (`main`) tip → else skip (declared reason). Replace the static
|
||||
`previous_version(vers[-2])` default in `run_recipe_ci.upgrade_base`. Wire into `main()` deploy.
|
||||
- [ ] B2. `tests/<recipe>/previous/` mechanism: discovery, declared-target-version marker, base-only
|
||||
application (added to base deploy's COMPOSE_FILE), head exclusion (never applied to PR head),
|
||||
version-guard + stale-flag on mismatch.
|
||||
- [ ] B3. Discourse migration: shrink `compose.ccci.yml` to environmental-only
|
||||
(`order: stop-first`), delete bitnamilegacy image pins + sidekiq block; remove
|
||||
`UPGRADE_BASE_VERSION` from `tests/discourse/recipe_meta.py`. (Expect NO `previous/`.)
|
||||
- [ ] B4. Unit tests for the new surface: base resolution (last-green / main-tip / skip), `previous/`
|
||||
match / skip / stale, environmental-vs-version overlay layering. Update `test_upgrade_base.py`
|
||||
to the new resolver API without weakening coverage.
|
||||
- [ ] B5. Discourse upgrade tier GREEN locally: base (bitnamilegacy:3.5.0) → head; assert deployed
|
||||
`app` image == `discourse/discourse:3.5.3` (NOT bitnamilegacy) and no `sidekiq` service post-deploy.
|
||||
- [ ] B6. CLAIM M1 (clean tree + STATUS verification block).
|
||||
### M1 — implemented + green locally [CLAIMED @2026-06-17T00:40Z, awaiting Adversary]
|
||||
- [x] B1. Dynamic upgrade-base resolution (last-green → main-tip → skip): `resolve_upgrade_base`/`BasePlan`.
|
||||
- [x] B2. `tests/<recipe>/previous/` mechanism: discovery, VERSION marker, base-only application,
|
||||
head exclusion (stripped before head redeploy), version-guard + stale-flag. Unit-tested.
|
||||
- [x] B3. Discourse migration: `compose.ccci.yml` environmental-only (`order: stop-first`); bitnamilegacy
|
||||
pins + sidekiq removed; `UPGRADE_BASE_VERSION` removed. No `previous/` (base deploys clean).
|
||||
- [x] B4. Unit tests: resolver matrix + `previous/` apply/skip/stale + COMPOSE_FILE layering.
|
||||
- [x] 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`.)
|
||||
- [x] B6. CLAIM M1 (clean tree + STATUS WHAT/HOW/EXPECTED/WHERE/TEETH).
|
||||
|
||||
### M2 — proven in real CI + spot-check
|
||||
- [ ] B7. discourse PR #4 `!testme` GREEN in real CI; head ran `discourse/discourse:3.5.3`, migration exercised.
|
||||
|
||||
Reference in New Issue
Block a user