From ce2db79ee5b105b6a3bbe875b3e2cd6b7168dad7 Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Sat, 15 Aug 2026 06:26:34 +0200 Subject: [PATCH] fix(ci-trigger): name the inputs a retrigger actually reproduces CONFIG_INPUTS lost modes, sequencing and mode_fail_fast when the deploy modes collapsed into one chunked sweep, but two mirrors of it did not follow. The --run help text enumerates what a retrigger carries over, so it was telling the operator about three inputs the dispatch no longer has. The job-log fixture described a run recording mode_fail_fast, a state the dispatch can no longer produce, which left the log half of config_from_run asserting on an input nobody writes. Co-Authored-By: Claude Opus 5 (1M context) --- cli/administration/deploy/ci/trigger/__main__.py | 2 +- tests/unit/cli/administration/deploy/ci/test_runs.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cli/administration/deploy/ci/trigger/__main__.py b/cli/administration/deploy/ci/trigger/__main__.py index e5df23be6d..4fb62830ac 100644 --- a/cli/administration/deploy/ci/trigger/__main__.py +++ b/cli/administration/deploy/ci/trigger/__main__.py @@ -63,7 +63,7 @@ def main(argv: list[str] | None = None) -> int: metavar="URL|ID", help=( "Run URL or bare run id to reproduce: its configuration (distros, " - "modes, lifecycles, filesystem, sequencing, mode_fail_fast, " + "mode, lifecycles, filesystem, chunk_gate, " "workspace, instructions) is carried over, and with --failed its " "results also pick the apps. A bare id resolves against the current " "branch's repo. With --failed and no --run: the latest deploy run " diff --git a/tests/unit/cli/administration/deploy/ci/test_runs.py b/tests/unit/cli/administration/deploy/ci/test_runs.py index 85a8fc74c3..030c0cb37e 100644 --- a/tests/unit/cli/administration/deploy/ci/test_runs.py +++ b/tests/unit/cli/administration/deploy/ci/test_runs.py @@ -230,7 +230,7 @@ class TestInputsFromJobs(unittest.TestCase): "2026-08-08T10:22:59.5Z whitelist: ", "2026-08-08T10:22:59.5Z priority: " + " ".join(f"web-app-{n}" for n in range(69)), - "2026-08-08T10:22:59.5Z mode_fail_fast: true", + "2026-08-08T10:22:59.5Z chunk_gate: true", "2026-08-08T10:22:59.5Z ##[endgroup]", "2026-08-08T10:22:59.6Z ##[group]Run echo hi", "2026-08-08T10:22:59.6Z priority: not-an-input", @@ -259,7 +259,7 @@ class TestInputsFromJobs(unittest.TestCase): self.assertEqual(len(inputs["priority"].split()), 69) self.assertEqual(inputs["distros"], "arch") self.assertEqual(inputs["whitelist"], "") - self.assertEqual(inputs["mode_fail_fast"], "true") + self.assertEqual(inputs["chunk_gate"], "true") def test_a_run_without_a_called_job_reads_nothing(self) -> None: self.assertEqual(runs.inputs_from_jobs([{"name": "🎲 Pick"}], "o/r"), {})