test: rehearse the stable rooms' upgrade on every canary, and list Sunday's checks
update_canary.sh now also validates the exact package it is about to publish as an upgrade from whatever stable names — 0.2.2 today, several releases behind the laptop's canary. A package that upgrades the laptop and breaks the desktops has to fail before it is published. The lab print check runs in the Plasma lab as well as a plain container: its rig lived in /tmp, which is a tmpfs there that docker cp cannot write into, and its inline-PDF server shared a port with another test server. docs/testing.md has the physical checks for 0.2.6.1 — paper through Elmer, the real keyboard's zoom keys, the machine's graphics through --diagnose, sign-out with a real account — before stable moves. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
88ea3e86fd
commit
1d9da3bca0
@@ -56,6 +56,25 @@ fi
|
||||
|
||||
"$ROOT/tools/validate-trixie-release.sh" "${validation_args[@]}"
|
||||
|
||||
# And the stable rooms' own path, on the same file. Every canary is a
|
||||
# stable release in waiting, and the desktops are not on the previous
|
||||
# canary: they are on whatever stable names, which can be several
|
||||
# releases back (0.2.2 under 0.2.6.1). A package that upgrades the
|
||||
# laptop and breaks the desktops has to fail here, not on a Sunday.
|
||||
if [[ -f "$RELEASE_LOCAL/stable/manifest.json" ]]; then
|
||||
stable_package_name="$(python3 -c \
|
||||
'import json, sys; print(json.load(open(sys.argv[1]))["package"].rsplit("/", 1)[-1])' \
|
||||
"$RELEASE_LOCAL/stable/manifest.json")"
|
||||
stable_package="$RELEASE_LOCAL/packages/$stable_package_name"
|
||||
|
||||
if [[ -f "$stable_package" && "$stable_package" != "${validation_args[1]:-}" ]]; then
|
||||
echo
|
||||
echo "Rehearsing the stable rooms' upgrade from $stable_package_name"
|
||||
VALIDATION_CHANNEL=stable \
|
||||
"$ROOT/tools/validate-trixie-release.sh" "$package_path" "$stable_package"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Checked again after the gate, which takes long enough for somebody else
|
||||
# to have published in the meantime.
|
||||
release_check_new_version "$version"
|
||||
|
||||
Reference in New Issue
Block a user