Repository navigation
ci: route all macOS runners through Blacksmith - #6650
Conversation
Validated head-to-head (warp-macos-15 vs blacksmith-6vcpu-macos-15) that the real app-host unit suite passes on Blacksmith with 0 unexpected failures and no 'Running Background' activation errors. CGVirtualDisplay creation also works on Blacksmith. Blacksmith macOS is functionally equivalent to Warp on every GUI axis tested. - app-host-unit-tests: drop the hardcoded warp-macos-15 pin, route via MACOS_RUNNER_15 (already Blacksmith). - perf-activation: PRs no longer force depot-macos-latest; use MACOS_RUNNER_15. - Flip every workflow fallback default off warp (warp-macos-15-arm64-6x -> blacksmith-6vcpu-macos-15, warp-ubuntu-latest-x64-4x -> blacksmith-4vcpu-ubuntu-2404). Warp/Depot stay as manual workflow_dispatch options. - Display-job default (MACOS_RUNNER_DISPLAY fallback) flipped to Blacksmith; the repo var flip to actually move ui-regressions + tests-build-and-lag lands separately once their head-to-head is green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughAll GitHub Actions workflow files replace ChangesRunner Migration: warp → blacksmith
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 22 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (22 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 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 |
Greptile SummaryThis PR completes the macOS CI migration to Blacksmith by flipping all fallback default runner labels from
Confidence Score: 5/5Safe to merge — all changes are CI runner label defaults with no impact on application code; rollback for any job is a one-line repo-var change. Every change is a mechanical substitution of a runner fallback string. The app-host and display-job migrations were validated head-to-head before this PR. Guard tests in tests/ are updated to match. The MACOS_RUNNER_DISPLAY repo var is intentionally left unchanged so display-heavy jobs continue to route to Warp until the separate head-to-head is complete. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Job Runner Selection] --> B{vars.LINUX_RUNNER set?}
B -- Yes --> C[Use LINUX_RUNNER var]
B -- No --> D[blacksmith-4vcpu-ubuntu-2404]
A --> E{vars.MACOS_RUNNER_15 set?}
E -- Yes --> F[Use MACOS_RUNNER_15 var]
E -- No --> G[blacksmith-6vcpu-macos-15]
A --> H{vars.MACOS_RUNNER_DISPLAY set?}
H -- Yes --> I[Use MACOS_RUNNER_DISPLAY var]
H -- No --> J[blacksmith-6vcpu-macos-15]
A --> K[perf-activation benchmark]
K --> L{inputs.runner auto/unset?}
L -- Yes --> E
L -- No --> M[Use inputs.runner override]
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[Job Runner Selection] --> B{vars.LINUX_RUNNER set?}
B -- Yes --> C[Use LINUX_RUNNER var]
B -- No --> D[blacksmith-4vcpu-ubuntu-2404]
A --> E{vars.MACOS_RUNNER_15 set?}
E -- Yes --> F[Use MACOS_RUNNER_15 var]
E -- No --> G[blacksmith-6vcpu-macos-15]
A --> H{vars.MACOS_RUNNER_DISPLAY set?}
H -- Yes --> I[Use MACOS_RUNNER_DISPLAY var]
H -- No --> J[blacksmith-6vcpu-macos-15]
A --> K[perf-activation benchmark]
K --> L{inputs.runner auto/unset?}
L -- Yes --> E
L -- No --> M[Use inputs.runner override]
Reviews (3): Last reviewed commit: "test: perf-activation benchmark routes v..." | Re-trigger Greptile |
test_ci_self_hosted_guard.sh and test_ci_release_sdk_lane.sh pinned the exact warp-macos-15-arm64-6x fallback string; update to blacksmith-6vcpu-macos-15 to match the flipped workflow defaults. Warp stays in the self-hosted guard's allowed-label set and self-test fixtures. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 2957d14. Configure here.
…, on PRs Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

