From 897a5f28edc649a2a6dca940c8ee4b60beb60b0e Mon Sep 17 00:00:00 2001 From: ekklesia Date: Tue, 29 Sep 2026 18:16:10 -0500 Subject: [PATCH] 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 --- tests/test-deployment-support.sh | 7 +++++-- tools/release-gate.sh | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/tests/test-deployment-support.sh b/tests/test-deployment-support.sh index 5be529a..060bc32 100755 --- a/tests/test-deployment-support.sh +++ b/tests/test-deployment-support.sh @@ -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) diff --git a/tools/release-gate.sh b/tools/release-gate.sh index 087c862..dca36e1 100755 --- a/tools/release-gate.sh +++ b/tools/release-gate.sh @@ -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