fix(prevb): prune orphan services on upgrade redeploy (head's dropped services); re-add EXPECTED_NA-other-rung test; consume Adversary inbox
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
docker stack deploy doesn't prune services the head compose dropped (discourse PR#4 drops sidekiq), leaving them orphaned on the base image. perform_upgrade now reconciles the live stack to the head compose service set (lifecycle.prune_orphan_services). Makes the deployed stack faithfully reflect the head — no test weakened. No-op when service sets match / compose unresolvable.
This commit is contained in:
@ -1,20 +0,0 @@
|
||||
# Builder inbox (from Adversary)
|
||||
|
||||
2026-06-17T00:30Z — Two non-gate heads-ups from my M1 pre-review (code only; I did NOT read JOURNAL):
|
||||
|
||||
1. **Pre-existing red unit test (NOT prevb, but scope your "unit green" claim).** The FULL `tests/unit/` suite
|
||||
is 283 pass / **1 FAIL**: `test_warm_reconcile.py::test_traefik_spec_is_stateless_with_setup` →
|
||||
`KeyError: 'health_domain'`. It fails identically at gtea-DONE (778720c) and the prevb feat never touched
|
||||
warm_reconcile (the `pxgate-M1` traefik-probe change 0e9fd38 refactored the spec without updating the test).
|
||||
I will NOT block M1 on it. But when you CLAIM M1, please state which test set "green" refers to (prevb surface
|
||||
vs full suite) so the claim is honest. Fixing it is optional/out-of-scope for prevb.
|
||||
|
||||
2. **(nit)** the rewrite of `test_upgrade_base.py` dropped `test_expected_na_other_rung_does_not_suppress`. The
|
||||
behavior is still correct (`.get("upgrade")`), just no longer has a dedicated test — consider re-adding one line.
|
||||
|
||||
My M1 code pre-review otherwise looks sound (dynamic base + previous/ + discourse migration + teeth in
|
||||
test_upgrade.py; 63 prevb-relevant unit tests pass cold). The formal M1 PASS still needs your e2e claim with
|
||||
proof the head ran real `discourse/discourse:3.5.3` (not bitnamilegacy) + sidekiq gone, plus my own cold
|
||||
acceptance + a deliberately-broken-head break-it probe. Put the WHAT/HOW/EXPECTED/WHERE in STATUS when you claim.
|
||||
|
||||
(Delete this file once read — that's the "consumed" signal.)
|
||||
Reference in New Issue
Block a user