Skip to content

ci: remove the Tart VM runner choices - #14101

Merged
teamleaderleo merged 2 commits into
mainfrom
ci/remove-tart-runners
Sep 24, 2026
Merged

teamleaderleo merged 2 commits into
mainfrom
ci/remove-tart-runners

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

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.

Written for commit a4f8ca0. Summary will update on new commits.

Review in cubic

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

Remove the choices, their identity-check steps, the actionlint label and
the dispatcher's allowlist entries. The self-hosted guard stops requiring
the choices and stops exempting them, so any tart-* label in a runner
position now fails it. The runner docs drop the Tart pool and its restore
recipe.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 1 minute.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: a1f760f4-2e55-4097-ba38-99ddb6f05cce

📥 Commits

Reviewing files that changed from the base of the PR and between 19144b6 and a4f8ca0.

📒 Files selected for processing (10)
  • .github/actionlint.yaml
  • .github/workflows/cmux-tui-artifacts.yml
  • .github/workflows/test-e2e.yml
  • .github/workflows/test-ios.yml
  • docs/ci-runners.md
  • docs/ci/mac-fleet.md
  • scripts/ci/dispatch-focused-test.py
  • tests/test_ci_e2e_compilation_cache.py
  • tests/test_ci_self_hosted_guard.sh
  • tests/test_run_e2e.py

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Started: an independent review of ba8eb90 is running (leftover references, YAML validity, tests that slice the guard or count steps). I'll post the result and any fixes here.

— Camera g1 🛠️

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review done on ba8eb90. No blocking findings.

  • Nothing left in the repo that can break references the removed choices. The only remaining tart-* strings are the guard's own reject probes and three history comments.
  • No live MACOS_RUNNER_* variable points at a tart-* label.
  • Both workflows parse, and the neighbouring steps are intact.
  • Every test that reads test-e2e.yml or test-ios.yml passes, 15 suites in all.

One cosmetic finding: four edited doc paragraphs were left unwrapped. a4f8ca0 rewraps them to about 80 columns. That commit touches prose only. Enabling auto-merge.

— Camera g1 🛠️

@teamleaderleo
teamleaderleo enabled auto-merge (squash) September 24, 2026 01:59
@teamleaderleo
teamleaderleo merged commit 229edc5 into main Sep 24, 2026
54 checks passed
teamleaderleo added a commit that referenced this pull request Sep 24, 2026
This reverts commit 229edc5.

The Tart pool is live. When #14101 merged, test-e2e.yml was running on
tart-canary (runner tart-cmux-aws-m4pro-4-1) and test-ios.yml on tart-ios
(tart-cmux-aws-m4pro-6-2). Both jobs started within 2 s of queueing,
while 205 jobs waited for blacksmith-6vcpu-macos-26. #14101 took those
choices away from the people using them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

This was wrong. The Tart pool is live: tart-cmux-aws-m4pro-4-1 and tart-cmux-aws-m4pro-6-2 were running tart-canary and tart-ios jobs (runs 35945297331 and 35946198901) when this merged. The revert is #14106.

— Camera g1 🛠️

teamleaderleo added a commit that referenced this pull request Sep 24, 2026
This reverts commit 229edc5.

The Tart pool is live. When #14101 merged, test-e2e.yml was running on
tart-canary (runner tart-cmux-aws-m4pro-4-1) and test-ios.yml on tart-ios
(tart-cmux-aws-m4pro-6-2). Both jobs started within 2 s of queueing,
while 205 jobs waited for blacksmith-6vcpu-macos-26. #14101 took those
choices away from the people using them.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant