Browse Source

Raise minimum swift version to 5.8 (#1825)

George Barnett 1 year ago
parent
commit
7028cfb537

+ 10 - 10
.github/workflows/ci.yaml

@@ -23,13 +23,13 @@ jobs:
           - image: swiftlang/swift:nightly-jammy
           - image: swiftlang/swift:nightly-jammy
             # No TSAN because of: https://github.com/apple/swift/issues/59068
             # No TSAN because of: https://github.com/apple/swift/issues/59068
             # swift-test-flags: "--sanitize=thread"
             # swift-test-flags: "--sanitize=thread"
-          - image: swift:5.9-jammy
+          - image: swift:5.10-jammy
             # No TSAN because of: https://github.com/apple/swift/issues/59068
             # No TSAN because of: https://github.com/apple/swift/issues/59068
             # swift-test-flags: "--sanitize=thread"
             # swift-test-flags: "--sanitize=thread"
-          - image: swift:5.8-focal
+          - image: swift:5.9-jammy
             # No TSAN because of: https://github.com/apple/swift/issues/59068
             # No TSAN because of: https://github.com/apple/swift/issues/59068
             # swift-test-flags: "--sanitize=thread"
             # swift-test-flags: "--sanitize=thread"
-          - image: swift:5.7-focal
+          - image: swift:5.8-focal
             # No TSAN because of: https://github.com/apple/swift/issues/59068
             # No TSAN because of: https://github.com/apple/swift/issues/59068
             # swift-test-flags: "--sanitize=thread"
             # swift-test-flags: "--sanitize=thread"
     name: Build and Test on ${{ matrix.image }}
     name: Build and Test on ${{ matrix.image }}
@@ -60,8 +60,8 @@ jobs:
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong: 163000
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong: 163000
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong_interceptors_client: 170000
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong_interceptors_client: 170000
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong_interceptors_server: 170000
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong_interceptors_server: 170000
-          - image: swift:5.9-jammy
-            swift-version: 5.9
+          - image: swift:5.10-jammy
+            swift-version: '5.10'
             env:
             env:
               MAX_ALLOCS_ALLOWED_bidi_1k_rpcs_10_requests: 323000
               MAX_ALLOCS_ALLOWED_bidi_1k_rpcs_10_requests: 323000
               MAX_ALLOCS_ALLOWED_bidi_1k_rpcs_1_request: 161000
               MAX_ALLOCS_ALLOWED_bidi_1k_rpcs_1_request: 161000
@@ -71,8 +71,8 @@ jobs:
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong: 163000
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong: 163000
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong_interceptors_client: 170000
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong_interceptors_client: 170000
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong_interceptors_server: 170000
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong_interceptors_server: 170000
-          - image: swift:5.8-focal
-            swift-version: 5.8
+          - image: swift:5.9-jammy
+            swift-version: 5.9
             env:
             env:
               MAX_ALLOCS_ALLOWED_bidi_1k_rpcs_10_requests: 323000
               MAX_ALLOCS_ALLOWED_bidi_1k_rpcs_10_requests: 323000
               MAX_ALLOCS_ALLOWED_bidi_1k_rpcs_1_request: 161000
               MAX_ALLOCS_ALLOWED_bidi_1k_rpcs_1_request: 161000
@@ -82,8 +82,8 @@ jobs:
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong: 163000
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong: 163000
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong_interceptors_client: 170000
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong_interceptors_client: 170000
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong_interceptors_server: 170000
               MAX_ALLOCS_ALLOWED_unary_1k_ping_pong_interceptors_server: 170000
-          - image: swift:5.7-focal
-            swift-version: 5.7
+          - image: swift:5.8-focal
+            swift-version: 5.8
             env:
             env:
               MAX_ALLOCS_ALLOWED_bidi_1k_rpcs_10_requests: 323000
               MAX_ALLOCS_ALLOWED_bidi_1k_rpcs_10_requests: 323000
               MAX_ALLOCS_ALLOWED_bidi_1k_rpcs_1_request: 161000
               MAX_ALLOCS_ALLOWED_bidi_1k_rpcs_1_request: 161000
@@ -116,9 +116,9 @@ jobs:
       matrix:
       matrix:
         include:
         include:
           - image: swiftlang/swift:nightly-jammy
           - image: swiftlang/swift:nightly-jammy
+          - image: swift:5.10-jammy
           - image: swift:5.9-jammy
           - image: swift:5.9-jammy
           - image: swift:5.8-focal
           - image: swift:5.8-focal
-          - image: swift:5.7-focal
     name: Integration Tests on ${{ matrix.image }}
     name: Integration Tests on ${{ matrix.image }}
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
     container:
     container:

+ 3 - 3
Package.swift

@@ -1,4 +1,4 @@
-// swift-tools-version:5.7
+// swift-tools-version:5.8
 /*
 /*
  * Copyright 2017, gRPC Authors All rights reserved.
  * Copyright 2017, gRPC Authors All rights reserved.
  *
  *
@@ -106,7 +106,7 @@ extension Target.Dependency {
   static let interopTestImplementation: Self =
   static let interopTestImplementation: Self =
     .target(name: "GRPCInteroperabilityTestsImplementation")
     .target(name: "GRPCInteroperabilityTestsImplementation")
   static let interoperabilityTests: Self = .target(name: "InteroperabilityTests")
   static let interoperabilityTests: Self = .target(name: "InteroperabilityTests")
-  
+
   // Product dependencies
   // Product dependencies
   static let argumentParser: Self = .product(
   static let argumentParser: Self = .product(
     name: "ArgumentParser",
     name: "ArgumentParser",
@@ -386,7 +386,7 @@ extension Target {
       .grpcProtobuf
       .grpcProtobuf
     ]
     ]
   )
   )
-  
+
   static let interopTestImplementation: Target = .target(
   static let interopTestImplementation: Target = .target(
     name: "GRPCInteroperabilityTestsImplementation",
     name: "GRPCInteroperabilityTestsImplementation",
     dependencies: [
     dependencies: [

+ 1 - 1
Performance/Benchmarks/Package.swift

@@ -1,4 +1,4 @@
-// swift-tools-version: 5.7
+// swift-tools-version: 5.8
 /*
 /*
  * Copyright 2023, gRPC Authors All rights reserved.
  * Copyright 2023, gRPC Authors All rights reserved.
  *
  *

+ 1 - 1
Performance/Benchmarks/Thresholds/5.7/GRPCSwiftBenchmark.Metadata_Add_binary.p90.json → Performance/Benchmarks/Thresholds/5.10/GRPCSwiftBenchmark.Metadata_Add_binary.p90.json

@@ -1,7 +1,7 @@
 {
 {
   "mallocCountTotal" : 11,
   "mallocCountTotal" : 11,
   "memoryLeaked" : 0,
   "memoryLeaked" : 0,
-  "releaseCount" : 1011,
+  "releaseCount" : 3012,
   "retainCount" : 2000,
   "retainCount" : 2000,
   "syscalls" : 0
   "syscalls" : 0
 }
 }

+ 0 - 0
Performance/Benchmarks/Thresholds/5.7/GRPCSwiftBenchmark.Metadata_Add_string.p90.json → Performance/Benchmarks/Thresholds/5.10/GRPCSwiftBenchmark.Metadata_Add_string.p90.json


+ 2 - 2
Performance/Benchmarks/Thresholds/5.7/GRPCSwiftBenchmark.Metadata_Iterate_all_values.p90.json → Performance/Benchmarks/Thresholds/5.10/GRPCSwiftBenchmark.Metadata_Iterate_all_values.p90.json

@@ -1,7 +1,7 @@
 {
 {
   "mallocCountTotal" : 0,
   "mallocCountTotal" : 0,
   "memoryLeaked" : 0,
   "memoryLeaked" : 0,
-  "releaseCount" : 1005,
-  "retainCount" : 1005,
+  "releaseCount" : 3001,
+  "retainCount" : 1000,
   "syscalls" : 0
   "syscalls" : 0
 }
 }

+ 2 - 2
Performance/Benchmarks/Thresholds/5.7/GRPCSwiftBenchmark.Metadata_Iterate_binary_values_when_only_binary_values_stored.p90.json → Performance/Benchmarks/Thresholds/5.10/GRPCSwiftBenchmark.Metadata_Iterate_binary_values_when_only_binary_values_stored.p90.json

@@ -1,7 +1,7 @@
 {
 {
   "mallocCountTotal" : 0,
   "mallocCountTotal" : 0,
   "memoryLeaked" : 0,
   "memoryLeaked" : 0,
-  "releaseCount" : 1005,
-  "retainCount" : 1005,
+  "releaseCount" : 3001,
+  "retainCount" : 1000,
   "syscalls" : 0
   "syscalls" : 0
 }
 }

+ 2 - 2
Performance/Benchmarks/Thresholds/5.7/GRPCSwiftBenchmark.Metadata_Iterate_binary_values_when_only_strings_stored.p90.json → Performance/Benchmarks/Thresholds/5.10/GRPCSwiftBenchmark.Metadata_Iterate_binary_values_when_only_strings_stored.p90.json

@@ -1,7 +1,7 @@
 {
 {
   "mallocCountTotal" : 2000,
   "mallocCountTotal" : 2000,
   "memoryLeaked" : 0,
   "memoryLeaked" : 0,
-  "releaseCount" : 4005,
-  "retainCount" : 2005,
+  "releaseCount" : 6001,
+  "retainCount" : 2000,
   "syscalls" : 0
   "syscalls" : 0
 }
 }

+ 2 - 2
Performance/Benchmarks/Thresholds/5.7/GRPCSwiftBenchmark.Metadata_Iterate_string_values.p90.json → Performance/Benchmarks/Thresholds/5.10/GRPCSwiftBenchmark.Metadata_Iterate_string_values.p90.json

@@ -1,7 +1,7 @@
 {
 {
   "mallocCountTotal" : 0,
   "mallocCountTotal" : 0,
   "memoryLeaked" : 0,
   "memoryLeaked" : 0,
-  "releaseCount" : 1005,
-  "retainCount" : 1005,
+  "releaseCount" : 3001,
+  "retainCount" : 1000,
   "syscalls" : 0
   "syscalls" : 0
 }
 }

+ 1 - 1
Performance/Benchmarks/Thresholds/5.7/GRPCSwiftBenchmark.Metadata_Remove_values_for_key.p90.json → Performance/Benchmarks/Thresholds/5.10/GRPCSwiftBenchmark.Metadata_Remove_values_for_key.p90.json

@@ -1,7 +1,7 @@
 {
 {
   "mallocCountTotal" : 0,
   "mallocCountTotal" : 0,
   "memoryLeaked" : 0,
   "memoryLeaked" : 0,
-  "releaseCount" : 2002000,
+  "releaseCount" : 2002001,
   "retainCount" : 1999000,
   "retainCount" : 1999000,
   "syscalls" : 0
   "syscalls" : 0
 }
 }

+ 1 - 1
Performance/QPSBenchmark/Package.swift

@@ -1,4 +1,4 @@
-// swift-tools-version:5.7
+// swift-tools-version:5.8
 /*
 /*
  * Copyright 2020, gRPC Authors All rights reserved.
  * Copyright 2020, gRPC Authors All rights reserved.
  *
  *

+ 2 - 1
README.md

@@ -43,7 +43,8 @@ gRPC Swift Version | Earliest Swift Version
 `1.8.0 ..< 1.11.0` | 5.4
 `1.8.0 ..< 1.11.0` | 5.4
 `1.11.0..< 1.16.0`.| 5.5
 `1.11.0..< 1.16.0`.| 5.5
 `1.16.0..< 1.20.0` | 5.6
 `1.16.0..< 1.20.0` | 5.6
-`1.20.0...`        | 5.7
+`1.20.0..< 1.22.0` | 5.7
+`1.22.0...`        | 5.8
 
 
 Versions of clients and services which are use Swift's Concurrency support
 Versions of clients and services which are use Swift's Concurrency support
 are available from gRPC Swift 1.8.0 and require Swift 5.6 and newer.
 are available from gRPC Swift 1.8.0 and require Swift 5.6 and newer.

+ 2 - 1
Sources/GRPC/Docs.docc/index.md

@@ -28,7 +28,8 @@ gRPC Swift Version | Earliest Swift Version
 `1.8.0 ..< 1.11.0` | 5.4
 `1.8.0 ..< 1.11.0` | 5.4
 `1.11.0..< 1.16.0`.| 5.5
 `1.11.0..< 1.16.0`.| 5.5
 `1.16.0..< 1.20.0` | 5.6
 `1.16.0..< 1.20.0` | 5.6
-`1.20.0...`        | 5.7
+`1.20.0..< 1.22.0` | 5.7
+`1.22.0...`        | 5.8
 
 
 Versions of clients and services which are use Swift's Concurrency support
 Versions of clients and services which are use Swift's Concurrency support
 are available from gRPC Swift 1.8.0 and require Swift 5.6 and newer.
 are available from gRPC Swift 1.8.0 and require Swift 5.6 and newer.