fix: the gate installs a fresh machine as the stable room it is

A fresh device.conf says CHANNEL=stable, and the gate asked the fresh
install's updater about canary's manifest, which that machine never reads.
Found running the gate on 0.2.6.6: the updater check failed before any
upgrade was tried. The package was not at fault.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
ekklesia
2026-09-29 18:16:10 -05:00
co-authored by Claude Opus 5.5
parent 1a338b2d38
commit 897a5f28ed
2 changed files with 9 additions and 3 deletions
+5 -2
View File
@@ -272,8 +272,11 @@ check("the repository copy is proven to be the gated file",
gate = (root / "tools/release-gate.sh").read_text()
gate_code = "\n".join(line for line in gate.splitlines()
if not line.lstrip().startswith("#"))
check("the gate runs a fresh install",
'"$ROOT/tools/validate-trixie-release.sh" "$candidate"\n' in gate_code)
check("the gate runs a fresh install, as the stable room a new machine is",
'env VALIDATION_CHANNEL=stable \\\n "$ROOT/tools/validate-trixie-release.sh" "$candidate"\n'
in gate_code)
check("which is what a fresh device.conf says",
"CHANNEL=stable" in (root / "lib/classroom_config.py").read_text())
check("and the upgrade from what canary and stable serve, as rooms of each",
"for channel in canary stable" in gate_code
and 'VALIDATION_CHANNEL="$channel"' in gate_code)
+4 -1
View File
@@ -118,7 +118,10 @@ run() {
record "PASS $label ($(( (SECONDS - started) / 60 )) min)"
}
run "fresh install of $version" \
# A new machine is a stable room: that is what a fresh device.conf says,
# so that is the manifest its updater is asked about.
run "fresh install of $version (a new machine, on stable)" \
env VALIDATION_CHANNEL=stable \
"$ROOT/tools/validate-trixie-release.sh" "$candidate"
for channel in canary stable; do