fix(ci): start fast checks on fleet Linux

Closed
TE
4d ago
+33-34

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 input is validated against that declared set, and the default never names a Blacksmith size.

The workflow's read-only checkout and permissions are unchanged. tests/test_ci_fast_checks_failover.py and tests/test_ci_runner_set.py enforce fleet-first ordering and reject a Blacksmith-only route.

Prior art: cmux #29757 (the equivalent feat-cmux-next change), HQ #5751 (JIT 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_failover.py tests/test_ci_runner_set.py.

Agent session: agent session
🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated runner selection for fast checks to support the fleet runner and listed Blacksmith runners, with the fleet runner as the fallback.
    • Updated CI runner selection and checks to reflect the current runner configuration.