ci(fast-checks): admission checkout includes github_spend.py, which the pinned picker imports

Merged
TE
3d ago
+9-2

Every fast-checks.yml run fails in its admit step right now, so nothing that runs through cmux-ci test can run at all. The error:

File ".fast-checks-tools/scripts/ci/pr_runner_pool.py", line 312, in <module>
    import github_spend
ModuleNotFoundError: No module named 'github_spend'

(run 41763354813, and every fast-checks run since #34428 landed on main.)

#34428 pinned main's admission helper at 159a7019916 (#34270). At that revision pr_runner_pool.py imports github_spend when it loads, but the admit step's sparse checkout lists only fast_checks_runner.py and pr_runner_pool.py. This adds github_spend.py. It also adds the two modules the picker imports on its warm-distance path (warm_distance.py, owned_warm_state.py), so that path doesn't hit the same error later.

Test

tests/test_ci_fast_checks_failover.py now asserts that the admission checkout includes github_spend.py.

  • Base (main f2d22e3dd97): python3 -m unittest test_ci_fast_checks_failover → FAILED (failures=1) on test_admission_job_is_a_read_only_live_picker.
  • Head: 21 tests OK.

Observed / Not run

  • Ran: the unittest above on base and head. Separately, extracted the five files at 159a7019916 into an empty directory and imported fast_checks_runner, warm_distance and owned_warm_state; all imported OK.
  • Not run: a live fast-checks dispatch on this head (the workflow runs from main, so only a merge shows it).

Changelog

none

🤖 Generated with Claude Code

Agent session: agent session


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes the fast-checks admission step, which has been failing on every run since the picker was pinned to a revision that imports github_spend.py at load. Expanding the sparse checkout to include the missing module (plus the two warm-routing modules the picker imports on its distance path) lets cmux-ci test runs proceed past admission again.

  • Adds scripts/ci/github_spend.py, scripts/ci/warm_distance.py, and scripts/ci/owned_warm_state.py to the admission checkout in fast-checks.yml.
  • Updates test_ci_fast_checks_failover.py to assert the admission checkout includes github_spend.py.

Summary by CodeRabbit

  • Chores
    • Updated the admission check’s limited checkout to include additional files required by the runner picker.
    • Updated a check to verify that the additional file is included.