From 2051178228ab3a1b7f2ecb549afcc5ffee43d57c Mon Sep 17 00:00:00 2001 From: Rick Newton-Rogers Date: Wed, 1 Oct 2025 13:35:42 +0100 Subject: [PATCH 1/2] Drop Swift 5.10 Motivation: Swift 5.10 is no longer supported, we should bump the tools version and remove it from our CI. Modifications: * Bump the Swift tools version to Swift 6.0 * Remove Swift 5.10 jobs where appropriate in main.yml, pull_request.yml Result: Code reflects our support window. --- .github/workflows/main.yml | 1 - .github/workflows/pull_request.yml | 1 - FuzzTesting/Package.swift | 2 +- .../Thresholds/5.10.json | 23 ------------------- Package.swift | 2 +- 5 files changed, 2 insertions(+), 27 deletions(-) delete mode 100644 IntegrationTests/tests_01_allocation_counters/Thresholds/5.10.json diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6ac41cf0..c590b7c5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,7 +11,6 @@ jobs: name: Unit tests uses: apple/swift-nio/.github/workflows/unit_tests.yml@main with: - linux_5_10_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error" linux_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error" linux_6_1_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error" linux_6_2_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error" diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 8420c6c2..24fbd18b 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -15,7 +15,6 @@ jobs: name: Unit tests uses: apple/swift-nio/.github/workflows/unit_tests.yml@main with: - linux_5_10_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error" linux_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error" linux_6_1_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error" linux_6_2_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error" diff --git a/FuzzTesting/Package.swift b/FuzzTesting/Package.swift index 5bc5cd53..02fe30c3 100644 --- a/FuzzTesting/Package.swift +++ b/FuzzTesting/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.3 +// swift-tools-version:6.0 //===----------------------------------------------------------------------===// // // This source file is part of the SwiftNIO open source project diff --git a/IntegrationTests/tests_01_allocation_counters/Thresholds/5.10.json b/IntegrationTests/tests_01_allocation_counters/Thresholds/5.10.json deleted file mode 100644 index c1dd69b0..00000000 --- a/IntegrationTests/tests_01_allocation_counters/Thresholds/5.10.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "1k_requests_inline_interleaved": 30150, - "1k_requests_inline_noninterleaved": 29100, - "1k_requests_interleaved": 36150, - "1k_requests_noninterleaved": 35100, - "client_server_h1_request_response": 280050, - "client_server_h1_request_response_inline": 265050, - "client_server_request_response": 249050, - "client_server_request_response_inline": 240050, - "client_server_request_response_many": 1194050, - "client_server_request_response_many_inline": 885050, - "create_client_stream_channel": 35050, - "create_client_stream_channel_inline": 35050, - "create_client_stream_channel_inline_no_promise_based_API": 35050, - "create_client_stream_channel_no_promise_based_API": 35050, - "get_100000_headers_canonical_form": 200050, - "get_100000_headers_canonical_form_trimming_whitespace": 200050, - "get_100000_headers_canonical_form_trimming_whitespace_from_long_string": 300050, - "get_100000_headers_canonical_form_trimming_whitespace_from_short_string": 200050, - "hpack_decoding": 5050, - "stream_teardown_100_concurrent": 253550, - "stream_teardown_100_concurrent_inline": 252150 -} diff --git a/Package.swift b/Package.swift index 03b4812a..fcea645c 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.10 +// swift-tools-version:6.0 //===----------------------------------------------------------------------===// // // This source file is part of the SwiftNIO open source project From a6ba5f15d4bd5f523b52fffc013a81407e30b3f7 Mon Sep 17 00:00:00 2001 From: Rick Newton-Rogers Date: Wed, 1 Oct 2025 14:44:26 +0100 Subject: [PATCH 2/2] remove strictConcurrencySettings --- Package.swift | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/Package.swift b/Package.swift index fcea645c..66be68b0 100644 --- a/Package.swift +++ b/Package.swift @@ -15,23 +15,7 @@ import PackageDescription -let strictConcurrencyDevelopment = false - -let strictConcurrencySettings: [SwiftSetting] = { - var initialSettings: [SwiftSetting] = [] - initialSettings.append(contentsOf: [ - .enableUpcomingFeature("StrictConcurrency"), - .enableUpcomingFeature("InferSendableFromCaptures"), - ]) - - if strictConcurrencyDevelopment { - // -warnings-as-errors here is a workaround so that IDE-based development can - // get tripped up on -require-explicit-sendable. - initialSettings.append(.unsafeFlags(["-require-explicit-sendable", "-warnings-as-errors"])) - } - - return initialSettings -}() +let swiftSettings: [SwiftSetting] = [] let package = Package( name: "swift-nio-http2", @@ -51,7 +35,7 @@ let package = Package( .product(name: "NIOPosix", package: "swift-nio"), .product(name: "NIOHTTP1", package: "swift-nio"), ], - swiftSettings: strictConcurrencySettings + swiftSettings: swiftSettings ), .executableTarget( name: "NIOHTTP2PerformanceTester", @@ -61,7 +45,7 @@ let package = Package( .product(name: "NIOPosix", package: "swift-nio"), .product(name: "NIOEmbedded", package: "swift-nio"), ], - swiftSettings: strictConcurrencySettings + swiftSettings: swiftSettings ), .target( name: "NIOHTTP2", @@ -74,7 +58,7 @@ let package = Package( .product(name: "NIOConcurrencyHelpers", package: "swift-nio"), .product(name: "Atomics", package: "swift-atomics"), ], - swiftSettings: strictConcurrencySettings + swiftSettings: swiftSettings ), .target( name: "NIOHPACK", @@ -84,7 +68,7 @@ let package = Package( .product(name: "NIOConcurrencyHelpers", package: "swift-nio"), .product(name: "NIOHTTP1", package: "swift-nio"), ], - swiftSettings: strictConcurrencySettings + swiftSettings: swiftSettings ), .testTarget( name: "NIOHTTP2Tests", @@ -97,7 +81,7 @@ let package = Package( .product(name: "NIOFoundationCompat", package: "swift-nio"), .product(name: "Atomics", package: "swift-atomics"), ], - swiftSettings: strictConcurrencySettings + swiftSettings: swiftSettings ), .testTarget( name: "NIOHPACKTests", @@ -110,7 +94,7 @@ let package = Package( .copy("Fixtures/large_complex_huffman_b64.txt"), .copy("Fixtures/large_huffman_b64.txt"), ], - swiftSettings: strictConcurrencySettings + swiftSettings: swiftSettings ), ] )