Skip to content

ci: run on macos-15, macOS 14 runners are retired - #2

Merged
lailo merged 2 commits into
mainfrom
ci/macos-15-runner
Nov 9, 2026
Merged

lailo merged 2 commits into
mainfrom
ci/macos-15-runner

Conversation

@lailo

@lailo lailo commented Nov 9, 2026 •

Copy link
Copy Markdown
Owner

Why

GitHub retired every macOS 14 image from Actions on 2026-11-02 (announcement). Jobs on macos-14 are rejected before they start (The configuration 'macos-14-arm64-us-default' is not supported), so CI fails on every push and the next v* tag would never build a release or bump the cask in lailo/homebrew-tap.

What

runs-on: macos-14 → macos-15 in ci.yml and release.yml.

macos-15 rather than macos-26 because both workflows pin Xcode 16.2 via setup-xcode: the macos-15 arm64 image still ships Xcode 16.1–16.4 (and 26.x), while macos-26 only has Xcode 26.x. The build toolchain therefore stays the same.

Verify

  • This PR's CI runs the build and tests on macos-15 with Xcode 16.2.
  • release.yml only runs on a tag. It uses the same runner and Xcode setup as CI, so a green CI here covers it as well.

Also: cap ViewInspector below 0.10.4 (871de92)

The first CI run on this PR got past the runner but failed compiling the test-only dependency ViewInspector: GlassEffectContainer.swift:145: cannot find type 'GlassEffectTransition' in scope. ViewInspector 0.10.4 (2026-09-20) added that file using a macOS 26 SDK type without a compiler guard, so it can't build with Xcode 16.2. Package.resolved is gitignored and the requirement was upToNextMajor from 0.10.0, so CI always picked up the newest 0.10.x.

The requirement is now 0.10.0 ..< 0.10.4, which resolves to 0.10.3, the last release without that file. Moving to Xcode 26 instead would also change the toolchain and SDK the shipped app is built with (including the macOS 26 look), so I kept that out of this PR.

GitHub retired every macOS 14 image from Actions on 2026-11-02, so CI and
the release build are rejected before they start. macos-15 still ships
the pinned Xcode 16.2; macos-26 only has Xcode 26.
@lailo lailo self-assigned this Nov 9, 2026
0.10.4 added GlassEffectContainer.swift, which uses the macOS 26 SDK
type GlassEffectTransition with no compiler guard, so the test target no
longer builds with the pinned Xcode 16.2. Package.resolved is gitignored,
so CI always resolved the newest 0.10.x.
@lailo
lailo marked this pull request as ready for review November 9, 2026 09:08
@lailo
lailo merged commit 290b18d into main Nov 9, 2026
1 check passed
@lailo
lailo deleted the ci/macos-15-runner branch November 9, 2026 09:08
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