What
Completes the macOS CI migration to Blacksmith. Linux + most macOS already route through Blacksmith via repo vars; this removes the last Warp/Depot holdouts.
app-host-unit-tests: drop the hardcodedwarp-macos-15-arm64-6xpin, route viaMACOS_RUNNER_15(already Blacksmith).perf-activation: PRs no longer forcedepot-macos-latest; use theMACOS_RUNNER_15var like every other macOS job.warp-macos-15-arm64-6x→blacksmith-6vcpu-macos-15,warp-ubuntu-latest-x64-4x→blacksmith-4vcpu-ubuntu-2404). Warp/Depot remain as manualworkflow_dispatchoptions for one-off overrides.MACOS_RUNNER_DISPLAYfallback default to Blacksmith. The repo var flip that actually movesui-regressions+tests-build-and-laglands separately, once their head-to-head is green.Validation
Ran the real cmux app-host unit suite head-to-head on
warp-macos-15-arm64-6xvsblacksmith-6vcpu-macos-15(shards 1 + 4). All green; Blacksmith executed the full suite with 0 unexpected failures and zeroFailed to activate/Running Backgrounderrors, identical to Warp.Controlled GUI probes also confirmed: CGVirtualDisplay creation works on Blacksmith (1920×1080@60Hz), and Blacksmith matches Warp on every GUI axis tested (only GitHub-hosted runners have a true foreground session, which neither Warp nor Blacksmith uses for these jobs).
Rollout
MACOS_RUNNER_DISPLAYvar).MACOS_RUNNER_DISPLAY=blacksmith-6vcpu-macos-15to moveui-regressions+tests-build-and-lag.Rollback for any job is a one-line repo-var change (no revert needed).
🤖 Generated with Claude Code
Need help on this PR? Tag
/codesmithwith what you need. Autofix is disabled.Note
Medium Risk
Touches every CI job’s runner resolution (including GUI XCTest and signing lanes); mis-routing could break required checks, but overrides stay on repo vars and manual dispatch options.
Overview
Completes the CI runner migration by making Blacksmith the fallback when repo variables (
LINUX_RUNNER,MACOS_RUNNER_15,MACOS_RUNNER_DISPLAY) are unset: Linux jobs move fromwarp-ubuntu-latest-x64-4xtoblacksmith-4vcpu-ubuntu-2404, and macOS jobs fromwarp-macos-15-arm64-6xtoblacksmith-6vcpu-macos-15acrossci.yml, release/nightly, E2E, fuzz, and related workflows.app-host-unit-testsno longer hardcodes Warp; it usesMACOS_RUNNER_15like the other macOS gates.perf-activationstops forcingdepot-macos-lateston pull requests—auto mode followsMACOS_RUNNER_15(Depot remains a manualworkflow_dispatchoverride). Display-heavy jobs (ui-regressions,tests-build-and-lag) get the same Blacksmith fallback in YAML; live routing still follows theMACOS_RUNNER_DISPLAYrepo var until that is flipped separately.Guard tests (
test_ci_change_areas.py,test_ci_release_sdk_lane.sh,test_ci_self_hosted_guard.sh) are updated to expect the new default labels.Reviewed by Cursor Bugbot for commit 2cf8aa5. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by cubic
Routes all macOS CI jobs and Linux fallbacks to Blacksmith by default, removing the last Warp/Depot pins. Manual overrides remain; app-host tests and GUI activation were validated on
blacksmith-6vcpu-macos-15.Refactors
warp-ubuntu-latest-x64-4x→blacksmith-4vcpu-ubuntu-2404; macOSwarp-macos-15-arm64-6x→blacksmith-6vcpu-macos-15(includesMACOS_RUNNER_DISPLAY).app-host-unit-testsnow routes viaMACOS_RUNNER_15;perf-activationandtest-e2estop forcing Depot/Warp and followMACOS_RUNNER_15(auto Blacksmith). Updated help text, cache keys, and concurrency to match.Migration
MACOS_RUNNER_DISPLAY=blacksmith-6vcpu-macos-15to moveui-regressionsandtests-build-and-lag.Written for commit 2cf8aa5. Summary will update on new commits.
Summary by CodeRabbit
Chores
Tests