Repository navigation
ci: drop warp-macos-15-arm64-6x from manual runner dropdowns - #13650
Conversation
`warp-macos-15-arm64-6x` is the paid Warp overflow runner. It is the only Warp label hardcoded anywhere in .github/workflows: every `runs-on:` already resolves through a `vars.MACOS_RUNNER_*` repository variable whose baked-in fallback is a Blacksmith label, and `tests/test_ci_self_hosted_guard.sh` already asserts "no workflow falls back to a Warp runner". These two `workflow_dispatch` dropdowns are the remaining way to put a job on Warp without touching a repository variable. Removing the option leaves `auto` (which follows `MACOS_RUNNER_15`) plus the Blacksmith and Tart choices, so manual E2E and perf-activation dispatches cannot silently re-introduce paid runner minutes once the repository variables are moved back to Blacksmith. No `runs-on:` expression changes, so no job changes runner as a result of this commit. `tests/test_ci_self_hosted_guard.sh` passes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
All contributors have signed the CLA ✍️ ✅ |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
💤 Files with no reviewable changes (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 3 remain after this review. 📝 WalkthroughWalkthroughThe performance activation and E2E test workflows remove ChangesRunner option cleanup
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~3 minutes Change: Other Merge Risk: ⚪ Minimal · up to Manual workflow dispatches no longer offer the paid Warp runner, while the remaining runner choices and job runner expressions are unchanged. The change is mergeable. 🚥 Pre-merge checks | ✅ 25✅ Passed checks (25 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
… runner (#13662) `test-e2e.yml` and `test-depot.yml` are the two dispatch-driven lanes people use to re-run a single test while chasing a flake. Measured over 24h they are 2,731 macOS runner-min/day on the paid overflow provider -- 23.6% of all paid macOS minutes -- and essentially all of it is `workflow_dispatch`, not required CI. Both followed `MACOS_RUNNER_15`, so they inherited the overflow provider whenever that variable pointed at it. Nothing about re-running one test needs the elastic paid pool: these runs are interactive debugging, they are already `cancel-in-progress`, and no merge or release waits on them. Point both at a dedicated `MACOS_RUNNER_TESTS` variable instead. It is unset, so both lanes default to `blacksmith-6vcpu-macos-15` and stop following `MACOS_RUNNER_15` entirely. Setting it restores a provider override for these lanes alone, without touching required CI. `test-e2e.yml`'s concurrency group keys off the same expression, so it moves with the runner to keep one group per resolved runner. Explicit `inputs.runner` choices are untouched: `auto` now resolves to Blacksmith, and the Blacksmith and Tart options still work. `#13650` already removed the overflow label from that dropdown. Scope: `test-depot.yml` is dispatch-only (ci.yml's `tests` job is a separate Linux aggregator), and `test-e2e.yml` is dispatch/workflow_call only. Neither is on the required PR path, so no required check changes runner here. Tests: test_ci_self_hosted_guard.sh, test_ci_workload_profiles.py, test_ci_persistent_mac_compile.py, test_ci_merge_queue_required_checks.py and test_ci_reusable_workflow_permissions.py pass. test_ci_change_areas.py fails identically before and after this change on a shallow clone (it needs HEAD^1) and is unrelated. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
What
Removes
warp-macos-15-arm64-6xfrom the twoworkflow_dispatchrunner dropdowns that still offer it:.github/workflows/test-e2e.yml.github/workflows/perf-activation.ymlNo
runs-on:expression changes, so no job changes runner as a result of this PR.Why
These two dropdown entries are the only hardcoded Warp labels anywhere in
.github/workflows. Everyruns-on:already resolves through avars.MACOS_RUNNER_*repository variable whose baked-in fallback is a Blacksmith label —tests/test_ci_self_hosted_guard.shalready asserts "no workflow falls back to a Warp runner", and that test passes on this branch.That makes these dropdowns the remaining way to put a job on the paid Warp overflow without touching a repository variable. Removing the option leaves
auto(which followsMACOS_RUNNER_15) plus the Blacksmith and Tart choices.Context: this is the guard-rail half of a larger revert
A 24h sample of CI (618 runs → 1,973 jobs, weighted to full run volume) puts ~11,600 macOS runner-minutes/day on Warp, against 5,100/day already on Blacksmith. Warp macOS is the only paid runner line item in this repo — Linux is on Blacksmith, and GitHub-hosted minutes are free for a public repo.
All of that Warp usage comes from repository variables that drifted away from what
docs/ci-runners.mddocuments as their active values, between 2026-09-19 and 2026-09-20:docs/ci-runners.mdMACOS_RUNNER_15tart-macos-15warp-macos-15-arm64-6xMACOS_RUNNER_DUAL_XCODEblacksmith-6vcpu-macos-15warp-macos-15-arm64-6xMACOS_RUNNER_26_NIGHTLY_BUILDblacksmith-12vcpu-macos-26warp-macos-26-arm64-12xMACOS_RUNNER_26_RELEASEblacksmith-6vcpu-macos-26warp-macos-26-arm64-12xMACOS_RUNNER_DISPLAYtart-guiwarp-macos-15-arm64-6xReverting those variables is the part that actually moves the minutes, and it needs repo-admin access. This PR just makes sure the revert sticks — once the variables are back on Blacksmith, a manual E2E or perf-activation dispatch can no longer silently re-introduce paid runner minutes.
Test
./tests/test_ci_self_hosted_guard.shpasses locally, including thetest-e2e.ymldropdown assertions (tart-canary/tart-dual/tart-smalleach exactly once) andno workflow falls back to a Warp runner.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Removes
warp-macos-15-arm64-6xfrom theworkflow_dispatchrunner dropdowns intest-e2e.ymlandperf-activation.yml.These dropdowns were the only way to dispatch a job onto the paid Warp overflow runner without changing a repository variable. Once the
MACOS_RUNNER_*variables are reverted to Blacksmith, manual runs can no longer silently re-introduce paid macOS minutes. Noruns-on:expressions change, so existing jobs keep their runner.tests/test_ci_self_hosted_guard.shcontinues to pass.Written for commit 6f917d2. Summary will update on new commits.
Summary by CodeRabbit
warp-macos-15-arm64-6xoption from the available manual runner choices for performance activation and end-to-end test workflows.