-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CI: concurrency=complete require-explicit-sendable #76
Conversation
a754d2e
to
726c54c
Compare
@@ -17,7 +17,8 @@ import PackageDescription | |||
import class Foundation.ProcessInfo | |||
|
|||
let upcomingFeatureSwiftSettings: [SwiftSetting] = [ | |||
.enableUpcomingFeature("ExistentialAny") | |||
.enableUpcomingFeature("ExistentialAny"), | |||
.enableUpcomingFeature("StrictConcurrency"), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We probably don't want this unilaterally: either only in CI, or only in the Swift 6 compiler.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh nevermind, for ASN.1 it's totally fine as it doesn't have any concurrency anyway.
.github/workflows/pull_request.yml
Outdated
linux_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error -Xswiftc -strict-concurrency=complete -Xswiftc -require-explicit-sendable" | ||
linux_nightly_6_0_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -strict-concurrency=complete -Xswiftc -require-explicit-sendable" | ||
linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -strict-concurrency=complete -Xswiftc -require-explicit-sendable" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are enabling strict concurrency in the Package.swift
already so we don't have to pass it here as well.
.github/workflows/scheduled.yml
Outdated
linux_6_0_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -strict-concurrency=complete -Xswiftc -require-explicit-sendable" | ||
linux_nightly_6_0_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -strict-concurrency=complete -Xswiftc -require-explicit-sendable" | ||
linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -strict-concurrency=complete -Xswiftc -require-explicit-sendable" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here
Motivation: Adopt `-Xswiftc -strict-concurrency=complete -Xswiftc -require-explicit-sendable` in CI to lock-in concurrency-safety wins. Modifications: Added strict flags to pull request and scheduled GHA CI on Swift 6.0. Result: CI should ensure we don't regress data-race safety on Swift 6.0.
a70a865
to
7202800
Compare
7202800
to
489a0fe
Compare
Motivation:
Adopt
-Xswiftc -strict-concurrency=complete -Xswiftc -require-explicit-sendable
in CI to lock-in concurrency-safety wins.Modifications:
Added strict flags to pull request and scheduled GHA CI on Swift 6.0. Add
StrictConcurrency
toPackage.swift
.Result:
CI should ensure we don't regress data-race safety on Swift 6.0.