Skip to content

ci: remove the nightly Mac mini lane; nightlies build on Blacksmith - #14243

Merged
teamleaderleo merged 1 commit into
mainfrom
ci/remove-nightly-mini-lane
Sep 24, 2026
Merged

teamleaderleo merged 1 commit into
mainfrom
ci/remove-nightly-mini-lane

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

Why

Leo decided there is no separate nightly lane and no nightly fallback path. Routing for every job will be std mini > light mini > Blacksmith > GitHub-hosted once Glaeda owns it (glaeda#1174). Until then nightlies build on Blacksmith, as they did before #14208.

What is removed

This reverts #14208, #14223 and #14233:

  • .github/workflows/nightly-mini-build.yml
  • scripts/ci/nightly_mini_route.py and tests/test_nightly_mini_route.py
  • nightly.yml: the route-nightly-mini job, the mac_mini dispatch input, the Adopt owned-Mac products step and the !cancelled() / explicit-result gates the optional route job needed. nightly.yml now matches its pre-lane version exactly, plus the later nightly Sparkle key change (ci: let the nightly channel sign with its own Sparkle key #14215).
  • check_nightly_mini_lane, the nightly-mini-build.yml exemption and the cmux-nightly-mini probes in tests/test_ci_self_hosted_guard.sh; the route test step in ci-guards.yml; the registry, change-area and guard-group entries; the matching expectations in tests/test_nightly_universal_build.sh
  • NIGHTLY_MAC_MINI and "Nightly lane" text in CLAUDE.md, docs/ci-runners.md and docs/ci/mac-fleet.md. mac-fleet.md keeps one line: nightlies run on Blacksmith until Glaeda routing (glaeda#1174) sends every job std > light > Blacksmith > GitHub-hosted.

Signing, notarization and publication are untouched. scripts/ci/mini_dispatch.py does not exist on main (#14232 adds it), so there is nothing to remove there.

Overlap with #14232

#14232 (draft) keeps the nightly route and moves its helpers into scripts/ci/mini_dispatch.py. Whichever lands second drops nightly_mini_route.py, tests/test_nightly_mini_route.py and the nightly parts of mini_dispatch.py. Hunks here touch only nightly-lane lines; the persistent compile text in the same files is left as is.

After merge (not in this PR)

Delete the cmux-nightly-mini runner group, the cmux15-nightly runner registration and the NIGHTLY_MAC_MINI* repository variables.

Tests

Run locally, all passing: tests/test_nightly_universal_build.sh, tests/test_ci_self_hosted_guard.sh, tests/test_ci_change_areas.py, tests/test_ci_test_execution_registry.py, scripts/ci/validate_test_execution_registry.py, tests/test_ci_workflow_guards_are_wired.py, tests/test_ci_workflow_run_sources.py, tests/test_ci_fork_runner_routing.py, tests/test_runner_label_policy.py, tests/test_ci_persistent_mac_compile.py, and actionlint over all workflows.

🤖 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 nightly owned-Mac mini lane; nightlies now build on Blacksmith until Glaeda routing (glaeda#1174) sends every job std > light > Blacksmith > GitHub-hosted. This reverts #14208, #14223 and #14233.

Removed

  • .github/workflows/nightly-mini-build.yml, scripts/ci/nightly_mini_route.py and their tests.
  • The route-nightly-mini job, mac_mini dispatch input and product-adoption step, which return nightly.yml to its pre-lane state plus the nightly Sparkle key change.
  • The lane's CI guard, self-hosted fleet exemption and registry entries.
  • The NIGHTLY_MAC_MINI and "Nightly lane" docs, keeping one line in mac-fleet.md stating nightlies build on Blacksmith until Glaeda routing.

Signing, notarization and publication are unchanged. After merge, delete the cmux-nightly-mini runner group, the nightly runner registration and the NIGHTLY_MAC_MINI* repository variables.

Written for commit 85908a3. Summary will update on new commits.

Review in cubic

Reverts the owned-Mac nightly route (#14208, #14223, #14233). There is
no separate nightly lane or fallback: nightlies build on Blacksmith until
Glaeda routing (glaeda#1174) sends every job std > light > Blacksmith >
GitHub-hosted.

nightly.yml is back to its pre-lane Blacksmith path, keeping the later
nightly Sparkle key change (#14215). Signing, notarization and
publication are unchanged.

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

cursor Bot commented Sep 24, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

@coderabbitai

coderabbitai Bot commented Sep 24, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 2 minutes.

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: 04769ee5-7193-4e37-ade1-8a7a8fd6fa87

📥 Commits

Reviewing files that changed from the base of the PR and between 1ecdcf9 and 85908a3.

📒 Files selected for processing (13)
  • .github/workflows/ci-guards.yml
  • .github/workflows/nightly-mini-build.yml
  • .github/workflows/nightly.yml
  • CLAUDE.md
  • docs/ci-runners.md
  • docs/ci/mac-fleet.md
  • scripts/ci/detect_ci_change_areas.py
  • scripts/ci/nightly_mini_route.py
  • scripts/ci/workflow_guard_groups.py
  • tests/test-execution.toml
  • tests/test_ci_self_hosted_guard.sh
  • tests/test_nightly_mini_route.py
  • tests/test_nightly_universal_build.sh

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
teamleaderleo merged commit d91497d into main Sep 24, 2026
55 of 56 checks passed
teamleaderleo added a commit that referenced this pull request Sep 24, 2026
The pilot retirement kept scripts/ci/mini_dispatch.py for the nightly
mini route, which #14243 has since removed. Delete the helper, its test
and their registrations, and stop describing either lane as a direct-host
exception.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Sep 24, 2026
The pilot retirement kept scripts/ci/mini_dispatch.py for the nightly
mini route, which #14243 has since removed. Delete the helper, its test
and their registrations, and stop describing either lane as a direct-host
exception.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Sep 24, 2026
* ci: retire the persistent Mac PR compile pilot

The pilot never routed a pull request: CI_PERSISTENT_MAC_COMPILE is unset
and every router run exited on it. Owned minis will serve pull request
jobs through the pool picker (scripts/ci/pr_runner_pool.py, #14205)
instead, in a follow-up that adds them to POOLS.

Removed: persistent-macos-compile.yml, persistent-macos-router.yml,
persistent_mac_route.py, run-persistent-mac-compile.py,
persistent_compile_fleet.py, scripts/persistent-compile and their tests;
the route request steps in ci.yml; the observe, download and revalidate
steps in ci-macos.yml, with the source_identity_valid and source_tree
inputs only they read; the producer exemption in the fleet-runner guard.

Kept: the nightly owned-Mac route. The helpers nightly_mini_route.py
loaded from persistent_mac_route.py move to scripts/ci/mini_dispatch.py
unchanged apart from dropping the PR-only dispatch method, with their
RetryWait tests in tests/test_ci_mini_dispatch.py.

With CI_PERSISTENT_MAC_COMPILE unset the removed steps were all skipped,
so hosted compile admission behaves as before. Its metrics artifact drops
the pilot-only fields and moves to schema_version 2.

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

* docs: link the pilot retirement PR in mac-fleet.md

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

* ci: drop the owned-Mac dispatch helper now that no lane uses it

The pilot retirement kept scripts/ci/mini_dispatch.py for the nightly
mini route, which #14243 has since removed. Delete the helper, its test
and their registrations, and stop describing either lane as a direct-host
exception.

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

* docs: drop stale owned-Mac producer and pilot mentions

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

* docs: count #14244's owned-pool guard in the capability-label plan

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

* ci: refuse the retired pilot's bare label, and say how minis take PR jobs

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

---------

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