switch from main to 0.0.7 for swiftlang workflows#227
Merged
rnro merged 8 commits intoapple:mainfrom Feb 27, 2026
Merged
Conversation
Motivation * `@main` references to `swiftlang/github-workflows` are deprecated. Modifications * Replace `@main` with `@0.0.7` in all workflow files. Result * Workflow files reference a pinned version of `swiftlang/github-workflows`.
Motivation * `let benchmarks` is a global with inferred type `() -> ()`, which is non-`Sendable`, causing a build error under `-require-explicit-sendable`. Modifications * Annotate `benchmarks` as `@Sendable () -> Void`. Result * Benchmark target builds cleanly under strict concurrency checking.
Motivation * `ServerHandler` and `ClientHandler` in benchmark functions are local classes captured in isolated closures, causing errors under strict concurrency checking. Modifications * `ServerHandler` has no mutable state so conforms to `Sendable` directly. * `ClientHandler` has mutable state but is only ever accessed on the `EmbeddedEventLoop`, which is single-threaded, so uses `@unchecked Sendable` with a comment explaining why. Result * Benchmark targets build cleanly under strict concurrency checking.
5dff346 to
c7febb9
Compare
This reverts commit c7febb9.
Lukasa
reviewed
Feb 23, 2026
| final class ClientHandler: ChannelInboundHandler { | ||
| // ClientHandler has mutable state (didSend, readBytes) but is only ever | ||
| // accessed on the EmbeddedEventLoop, which is single-threaded. | ||
| final class ClientHandler: ChannelInboundHandler, @unchecked Sendable { |
Contributor
There was a problem hiding this comment.
This isn't needed: we can change the usage site to create the ClientHandler inside the closure and then insert it using syncOperations.
| final class ClientHandler: ChannelInboundHandler { | ||
| // ClientHandler has mutable state (didSend, readBytes) but is only ever | ||
| // accessed on the EmbeddedEventLoop, which is single-threaded. | ||
| final class ClientHandler: ChannelInboundHandler, @unchecked Sendable { |
| final class ClientHandler: ChannelInboundHandler { | ||
| // ClientHandler has mutable state (didSend, readBytes, chunkSize) but is | ||
| // only ever accessed on the EmbeddedEventLoop, which is single-threaded. | ||
| final class ClientHandler: ChannelInboundHandler, @unchecked Sendable { |
59aaa3e to
81dd80e
Compare
Lukasa
approved these changes
Feb 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
@mainreferences toswiftlang/github-workflowsare deprecated.Modifications
@mainwith@0.0.7in all workflow files.Result
swiftlang/github-workflows.