Skip to content

Commit

Permalink
Fix tests build on Swift 5.8
Browse files Browse the repository at this point in the history
grpc-swift 1.4.1 depends on swift-nio-ssl 2.14.0+ [1]. swift-nio-ssl 2.29.1
published on 2025-01-30, introduced some code [2] that uses a "switch
expression syntax" supported since Swift 5.9 [3]. Attempts to compile it with
Swift 5.8 cause build errors.

swift-nio-ssl project doesn't seem to support Swift 5.8. A commit from
2024-10-29 removes a "deprecated reference to a Swift 5.8 pipeline" [4].

swift-nio-ssl 2.29.0 is the last version that can be compiled with Swift
5.8. This commit pins it to that exact version.

[1] https://github.com/grpc/grpc-swift/blob/66e27d7e84a2f51df6b8d5c4c3649639cfe478c1/Package.swift#L33
[2] apple/swift-nio-ssl@3cb4d5a#diff-bc1db1321ff689c2819245dcce1a3080554f0fc13f81b8d326c97e7d42717c8fR54
[3] https://github.com/swiftlang/swift-evolution/blob/main/proposals/0380-if-switch-expressions.md
[4] apple/swift-nio-ssl@8a6b89d
  • Loading branch information
Marcin Radomski committed Feb 3, 2025
1 parent 89f1c8e commit 76bf735
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions tests/swift/tests/Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ let package = Package(
dependencies: [
.package(path: "../../.."),
.package(url: "https://github.com/grpc/grpc-swift.git", from: "1.4.1"),
// Prevent the build system from pulling 2.29.1 to prevent Swift 5.8 build breaks.
// The patch update introduced code that uses "switch expression syntax" that wasn't valid until Swift 5.9 [1].
// [1] https://github.com/swiftlang/swift-evolution/blob/main/proposals/0380-if-switch-expressions.md
.package(url: "https://github.com/apple/swift-nio-ssl.git", exact: "2.29.0"),
],
targets: [
.executableTarget(
Expand Down

0 comments on commit 76bf735

Please sign in to comment.