Skip to content

Switch nightly builds to macOS Tahoe runner - #2231

Merged
lawrencecchen merged 1 commit into
mainfrom
feat-nightly-tahoe-runner
Mar 27, 2026
Merged

lawrencecchen merged 1 commit into
mainfrom
feat-nightly-tahoe-runner

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Mar 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Switch nightly build runner from warp-macos-15-arm64-6x (Sequoia) to warp-macos-26-arm64-6x (Tahoe)
  • Gets latest Xcode toolchain for nightly builds
  • Deployment target stays at 14.0, so binaries remain compatible with Sonoma, Sequoia, and 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-6x instead of warp-macos-15-arm64-6x.

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

Summary by CodeRabbit

  • Chores
    • Updated the build environment for nightly releases.

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.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@vercel

vercel Bot commented Mar 27, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cmux Ready Ready Preview, Comment Mar 27, 2026 2:28am

@coderabbitai

coderabbitai Bot commented Mar 27, 2026 •

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Updates 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

Cohort / File(s) Summary
GitHub Actions Workflow Configuration
.github/workflows/nightly.yml
Updated runs-on for the build-sign-notarize-nightly job from warp-macos-15-arm64-6x to warp-macos-26-arm64-6x.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • cmux#1501: Prior update to the same nightly workflow runner configuration, migrating to warp-macos-15-arm64-6x; this PR continues the version upgrade path.

Poem

🐰 A whisker twitch, a runner's leap,
From fifteen to twenty-six so deep,
The nightly builds now race with speed,
On newer macOS they proceed! 🚀

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main change: switching the nightly build runner from macOS Sequoia to macOS Tahoe.
Description check ✅ Passed The description covers the Summary and Testing sections from the template with clear context about the change and verification link, though Demo Video and Checklist sections are omitted.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat-nightly-tahoe-runner

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 and usage tips.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

@greptile-apps

greptile-apps Bot commented Mar 27, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR updates the nightly build workflow's macOS runner from warp-macos-15-arm64-6x (Sequoia) to warp-macos-26-arm64-6x (Tahoe) to get the latest Xcode toolchain for nightly builds. The deployment target remains at macOS 14.0, so produced binaries stay compatible with Sonoma, Sequoia, and Tahoe.\n\n- Single-line change in .github/workflows/nightly.yml swapping the runs-on value for the build-sign-notarize-nightly job\n- The decide gating job and all other logic are unchanged\n- The author already validated the Tahoe runner successfully via a manually triggered nightly build\n- No impact on the build matrix, signing, notarization, or publication steps

Confidence Score: 5/5

This 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

Filename Overview
.github/workflows/nightly.yml Runner updated from warp-macos-15-arm64-6x to warp-macos-26-arm64-6x; all other steps (decide gate, build, sign, notarize, publish) are unchanged and correct.

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]
Loading

Reviews (1): Last reviewed commit: "Switch nightly builds to macOS Tahoe run..." | Re-trigger Greptile

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 30cb371 and ccf1578.

📒 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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 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 -c

Repository: 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.yml

Repository: 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).

@lawrencecchen
lawrencecchen merged commit 5c7cafe into main Mar 27, 2026
20 checks passed
@lawrencecchen
lawrencecchen deleted the feat-nightly-tahoe-runner branch March 27, 2026 03:43
bn-l pushed a commit to bn-l/cmux that referenced this pull request Apr 3, 2026
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>

This branch was successfully deployed

1 active deployment
Preview — ccf15782 Deployed Mar 27, 2026 by vercel[bot]
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