Skip to content

Commit fdd7e2f

Browse files
Use StrictConcurrency=complete in Package.swift and add Swift 6 language mode CI (#44)
### Motivation We're trying to lock in strict concurrency across the package ecosystem and standardise on how that's tested. ### Modifications - Add `StrictConcurrency=complete` feature flag to all targets in the package manifest - Remove now superfluous strict concurrency compiler flag in CI runs - Add a new CI pipeline that tests the package with Swift 6 language mode. ### Result - Package configuration consistent with others adopting strict concurrency. - Swift 6 language mode pipeline established to catch regressions.
1 parent cf4ffab commit fdd7e2f

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

Diff for: .github/workflows/pull_request.yml

+6-3
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,16 @@ jobs:
1515
name: Unit tests
1616
uses: apple/swift-nio/.github/workflows/unit_tests.yml@main
1717
with:
18-
linux_5_9_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error -Xswiftc -strict-concurrency=complete"
19-
# TODO: `enable -Xswiftc -strict-concurrency=complete`
18+
linux_5_9_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
2019
linux_5_10_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
21-
linux_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable -Xswiftc -strict-concurrency=complete"
20+
linux_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable"
2221
linux_nightly_6_0_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable"
2322
linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable"
2423

2524
cxx-interop:
2625
name: Cxx interop
2726
uses: apple/swift-nio/.github/workflows/cxx_interop.yml@main
27+
28+
swift-6-language-mode:
29+
name: Cxx interop
30+
uses: apple/swift-nio/.github/workflows/swift_6_language_mode.yml@main

Diff for: Package.swift

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ import PackageDescription
1919
let swiftSettings: [SwiftSetting] = [
2020
// https://github.com/apple/swift-evolution/blob/main/proposals/0335-existential-any.md
2121
// Require `any` for existential types.
22-
.enableUpcomingFeature("ExistentialAny")
22+
.enableUpcomingFeature("ExistentialAny"),
23+
.enableExperimentalFeature("StrictConcurrency=complete"),
2324
]
2425

2526
let package = Package(

0 commit comments

Comments
 (0)