Switch nightly builds to macOS Tahoe runner - #2231
Conversation
Use warp-macos-26-arm64-6x for nightly builds to get the latest Xcode toolchain. Deployment target stays at 14.0 (Sonoma), so built binaries remain compatible with Sonoma, Sequoia, and Tahoe.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughUpdates the macOS runner environment in the nightly build workflow from version 15 to version 26. No changes to job logic, steps, or build/notarization procedures. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
Greptile SummaryThis PR updates the nightly build workflow's macOS runner from Confidence Score: 5/5This PR is safe to merge — it is a one-line CI runner bump that has already been validated by a successful triggered nightly build. The change is minimal (one field in one file), well-justified, and already smoke-tested end-to-end by the author. Deployment target compatibility is preserved, and no workflow logic is affected. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[push to main / workflow_dispatch] --> B[decide\nubuntu-latest]
B -->|should_build == false| Z[Skip — no new commits]
B -->|should_build == true| C[build-sign-notarize-nightly\nwarp-macos-26-arm64-6x CHANGED]
C --> D[Pre-build HEAD guard]
D -->|not current| Z2[Skip publish]
D -->|still current| E[Select Xcode / Install deps / Build universal app]
E --> F[Post-build HEAD guard]
F -->|not current| Z3[Skip publish]
F -->|still current| G[Inject nightly metadata]
G --> H[Build remote daemon assets]
H --> I[Sign & Notarize app + DMG]
I --> J[Generate Sparkle appcasts]
J --> K{should_publish?}
K -->|No| L[Upload branch artifact]
K -->|Yes| M[Move nightly tag]
M --> N[Publish GitHub Release]
Reviews (1): Last reviewed commit: "Switch nightly builds to macOS Tahoe run..." | Re-trigger Greptile |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/nightly.yml:
- Line 103: The workflows are inconsistent: nightly.yml uses runs-on:
warp-macos-26-arm64-6x while release.yml, ci.yml and build-ghosttykit.yml remain
on macOS 15, causing toolchain/linker mismatches (see zig MachO issue). Decide
and implement one of two fixes: either align all workflows to macOS 26 by
updating runs-on in release.yml, ci.yml and build-ghosttykit.yml to
warp-macos-26-arm64-6x (and verify Zig/linker compatibility), or make nightly
explicitly a forward-compat test by adding a macOS matrix (15 and 26) or
referencing ci-macos-compat.yml so builds/test matrix runs both versions; also
add a short comment in nightly.yml documenting the chosen intent (staged upgrade
vs full upgrade).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: f8b3164f-3653-49ec-a0ff-ff1783c48684
📒 Files selected for processing (1)
.github/workflows/nightly.yml
| needs: decide | ||
| if: needs.decide.outputs.should_build == 'true' | ||
| runs-on: warp-macos-15-arm64-6x | ||
| runs-on: warp-macos-26-arm64-6x |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Find all GitHub Actions workflows using macOS 15 runners
rg -n 'runs-on:\s*warp-macos-15' .github/workflows/Repository: manaflow-ai/cmux
Length of output: 472
🏁 Script executed:
#!/bin/bash
# Get full context of nightly.yml around line 103
echo "=== nightly.yml context around line 103 ==="
sed -n '95,110p' .github/workflows/nightly.yml
echo -e "\n=== Check for other macOS 26 runner references ==="
rg -n 'warp-macos-26' .github/workflows/ || echo "No other macOS 26 runners found"
echo -e "\n=== Check for any documentation on runners ==="
find . -type f -name "*.md" -o -name "*.yml" -o -name "*.yaml" | head -20 | xargs grep -l "warp-macos" 2>/dev/null | head -10
echo -e "\n=== Count occurrences of each runner type ==="
rg -o 'warp-macos-\d+-arm64-6x' .github/workflows/ | sort | uniq -cRepository: manaflow-ai/cmux
Length of output: 1633
🏁 Script executed:
#!/bin/bash
# Examine ci-macos-compat.yml to understand the testing strategy
echo "=== ci-macos-compat.yml content ==="
cat .github/workflows/ci-macos-compat.yml
echo -e "\n=== Check nightly.yml full job context ==="
sed -n '95,125p' .github/workflows/nightly.ymlRepository: manaflow-ai/cmux
Length of output: 9284
Incomplete macOS upgrade: nightly on 26, but release and build pipelines remain on 15.
Nightly now runs on macOS 26 while release.yml, ci.yml, and build-ghosttykit.yml remain on macOS 15. This creates a toolchain mismatch where:
- GhosttyKit (built on macOS 15) is consumed in a macOS 26 environment for nightly builds
- Release builds don't test against the same build environment
- Known zig linker incompatibility on macOS 26 (
zig 0.15.2 MachO linker can't resolve libSystem) suggests the upgrade may be incomplete
The existing ci-macos-compat.yml provides dual-version testing (15 and 26), but clarify the intent: Is this an intentional staged upgrade where nightly tests forward-compatibility, or should all workflows be upgraded together?
🧰 Tools
🪛 actionlint (1.7.11)
[error] 103-103: label "warp-macos-26-arm64-6x" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2025-vs2026", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26-large", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/workflows/nightly.yml at line 103, The workflows are inconsistent:
nightly.yml uses runs-on: warp-macos-26-arm64-6x while release.yml, ci.yml and
build-ghosttykit.yml remain on macOS 15, causing toolchain/linker mismatches
(see zig MachO issue). Decide and implement one of two fixes: either align all
workflows to macOS 26 by updating runs-on in release.yml, ci.yml and
build-ghosttykit.yml to warp-macos-26-arm64-6x (and verify Zig/linker
compatibility), or make nightly explicitly a forward-compat test by adding a
macOS matrix (15 and 26) or referencing ci-macos-compat.yml so builds/test
matrix runs both versions; also add a short comment in nightly.yml documenting
the chosen intent (staged upgrade vs full upgrade).
Use warp-macos-26-arm64-6x for nightly builds to get the latest Xcode toolchain. Deployment target stays at 14.0 (Sonoma), so built binaries remain compatible with Sonoma, Sequoia, and Tahoe. Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
Summary
warp-macos-15-arm64-6x(Sequoia) towarp-macos-26-arm64-6x(Tahoe)Testing
Summary by cubic
Switches nightly builds to the macOS Tahoe runner to use the latest Xcode toolchain, while keeping the deployment target at 14.0 for compatibility with Sonoma, Sequoia, and Tahoe.
Updates the workflow to run on
warp-macos-26-arm64-6xinstead ofwarp-macos-15-arm64-6x.Written for commit ccf1578. Summary will update on new commits.
Summary by CodeRabbit