Skip to content

Switch release builds to macOS Tahoe runner - #2233

Merged
lawrencecchen merged 2 commits into
mainfrom
feat-release-tahoe-runner
Mar 27, 2026
Merged

lawrencecchen merged 2 commits into
mainfrom
feat-release-tahoe-runner

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Mar 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Switch release build runner from warp-macos-15-arm64-6x (Sequoia) to warp-macos-26-arm64-6x (Tahoe) to match nightly
  • Add dry-run artifact upload path for workflow_dispatch so the release pipeline can be tested without creating a real release

Testing


Summary by cubic

Switch release builds from warp-macos-15-arm64-6x (Sequoia) to warp-macos-26-arm64-6x (Tahoe) to match nightly and keep environments consistent. Add a dry-run path for workflow_dispatch that uploads artifacts via actions/upload-artifact; GitHub Release uploads via softprops/action-gh-release now run only for push events on tag refs to prevent accidental releases.

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

Summary by CodeRabbit

  • Chores
    • Updated macOS build runner for CI.
    • Added a conditional artifact upload step for manual workflow runs (dry-run) that uploads build artifacts when enabled.
    • Restricted automated release publishing to tag pushes, preventing non-tag pushes from creating GitHub Releases.

Note: No user-facing changes; updates apply to release automation only.

Use warp-macos-26-arm64-6x for release builds to match nightly. Also add
a dry-run artifact upload path for workflow_dispatch so the release
pipeline can be tested without creating a real release.
@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 3:58am

@coderabbitai

coderabbitai Bot commented Mar 27, 2026 •

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7bb7a2ce-0f34-485e-9c1e-9a0fbd2330eb

📥 Commits

Reviewing files that changed from the base of the PR and between 14ab6ad and a67a3d1.

📒 Files selected for processing (1)
  • .github/workflows/release.yml

📝 Walkthrough

Walkthrough

Updated the release workflow: switched the macOS runner label and added a conditional "Upload build artifacts (dry-run)" step for non-tag workflow_dispatch events; the existing release upload now only runs on tag pushes with uploads enabled.

Changes

Cohort / File(s) Summary
CI/CD Release Workflow
.github/workflows/release.yml
Changed runner from warp-macos-15-arm64-6x to warp-macos-26-arm64-6x. Added conditional "Upload build artifacts (dry-run)" step for workflow_dispatch when skip_upload != 'true' (fails if files missing). Constrained "Upload release asset" to tag pushes (github.event_name == 'push' and startsWith(github.ref, 'refs/tags/')) and skip_upload != 'true'.

Sequence Diagram(s)

sequenceDiagram
    participant Developer
    participant GitHub_Actions as "GitHub Actions\n(release workflow)"
    participant Runner as "macOS Runner\n(warp-macos-26-arm64-6x)"
    participant Artifact_Store as "Actions Artifact\nService"
    participant GitHub_Release as "GitHub Release"

    Developer->>GitHub_Actions: trigger (workflow_dispatch or push)
    GitHub_Actions->>Runner: start job on warp-macos-26-arm64-6x
    Runner->>GitHub_Actions: build artifacts
    alt event == workflow_dispatch AND skip_upload != 'true'
        GitHub_Actions->>Artifact_Store: upload artifacts (dry-run)
    else event == push AND ref is tag AND skip_upload != 'true'
        GitHub_Actions->>Artifact_Store: upload artifacts
        GitHub_Actions->>GitHub_Release: publish release asset
    end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Poem

