From 89b24acff0428f0c9d8b315b91aa6e5428a64da7 Mon Sep 17 00:00:00 2001 From: ekklesia Date: Tue, 22 Sep 2026 20:33:51 -0500 Subject: [PATCH] fix: the release gate has time to install what the package now depends on MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The validator installs the previous package and then the candidate, two full desktop installs in one container, on a 720s cap with 360s per install. 0.2.6 adds LibreOffice and a dozen font packages — 216MB and 186 packages on top of Plasma — and the run was killed during the PREVIOUS install, before it reached a single assertion. Raised generously rather than to just-enough. This is the gate that has to say "the package is wrong"; one that says "the machine was busy" instead teaches everybody to re-run it until it passes, which is how a gate stops being one. Co-Authored-By: Claude Opus 5 --- tools/validate-trixie-release.sh | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/tools/validate-trixie-release.sh b/tools/validate-trixie-release.sh index 6bb1a47..4f3998d 100755 --- a/tools/validate-trixie-release.sh +++ b/tools/validate-trixie-release.sh @@ -29,7 +29,17 @@ if [[ -n "$previous" ]]; then docker_args+=( -v "$previous:/packages/previous.deb:ro" ) fi -timeout --signal=TERM --kill-after=15s 720s \ +# 720s was enough while this package's heaviest dependency was Plasma. +# 0.2.6 adds LibreOffice and a dozen font packages for Presentations, and +# the run installs the PREVIOUS package as well as the candidate, so the +# container now does two full desktop installs. Measured: the previous +# install alone ran past 360s on the development VM and the whole run was +# killed before it reached a single assertion. +# +# Generous rather than tight, on purpose. This is the gate that has to +# say "the package is wrong", and a gate that says "the machine was busy" +# instead teaches everybody to re-run it until it passes. +timeout --signal=TERM --kill-after=15s 2700s \ docker "${docker_args[@]}" debian:trixie-slim \ bash -s -- "${previous:+/packages/previous.deb}" <<'CONTAINER' set -Eeuo pipefail @@ -74,12 +84,12 @@ run_logged() { fi } -run_logged apt-update 120 apt-get update -qq +run_logged apt-update 300 apt-get update -qq previous="${1:-}" if [[ -n "$previous" ]]; then - run_logged previous-install 360 apt-get install -y -qq "$previous" + run_logged previous-install 1200 apt-get install -y -qq "$previous" cat > /etc/ekklesia-classroom/device.conf <<'CONFIG' # Configuration carried forward from 0.1.36 @@ -96,7 +106,7 @@ CUSTOM_SETTING=preserve-me-too CONFIG fi -run_logged candidate-install 360 apt-get install -y -qq /packages/candidate.deb +run_logged candidate-install 1200 apt-get install -y -qq /packages/candidate.deb command -v nmtui >/dev/null command -v lpadmin >/dev/null @@ -387,7 +397,7 @@ if [[ -n "$previous" ]]; then [[ "$(grep -c "^${setting}=" /etc/ekklesia-classroom/device.conf)" -eq 1 ]] done - run_logged candidate-reinstall 360 \ + run_logged candidate-reinstall 900 \ apt-get install --reinstall -y -qq /packages/candidate.deb # An install that changes nothing must change nothing.