ci: remove the Tart VM runner choices

Merged
TE
2mo ago
+30-269

Summary

Nobody runs the Tart VM pool any more. test-e2e.yml still offered tart-canary, tart-dual and tart-small in its runner dropdown, and test-ios.yml offered tart-ios. Picking one of them queues for a runner that never arrives. A tart-canary run was also mistaken for evidence about the default pool in #14082: its Xcode version and paths differ, so it could never adopt main's DerivedData.

  • Removes the four Tart dropdown choices and their five "Validate Tart … identity" steps (two in test-e2e.yml, three in test-ios.yml).
  • Removes tart-canary from .github/actionlint.yaml and from the focused-test dispatcher's RUNNERS list. tests/test_run_e2e.py already asserts that this list matches the workflow's choices.
  • tests/test_ci_self_hosted_guard.sh no longer requires the Tart choices and no longer exempts them. check_ios_tart_canary is gone. Any tart-* label in a runner position now fails the fleet guard, whose self-test already covers those labels.
  • docs/ci-runners.md and docs/ci/mac-fleet.md drop the Tart pool section, the "restore the self-hosted pool" recipe, and the remaining pointers to it.

Only comments that record past behaviour still mention Tart (ci-macos.yml on node, setup-cmux-tui-rust, the recorder note in test-e2e.yml).

Testing

  • Ran every command in ci-guards.yml, parsed from the YAML (133 commands). All pass except bun test/claude-environment.test.ts, which also fails on main (module path).
  • tests/test_ci_e2e_compilation_cache.py sliced the guard script at check_ios_tart_canary(). It now slices at the next function, and the test passes.
  • actionlint on the three edited workflows reports nothing new. Its one SC2129 note in test-ios.yml is also present on main.

— Camera g1 šŸ› ļø

šŸ¤– Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Removes the unused Tart VM pool from CI. The runner dropdowns in test-e2e.yml and test-ios.yml still offered tart-* choices that queued for runners nobody operates, so selecting one never ran. A tart-canary run was also mistaken for evidence about the default pool because its Xcode and paths differ.

  • Removes the four Tart dropdown choices and their five "Validate Tart identity" steps.
  • Drops tart-canary from .github/actionlint.yaml and the focused-test dispatcher's RUNNERS list.
  • The self-hosted guard no longer requires or exempts Tart choices, so any tart-* label in a runner position now fails it.
  • Updates tests/test_ci_e2e_compilation_cache.py and tests/test_run_e2e.py to slice and reference non-Tart runners.
  • Removes the Tart pool section and "restore the self-hosted pool" recipe from docs/ci-runners.md and docs/ci/mac-fleet.md.
  • Updates the cmux-tui-artifacts.yml comment to reference a cloud label instead of a Tart one.