🐰 A little rabbit on CI logs I peep,
Hopped the runner up a version leap,
Dry-run uploads when tags don't sing,
Tags unlock the release spring,
I nibble carrots while workflows sleep.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately reflects the main change: switching the release build runner from macOS Sequoia to macOS Tahoe, which is the primary purpose of the PR.
Description check ✅ Passed The description covers the two main changes (runner update and dry-run artifact upload), includes testing evidence with a workflow run link, but lacks coverage of the template's Testing section and Checklist items.
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-release-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 makes two targeted improvements to the release workflow: it upgrades the runner from warp-macos-15-arm64-6x (Sequoia) to warp-macos-26-arm64-6x (Tahoe) to keep release builds consistent with nightly, and it adds a dry-run upload step so workflow_dispatch runs can be tested end-to-end without touching an actual GitHub Release.\n\n- Runner change (line 19): straightforward bump from macOS 15 → 26; aligns release with nightly and the linked test run confirms it builds successfully.\n- Dry-run upload step (lines 331-340): triggers only on non-tag refs (!startsWith(github.ref, 'refs/tags/')), uploading the full artifact set to actions/upload-artifact with if-no-files-found: error for visibility.\n- Release upload condition update (line 343): now gated additionally on startsWith(github.ref, 'refs/tags/'), making the two upload steps mutually exclusive — one fires on manual dispatches, the other on version tags.\n- The guard_release_assets logic remains intact: skip_upload == 'true' is still respected by both upload steps, and skip_all == 'true' still short-circuits all build steps before either upload is reached.

Confidence Score: 5/5

Safe to merge — changes are minimal, logic is correct, and a successful dry-run has already been verified.

Both changes are small and well-reasoned. The runner bump is a one-liner. The dry-run/release upload conditions are mutually exclusive and correctly compose with the existing guard outputs. The linked action run confirms the new runner and dry-run path work end-to-end. No security or data-loss risk introduced.

No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/release.yml Runner bumped from macOS 15 (Sequoia) to macOS 26 (Tahoe); dry-run artifact upload step added with correct mutually-exclusive conditions for tag vs non-tag triggers.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Trigger] --> B{Event type?}
    B -->|push: refs/tags/v*| C[Tag push]
    B -->|workflow_dispatch| D[Manual dispatch]

    C --> E[guard_release_assets]
    D --> E

    E -->|skip_all == 'true'| F[Skip all build steps]
    E -->|skip_all != 'true'| G[Build / Sign / Notarize / Attest]

    G -->|skip_upload == 'true'| F
    G -->|skip_upload != 'true' AND not a tag| H[Upload dry-run artifact\nactions/upload-artifact]
    G -->|skip_upload != 'true' AND is a tag| I[Upload release asset\nsoftprops/action-gh-release]

    H --> J[Cleanup keychain]
    I --> J
    F --> J
Loading

Reviews (1): Last reviewed commit: "Switch release 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/release.yml:
- Around line 332-343: The two step conditions using startsWith(github.ref,
'refs/tags/') (the dry-run upload artifact step and the "Upload release asset"
step) must also check github.event_name so a manual workflow_dispatch on a tag
doesn't act like a tag push; update the dry-run step's if (currently:
steps.guard_release_assets.outputs.skip_upload != 'true' &&
!startsWith(github.ref, 'refs/tags/')) to explicitly allow workflow_dispatch
(e.g. github.event_name == 'workflow_dispatch') or non-tag pushes, and change
the Upload release asset step's if (currently:
steps.guard_release_assets.outputs.skip_upload != 'true' &&
startsWith(github.ref, 'refs/tags/')) to require github.event_name == 'push' &&
startsWith(github.ref, 'refs/tags/'); reference the existing conditions and
steps.guard_release_assets.outputs.skip_upload when making these changes.
🪄 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: c80b718b-142e-4fa7-8f55-a96767460884

📥 Commits

Reviewing files that changed from the base of the PR and between 5c7cafe and 14ab6ad.

📒 Files selected for processing (1)
  • .github/workflows/release.yml

Comment thread .github/workflows/release.yml Outdated
Prevents workflow_dispatch triggered on a tag ref from accidentally
uploading real release assets.
@lawrencecchen
lawrencecchen merged commit 9811ea3 into main Mar 27, 2026
14 checks passed
bn-l pushed a commit to bn-l/cmux that referenced this pull request Apr 3, 2026
* Switch release builds to macOS Tahoe runner

Use warp-macos-26-arm64-6x for release builds to match nightly. Also add
a dry-run artifact upload path for workflow_dispatch so the release
pipeline can be tested without creating a real release.

* Gate release upload on event_name, not just ref prefix

Prevents workflow_dispatch triggered on a tag ref from accidentally
uploading real release assets.

---------

Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>

This branch was successfully deployed

1 active deployment
Preview — a67a3d19 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