retest-floating: check what the bench brings (docker, python3), not what the sync puts there (R-749)
gates / gates (push) Successful in 1s

The check asked for /opt/upg/upgrade-test.py before sync_bench() copies it, so a bench freshly created by the
runbook was refused in one minute (2026-10-01). After the sync, the file is now required.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-10-01 07:17:49 +02:00
parent efd492d0bb
commit 9e53205938
+5 -3
View File
@@ -95,9 +95,11 @@ def bench(script, timeout=3600):
def prerequisites():
missing = []
r = bench("test -f /opt/upg/upgrade-test.py && echo bench-ok", timeout=120)
# R-749: ask for what the bench must BRING (docker, python3) — /opt/upg is what sync_bench() puts there AFTER this
# check; asking for it here refused every freshly created bench.
r = bench("command -v docker >/dev/null && command -v python3 >/dev/null && docker info >/dev/null 2>&1 && echo bench-ok", timeout=120)
if "bench-ok" not in (r.stdout or ""):
missing.append("the bench LXC %s on %s with /opt/upg (runbook §2)" % (BENCH_CT, BENCH_HOST))
missing.append("the bench LXC %s on %s with docker and python3 (runbook §2)" % (BENCH_CT, BENCH_HOST))
if not os.path.isdir(os.path.join(DRILL, ".git")):
missing.append("the drill checkout at %s (runbook §3)" % DRILL)
if not os.path.isfile(os.path.join(os.environ.get("SC", os.path.expanduser("~/.felhom-retest")), ".ctlpw")):
@@ -202,7 +204,7 @@ def main(argv):
print("CANNOT START — missing: " + "; ".join(missing))
return 2
s = sync_bench()
if "synced" not in (s.stdout or ""):
if "synced" not in (s.stdout or "") or "bench-ok" not in (bench("test -f /opt/upg/upgrade-test.py && echo bench-ok", timeout=120).stdout or ""):
print("CANNOT START — the bench could not be synced: " + (s.stdout + s.stderr).strip()[-200:])
return 2
results = []