Repository navigation
fix: match CI to Swift 6.4 and the Xcode 27 runner - #165
Merged
Merged
Conversation
Package.swift now requires Swift tools 6.4, which Xcode 26 cannot load. Test on the GitHub-hosted xcode-27 image with an iPhone 17 simulator on iOS 27.0, because these sources import UIKit. Release Please opens the release pull request, and tags stay unprefixed so they match 5.1.1.
There was a problem hiding this comment.
🟡 Changes recommended
Tag validation permits malformed releases, CI runs duplicate branch jobs, and breaking-change instructions are inaccurate.
5 open findings
Restore branch filter to prevent duplicate Xcode CI runs · New Shell wildcard allows invalid SemVer suffixes · New Correct breaking-change syntax to ensure major version bumps · New Document valid Conventional Commit syntax for breaking changes · New Document breaking-change syntax recognized by Release Please · New
What changed in this PR
Aligns Swift, Xcode CI, and automated releases with the module template.
Changes:
- Requires Swift 6.4 and Xcode 27.
- Tests against iPhone 17/iOS 27.
- Adds Release Please automation and documentation.
| File | Description |
|---|---|
Package.swift |
Updates Swift tools and concurrency settings. |
.github/workflows/ci.yml |
Migrates CI to Xcode 27. |
.github/workflows/release.yml |
Adds automated release publishing. |
release-please-config.json |
Configures unprefixed release tags. |
.release-please-manifest.json |
Records the current release version. |
README.md |
Documents testing and releases. |
CONTRIBUTING.md |
Updates contributor release guidance. |
CHANGELOG.md |
Records CI and release changes. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
|
||
| on: | ||
| workflow_call: | ||
| push: |
Comment on lines
+97
to
+100
| case "$TAG" in | ||
| [0-9]*.[0-9]*.[0-9]*) ;; | ||
| *) echo "tag must look like 5.1.2" >&2; exit 1 ;; | ||
| esac |
| - Pin GitHub Actions to the macOS 15 image, Xcode 16.4, and an iPhone 16 simulator on iOS 18.5. The workflow on `macos-latest` failed before the package compiled. | ||
| - Require Swift tools 6.4 and enable Approachable Concurrency. Xcode 26 cannot load that tools version. | ||
| - Test on the GitHub-hosted Xcode 27 runner, using an iPhone 17 simulator on iOS 27.0. | ||
| - Hand releases to Release Please. Commit messages use `fix:`, `feat:` or `BREAKING CHANGE:`. Tags stay unprefixed, matching `5.1.1`. |
| # Contributing | ||
|
|
||
| All contributors are welcome. Please use issues and pull requests to contribute to the project. And update [CHANGELOG.md](CHANGELOG.md) when committing. | ||
| All contributors are welcome. Please use issues and pull requests to contribute to the project. Commit messages use `fix:`, `feat:` or `BREAKING CHANGE:`. Release Please writes [CHANGELOG.md](CHANGELOG.md) from those messages. |
|
|
||
| ## Releases | ||
|
|
||
| Commit messages use `fix:`, `feat:` or `BREAKING CHANGE:`. [Release Please](https://github.com/googleapis/release-please) opens a release pull request from those messages. Merging that pull request runs [.github/workflows/release.yml](.github/workflows/release.yml), which tests the package and publishes the GitHub Release. |
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
swift6-module-template 16.5.0 tests on the GitHub-hosted
xcode-27runner and requires Swift tools 6.4. Xcode 26 cannot load that tools version. This package follows that pin.xcrun swift testbuilds for macOS. These sources import UIKit, so the job usesxcodebuildand the iPhone 17 simulator on iOS 27.0, which the Xcode 27.0 image lists.Release Please opens the release pull request from
fix:,feat:andBREAKING CHANGE:messages. Tags stay unprefixed so Release Please can see the existing tag5.1.1. The release publishes the git tag. The template also publishes a Linux static library, and this module cannot build one.Locally, with Xcode 27.0,
xcodebuild teston the iPhone 17 simulator (iOS 27.0) reported TEST SUCCEEDED.Test plan
ciworkflow on this branch selects the Xcode 27 runner andxcodebuild testpasses on iPhone 17 / iOS 27.0swift formatreports a clean diff forSources/andTests/