Repository navigation
Lower swift-tools-version to 6.3 so CI can run - #9
Closed
Yan123-tech wants to merge 2 commits into
Closed
Yan123-tech wants to merge 2 commits into
Yan123-tech wants to merge 2 commits into
Conversation
added 2 commits
October 9, 2026 14:18
The runner's default toolchain is Swift 6.3, but Package.swift declares swift-tools-version 6.4, so the manifest is rejected before anything compiles. Hard-coding a path to Xcode_16.app does not help — that app carries an older toolchain too, and the path is not stable across runner images. Use setup-xcode with latest-stable so the job tracks whatever the image ships and fails loudly on the toolchain line if it is still too old.
No hosted runner carries Swift 6.4 yet. Tried, in order: - xcode-select to /Applications/Xcode_16.app: path absent on the image - macos-latest default toolchain: 6.3.3 - macos-15 + setup-xcode latest-stable: 6.2.4 - macos-26 + Xcode 26: 6.3.3 Since none reach 6.4, drop the manifest to swift-tools-version 6.3 rather than pin a runner image that will change underneath us. The package still compiles and all 35 tests pass under 6.3 locally with a 6.4 toolchain, so this only relaxes the declared minimum, not the language features used. Bump the tools version once a runner ships 6.4.
Owner
Author
|
Superseded by #8's follow-up investigation: no runner reaches Swift 6.4, so the tools version is not the lever. Tracked in ci.yml on main instead. |
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.
Summary
No hosted GitHub runner carries Swift 6.4, so
swift buildhas never gotten past the manifest on CI. Relax the declared minimum instead of pinning a runner image.What I tried
xcode-select -s /Applications/Xcode_16.appinvalid developer directorysetup-xcodelatest-stableFix
// swift-tools-version: 6.3, and drop the Xcode-selection step entirely so CI uses the runner default again.This relaxes only the declared minimum. The package still builds and all 35 tests pass under a 6.4 toolchain in 6.3 language mode — no source changes.
Testing
swift buildpassesswift testpasses (35 tests)Follow-up
Bump back to 6.4 once a runner image ships it. Worth a note in
PROJECT_PLAN.mdso it does not get forgotten.Related: #8 (superseded by this — the setup-xcode approach could not reach 6.4)