fix(ci): start fast checks on fleet Linux
Leo asked: “WHY ARE TEST RUNS EVEN GETTING F***ING STUCK” and “I hate pins.”
The dispatch-only fast-checks workflow used a Blacksmith pool variable as its default, so lane cmux-ci runs could queue indefinitely on a stalled Blacksmith size. It now starts on the GCP JIT fleet label cmux-fleet-linux-x64; the broker can still select the declared Blacksmith labels as bounded overflow after a stall. The ci.yml changes job also resolves through fromJSON(vars.RUNNER_POOLS).linux, with fork routing preserved.
The runner input is validated against the declared fleet and overflow set. tests/test_ci_fast_checks_fleet.py, tests/test_ci_fast_checks_failover.py and tests/test_ci_runner_set.py run in the CI guard; the latter rejects a literal Blacksmith-only route and asserts the changes job uses the live Linux pool.
Prior art: cmux #29757 (equivalent feat-cmux-next change), HQ issue #5751 (“Nightly GCP JIT routing needs actual demand and bounded no-start overflow”), and the existing cmux-fleet-linux-x64 group declaration.
Validation: fleet cmux-ci test -- python3 -m unittest tests/test_ci_fast_checks_fleet.py tests/test_ci_fast_checks_failover.py tests/test_ci_runner_set.py.
Agent session: agent session
🤖 Generated with Claude Code
Summary by CodeRabbit
- Chores
- Updated automated checks to use approved Linux runners, with a fleet runner as the default and supported Blacksmith runners available as overflow.
- Adjusted runner selection across workflows and updated validation to reflect the new configuration.
- No changes to end-user features or behavior.