Pick a Swift 6.0 Xcode that has an iOS SDK - #1
Merged
Conversation
Some macos-15 runner instances come up without an iOS platform installed for Xcode 16.0, which fails destination resolution before any code is compiled. Probe Xcode 16.0, 16.1 and 16.2 (Swift 6.0, 6.0.2 and 6.0.3) and use the first that reports an iphoneos SDK, failing with a clear message if none does so a bad runner is obvious and can simply be re-run. Also bump actions/checkout to v7, which runs on Node 24. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b7fe19c616
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
A stripped runner still lists an iphoneos SDK in `xcodebuild -showsdks` even though the iOS platform is missing, so the previous check selected Xcode 16.0 on a runner that could not resolve an iOS destination and the build failed anyway. Ask for the scheme's destinations and require an `Any iOS Device` entry that carries no error. Co-Authored-By: Claude Opus 5 <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.
Mirrors OEVoice#2.
The
Swift 6.0 compatibilityjob intermittently fails because somemacos-15runner instances come up with no iOS platform installed for Xcode 16.0, soxcodebuildrejects the destination before compiling anything:This is a runner lottery rather than a configuration problem — run 33928105341 failed on image
20260829.0321.1and then passed on a re-run of the same commit on the same image version. An in-job retry would land on the same runner and fail identically, so the only real remedy is re-running the job.What this changes
Xcode_16.app,Xcode_16.1.appandXcode_16.2.app(Swift 6.0, 6.0.2 and 6.0.3 — any of them tests the same language version) and uses the first that reports aniphoneosSDK, exportingDEVELOPER_DIRthroughGITHUB_ENV. The job-levelDEVELOPER_DIRis removed so it cannot override that. If only 16.0 has been trimmed, the job now recovers on its own.No Swift 6.0 Xcode on this runner has an iOS SDK installed.instead of a destination dump, making it obvious the run just needs retrying.actions/checkoutbumped v4 → v7, which runs on Node 24 and clears the Node 20 deprecation annotation.The
current-swiftjob onmacos-26is untouched; it has shown no sign of this.🤖 Generated with Claude Code