ci(ios): iOS CI lane pinned to Xcode 26.0 / Swift 6.2 (matches ship)#12
Merged
Conversation
…toolchain) iOS gate: macos-26 runner (for the iOS 26 SDK that `.glassEffect` needs), with Xcode pinned to 26.0 (Swift 6.2) so CI matches the toolchain the app actually ships with. The runner default (Xcode 26.5 / Swift 6.3.2) rejects region- isolation `sending` diagnostics as errors that local Swift 6.2.4 accepts, so an unpinned lane fails on latent concurrency debt, not real regressions. A pre-pin `ls /Applications/Xcode*.app` prints the runner's available Xcodes (fallback to Swift-5 language mode if 26.0 isn't present). Runs `swift test` on TaskWraithKit + an unsigned simulator build of the app target. Follow-up (tracked): clear the Swift-6.3 region-isolation debt in RemoteSessionModel before bumping the pin. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…; keep swift test First pinned run: Xcode 26.0.1 selected fine and `swift test` PASSED (Kit + UI compile + 73 tests green on the ship Swift 6.2). Only the app-target xcodebuild failed — the pinned older Xcode has no iOS 26 simulator platform installed (GitHub pre-installs it only for the default Xcode 26.5), and -downloadPlatform would cost minutes+GBs per run for a thin wrapper. swift test already compiles all the SwiftUI/Glass code + runs the tests, so it's the real gate. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the iOS CI gate the release-readiness review asked for, pinned to the toolchain TaskWraith actually ships with.
macos-26(needs the iOS 26 SDK —TaskWraithUIuses.glassEffect).setup-xcode, matching local/ship. The runner default is Xcode 26.5 / Swift 6.3.2, whose region-isolationsendingdiagnostics are errors that Swift 6.2.4 accepts — pinning keeps CI equivalent to what ships, so the lane fails on real regressions, not latent concurrency debt.ls /Applications/Xcode*.appprints the runner's available Xcodes (so if 26.0 isn't there, we see it and fall back to Swift-5 language mode).swift test --package-path ios/TaskWraithKit+ an unsignedxcodebuildof the app target.Tracked follow-up: clear the Swift-6.3 region-isolation debt in
RemoteSessionModel(1613/2620, +any others 6.3 flags) before bumping the pin — that's the version Apple's tooling will eventually require.🤖 Generated with Claude Code