ci: run macOS tests only post-merge (push event)#1048
Conversation
Move macOS runners out of the PR matrix for test-workspace and test-workspace-features jobs. macOS is now included only on push events (after merge to main), similar to the existing miri job pattern. This speeds up PR feedback without losing macOS coverage. Ref: #1012 (comment) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR updates the CI workflow to avoid running macOS test jobs on pull_request events, while still running them on push to main (i.e., post-merge). This aligns the test matrix behavior with the existing pattern used by the miri job, reducing PR queue time and macOS runner contention.
Changes:
- Updated
test-workspacematrix to includemacos-latestonly forpushevents. - Updated
test-workspace-featuresmatrix to includemacos-latestonly forpushevents.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1048 +/- ##
==========================================
- Coverage 90.60% 89.47% -1.13%
==========================================
Files 461 461
Lines 85494 85494
==========================================
- Hits 77462 76498 -964
- Misses 8032 8996 +964
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
| - ubuntu-24.04-arm | ||
| - macos-latest | ||
| # Include macOS only on push (post-merge) to avoid slowing down PR checks. | ||
| os: ${{ github.event_name == 'push' && fromJSON('["windows-latest","ubuntu-latest","ubuntu-24.04-arm","macos-latest"]') || fromJSON('["windows-latest","ubuntu-latest","ubuntu-24.04-arm"]') }} |
There was a problem hiding this comment.
Mark, nested conditionals dont work on github CI. so back to ternary
There was a problem hiding this comment.
I don't like this kind of incremental complexity. IMO, adding incremental changes like this will eventually make it quite hard to reason about CI.
Is it worth instead having a second CI step for post-merge operations rather than trying to do everything in ci.yml.
Additionally, I currently don't receive any kind of notification for post-merge failures, and our post-merge miri job takes a whopping 45 minutes. Should we instead move to a nightly run and lump everything there?
By big concerns are:
- Keeping
ci.ymlstraight forward. - Ensuring post merge jobs generate signal.
There was a problem hiding this comment.
@arrayka are you ok with moving miri to nightly. I can send PR for that
Move macOS runners out of the PR matrix for test-workspace and test-workspace-features jobs. macOS is now included only on push events (after merge to main), similar to the existing miri job pattern.