Skip to content

ci: build on macos-26/Xcode 26 toolchain - #1

Merged
greatdeepband merged 1 commit into
mainfrom
fix/ci-toolchain-macos26
Jun 16, 2026
Merged

greatdeepband merged 1 commit into
mainfrom
fix/ci-toolchain-macos26

Conversation

@greatdeepband

Copy link
Copy Markdown
Owner

What

Build CI on the macos-26 runner (default Xcode 26.x) instead of the pinned macos-14 / Xcode 15.4.

Why

The Swift workflow has failed on every push since 2026-05-21 — 33 compile errors across three files. All trace to a stale CI toolchain, not the source:

  • ReaderToolbar.swift (4 errors): uses macOS 26 Tahoe Liquid Glass APIs (GlassEffectContainer, .glassEffect) that don't exist in the macOS 14 SDK Xcode 15.4 ships. if #available(macOS 26, *) gates runtime availability — it can't make a symbol compile against an older SDK.
  • Comic.swift + CompressionService.swift (29 errors): captured-var diagnostics that are errors under Swift 5.10 but warnings under Swift 6 (region-based isolation proves them safe) — which is why the local Swift 6.2 release build succeeds.

Building on a macOS 26 SDK / Swift 6.x toolchain resolves all 33 at once, and matches the actual dev/release environment.

Changes (CI config only — no app source touched)

  • runs-on: macos-14 → macos-26
  • Drop the xcode-select pin to Xcode 15.4 (a stale pin is what broke this); use the runner default Xcode 26.x
  • Add a Toolchain versions step (xcodebuild/swift/xcrun) so every log records what built
  • Scope the SwiftPM cache key with ImageOS so the bump can't restore an incompatible .build

Unchanged

Package.swift (swift-tools-version: 5.10), the macOS 14 deployment target (runtime requirement stays Sonoma+), and all application source.

Verification

Locally green on Swift 6.2.4 / macOS 26 SDK (the toolchain family this CI now uses): swift build -c release → 0 errors; swift test --parallel → 38/38 pass. This PR's CI run is the live confirmation on macos-26.

🤖 Generated with Claude Code

macos-14/Xcode 15.4 (macOS 14 SDK, Swift 5.10) cannot compile the Tahoe Liquid Glass APIs and errors on Swift-6-region-isolation-safe var captures. Build on macos-26 (default Xcode 26.x, macOS 26 SDK, Swift 6.x) to match the dev/release environment; drop the stale Xcode pin; scope the SwiftPM cache to the runner image; record the toolchain in CI logs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@greatdeepband
greatdeepband merged commit e7debbe into main Jun 16, 2026
1 check passed
@greatdeepband
greatdeepband deleted the fix/ci-toolchain-macos26 branch June 16, 2026 05:57
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