Skip to content

Run the macOS jobs on a single OS version - #3513

Open
justsmth wants to merge 1 commit into
aws:mainfrom
justsmth:macos-drop-redundant-llvm22-cell
Open

Run the macOS jobs on a single OS version#3513
justsmth wants to merge 1 commit into
aws:mainfrom
justsmth:macos-drop-redundant-llvm22-cell

Conversation

@justsmth

@justsmth justsmth commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Context and motivation

macOS has the smallest concurrency ceiling of any GitHub-hosted runner pool, and it is the only one a dedicated larger-runner group cannot relieve, because that ceiling is shared between standard and larger runners. A single aws-lc PR push measured 619 macOS minutes and peaked at 13 simultaneous macOS jobs, so macOS is where our CI footprint is proportionally largest.

Description of changes

Drop macos-14 from three matrices, keeping macos-15:

  • macOS-ARM and macOS-ARM-FIPS each ran over both versions. Both are arm64, and macOS-x86 already runs a single version (macos-15-intel), so the second version on the ARM side looks like drift rather than intent.
  • path-has-spaces ran a macos-14 cell for each ninja value. Path-with-spaces handling splits along POSIX versus Windows quoting, and macOS shares POSIX semantics with ubuntu-latest, which already covers both values.

Testing

Five macOS jobs are removed. Durations measured from a recent push:

removed cell
macOS-ARM (macos-14) 80.3m
macOS-ARM-FIPS (macos-14, 22) 68.3m
macOS-ARM-FIPS (macos-14, 0) 61.6m
path-has-spaces (macos-14, 0) 30.9m
path-has-spaces (macos-14, 1) 24.4m
total 265.5m of 619m, a 43% reduction

Coverage is unchanged in kind: arm64 under both Xcode clang and llvm@22 with FIPS, x86_64 via macos-15-intel, and path-with-spaces on both POSIX and Windows. The three matrices were expanded and diffed against the required status check list to confirm every remaining required cell is still produced.

Review considerations

  • The four macos-14 entries have been removed from the main ruleset's required status checks, so no required check is left unreported. macOS-ARM-FIPS (macos-14, 22) was never required.
  • Keeping macos-15 over macos-14: newer image, and GitHub retires older macOS runners over time. The counter-argument is that the oldest supported OS catches accidental new-SDK dependencies. If that matters more, invert the choice.
  • Dropping macOS from path-has-spaces assumes APFS case-insensitivity is out of scope for a path-quoting test. If it is in scope, that cell should stay.
  • CI configuration only. No library, API or ABI impact.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and the ISC license.

@justsmth
justsmth requested a review from a team as a code owner September 10, 2026 21:13
macOS is the smallest GitHub-hosted concurrency pool and the only one a
dedicated larger-runner group cannot relieve, because its ceiling is shared
between standard and larger runners. A single aws-lc PR push peaked at 13
simultaneous macOS jobs and 619 macOS minutes, so macOS is where our footprint
is proportionally largest.

macOS-ARM and macOS-ARM-FIPS each ran over macos-14 and macos-15. Both are
arm64, and macOS-x86 already runs a single version (macos-15-intel), so the
second version on the ARM side looks like drift rather than intent. Keep
macos-15, the newer image.

path-has-spaces ran a macos-14 cell for each ninja value. Path-with-spaces
handling splits along POSIX versus Windows quoting, and macOS shares POSIX
semantics with ubuntu-latest, which already covers both ninja values.

This removes five macOS jobs: macOS-ARM (macos-14), macOS-ARM-FIPS (macos-14,
0), macOS-ARM-FIPS (macos-14, 22), and both path-has-spaces macos-14 cells.
Together they measured about 265 of the 619 macOS minutes per push, a 43%
reduction, and up to 5 of the 13 peak macOS slots.

All remaining required checks are still produced: macOS-ARM (macos-15),
macOS-ARM-FIPS (macos-15, 0), and the ubuntu-latest and windows-latest
path-has-spaces cells.

Requires removing four now-unproduced entries from the main ruleset's required
status checks first: macOS-ARM (macos-14), macOS-ARM-FIPS (macos-14, 0),
path-has-spaces (macos-14, 0) and path-has-spaces (macos-14, 1).
@justsmth
justsmth force-pushed the macos-drop-redundant-llvm22-cell branch from 0c8b9a5 to 7390134 Compare September 10, 2026 21:33
@justsmth justsmth changed the title Drop the redundant llvm@22 macOS cell from FIPS CI Run the macOS jobs on a single OS version Sep 10, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔒 Security ReviewView Report

Please review before merging.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.38%. Comparing base (e4117b4) to head (7390134).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3513      +/-   ##
==========================================
+ Coverage   78.36%   78.38%   +0.02%     
==========================================
  Files         700      700              
  Lines      125684   125684              
  Branches    17377    17377              
==========================================
+ Hits        98490    98517      +27     
+ Misses      26322    26295      -27     
  Partials      872      872              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dougch dougch left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

So needed, thanks for doing this.
Claude nit: the commit comment seems stale

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.

3 participants