Skip to content

Move the macOS jobs off macos-14 - #9

Merged
Miguel249 merged 1 commit into
mainfrom
ci/macos-15
Aug 10, 2026
Merged

Move the macOS jobs off macos-14#9
Miguel249 merged 1 commit into
mainfrom
ci/macos-15

Conversation

@Miguel249

Copy link
Copy Markdown
Owner

macos-14 is deprecated: GitHub supports the latest two macOS versions, which
are now 15 and 26. Thirteen references across ci.yml and release.yml still
asked for it, publish among them, and a retirement found that way is found
when nothing schedules any more.

macos-15, not macos-26, for two repository-specific reasons:

  • it is arm64, like macos-14. The osx-x64 consumer job runs its binary
    under Rosetta 2 on an arm64 runner, which is the arrangement the comment
    above that matrix row exists to explain.
  • its default Xcode is 16.4, which still accepts the iOS 12.2 deployment target
    build-native.ps1 asks for. A much newer Xcode may not.

The iOS consumer job stays on macos-26 — it is there because the .NET iOS
workload refuses an Xcode older than the one it was built for — and its comment
now names 15 rather than 14.

The Rosetta note also described macos-13 as "on its way out". It is out, and
macos-15-intel has replaced it, so a real Intel runner exists again. Not
taken here: what made that job unusable was the queue, not the image, and
finding out costs another hour of a job that never reports. Recorded in the
comment rather than acted on.

CI on this PR is the check: every macOS job in it runs on the new image.

🤖 Generated with Claude Code

macos-14 is deprecated. GitHub supports the latest two macOS versions, which
are now 15 and 26, so every job still asking for 14 will stop being scheduled
- including publish, which is how a retirement gets discovered at the worst
possible moment.

macos-15 rather than macos-26, for two reasons that are about this repository
rather than about being conservative:

  it is arm64, like macos-14. The osx-x64 consumer job runs its binary under
  Rosetta 2 on an arm64 runner, and that arrangement is described at length
  below the matrix; moving to an image whose architecture differs would have
  changed what that job proves.

  its default Xcode is 16.4. The native build asks for a deployment target of
  iOS 12.2, which Xcode 16 still accepts and a much newer one may not.

The iOS consumer job stays on macos-26. It is there because the .NET iOS
workload refuses an Xcode older than the one it was built for, which is a
requirement neither 14 nor 15 meets, and its comment now says 15.

The Rosetta note also named macos-13 as an image on its way out. It is out,
and macos-15-intel has replaced it, so a real Intel runner exists again. Not
taken here: what made a job unusable was the queue, not the image, and finding
out costs another hour of not reporting. Recorded rather than acted on.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@Miguel249
Miguel249 merged commit df9cf96 into main Aug 10, 2026
23 checks passed
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