The deploy now carries the test fleet with it
relay1/2/3 pin `flamenet-relay:prod`, but a container keeps running the image it STARTED with — so every deploy silently left the fleet a build behind. It was eleven days stale when that was first noticed, answering every health check the whole time, while the Android live suite ran against it and reported green about a build production had already moved off. That is the failure worth naming: not an outage, a suite that proves the wrong thing and says it proved the right one. It drifted twice more today, both times within an hour of my own deploys, which is how I know a note in a runbook would not have held. ⚠️ Best-effort on purpose. The fleet is disposable and a production deploy must not fail because a test relay would not come up — but it must not quietly stop matching either, so the outcome is printed either way and `messenger-privacy-check` asserts it independently rather than trusting this step. 659 tests pass. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
7e1792f638
commit
ced401bfa4
@@ -180,3 +180,23 @@ if [ "$EDGE" != "ok" ]; then
|
||||
exit 1
|
||||
fi
|
||||
echo "DEPLOY OK — prod healthy at the edge; rollback available: docker tag flamenet-relay:previous flamenet-relay:prod && docker compose up -d --no-deps relay"
|
||||
|
||||
# 🔴 **Carry the test fleet with production, or the live suites lie.**
|
||||
#
|
||||
# relay1/2/3 pin `flamenet-relay:prod`, but a container keeps running the image
|
||||
# it started with — so every deploy here silently leaves the fleet a build
|
||||
# behind. It was ELEVEN DAYS stale when that was first noticed, answering every
|
||||
# health check the whole time, while the Android live suite ran against it and
|
||||
# reported green about a build production had already moved off.
|
||||
#
|
||||
# ⚠️ Best-effort on purpose. The fleet is disposable and a production deploy
|
||||
# must not fail because a test relay would not come up — but it must also not
|
||||
# quietly stop matching, so the outcome is printed either way and
|
||||
# `messenger-privacy-check` asserts it independently.
|
||||
if [ -d /srv/test/relays ]; then
|
||||
if (cd /srv/test/relays && docker compose up -d >/dev/null 2>&1); then
|
||||
echo "FLEET OK — relay1/2/3 recreated on the image production now runs"
|
||||
else
|
||||
echo "FLEET WARNING — the test fleet did not update; live suites would test the OLD build"
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user