From a06ac6abccd8f7ef3f7c88d7faa4fa7fb548e7fb Mon Sep 17 00:00:00 2001 From: Stijn Willems Date: Sat, 13 Dec 2025 21:12:19 +0100 Subject: [PATCH 1/2] ci: Add Swift version matrix for 6.0, 6.2, and 6.3 testing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update the CI workflow to test across multiple Swift versions: - Xcode 16.0 (Swift 6.0) - debug and release - Xcode 16.2 (Swift 6.2) - debug and release - Xcode 16.4 (Swift 6.3) - debug and release This ensures compatibility is maintained across Swift versions as the library evolves. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .github/workflows/ci.yml | 23 ++++++++++++++++++++--- Package.resolved | 7 ++----- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b4bd407e..e2bdd846 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,11 +11,28 @@ on: jobs: library: - name: macOS + name: macOS (Swift ${{ matrix.swift }}, ${{ matrix.config }}) strategy: matrix: - xcode: ['16.4'] - config: ['debug', 'release'] + include: + - xcode: '16.0' + swift: '6.0' + config: 'debug' + - xcode: '16.0' + swift: '6.0' + config: 'release' + - xcode: '16.2' + swift: '6.2' + config: 'debug' + - xcode: '16.2' + swift: '6.2' + config: 'release' + - xcode: '16.4' + swift: '6.3' + config: 'debug' + - xcode: '16.4' + swift: '6.3' + config: 'release' runs-on: macos-15 steps: - uses: actions/checkout@v4 diff --git a/Package.resolved b/Package.resolved index ba38b909..4125ebda 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "c53c34c164015d035216379ca730f2630209ddabb19d29107d35f34491225ea9", + "originHash" : "9a7c32967908cf88d9dda6e47359b6e47edf319b568783eaaba211542607cfec", "pins" : [ { "identity" : "combine-schedulers", @@ -15,7 +15,6 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/doozMen/GRDB.swift", "state" : { - "branch" : "master", "revision" : "aa0079aeb82a4bf00324561a40bffe68c6fe1c26" } }, @@ -105,8 +104,7 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/doozMen/swift-sharing", "state" : { - "branch" : "main", - "revision" : "a367f93207aa67a7a9953946ae3b8d47d223f6af" + "revision" : "f1170dc9b28faea3edec20705839eb2bc349bcdb" } }, { @@ -123,7 +121,6 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/doozMen/swift-structured-queries", "state" : { - "branch" : "main", "revision" : "85f39901d6c6046fa2f5119717741d9cc8a50b7f" } }, From f1ebe4275d18ce56ddaa836b39bcd5cb16c6c422 Mon Sep 17 00:00:00 2001 From: Stijn Willems Date: Sat, 13 Dec 2025 22:39:42 +0100 Subject: [PATCH 2/2] fix: Update swift-sharing to fix/swift-build-compatibility branch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Uses the branch that guards PerceptionCore.Bindable usage for Swift 6.0+ compatibility with swiftbuild. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- Package.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 7cc044a1..344d38cc 100644 --- a/Package.swift +++ b/Package.swift @@ -31,7 +31,8 @@ let package = Package( .package(url: "https://github.com/pointfreeco/swift-custom-dump", from: "1.3.3"), .package(url: "https://github.com/pointfreeco/swift-dependencies", from: "1.9.0"), // NB: Fork with Swift 6.3 fixes (uses doozMen/swift-perception) - .package(url: "https://github.com/doozMen/swift-sharing", revision: "f1170dc9b28faea3edec20705839eb2bc349bcdb"), + // TODO: Pin to specific commit after merging PR #3 + .package(url: "https://github.com/doozMen/swift-sharing", branch: "fix/swift-build-compatibility"), .package(url: "https://github.com/pointfreeco/swift-snapshot-testing", from: "1.18.4"), // NB: Fork with Swift 6.3 fixes .package(