-
Notifications
You must be signed in to change notification settings - Fork 644
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] Add Swift 6 language mode workflow #2812
Conversation
dc9ebaa
to
2c2ce79
Compare
Turns out we are not warnings and errors clean in Swift 6 mode 🙃 |
I'm not even slightly surprised. |
@Lukasa I think we gotta live with this naming for now on the checks. If you could be so kind and update the branch protection rules hopefully one last time |
Have you deliberately not added the repeated name to the integration tests @FranzBusch? |
Yeah. That's the only way to make this work sadly. Since the other workflows are reusable workflows and the integration tests are just a job of our PR workflow |
Why aren't the integration tests reusable? We do have them in other NIO repos. |
Yes more repos have a script that executes the integration tests but those are not "standard" commands like Now coming back to the problem at hand here. The naming that GH is displaying for actions is just different in the different UIs.
|
# Motivation We want to check how our packages perform in Swift 6 language mode. # Modification This PR adds a new reusable workflow that sets the tools version to Swift 6 and then builds with warnings as errors enabled. Additionally, I did a bit of cleanup for the workflow names to hopefully make them look nice in every GH Action UI. # Result We now get a feeling for our Swift 6 language mode compatibility.
2c2ce79
to
10435a0
Compare
Ok great, branch changes made. |
@Lukasa Thanks. Feel free to approve then |
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [apple/swift-nio](https://github.com/apple/swift-nio) | minor | `2.68.0` -> `2.70.0` | --- ### Release Notes <details> <summary>apple/swift-nio (apple/swift-nio)</summary> ### [`v2.70.0`](https://github.com/apple/swift-nio/releases/tag/2.70.0): SwiftNIO 2.70.0 [Compare Source](https://github.com/apple/swift-nio/compare/2.69.0...2.70.0) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### SemVer Minor - `FileSystem.copyItem` can parallelise directory copy by [@​UncleMattHope](https://github.com/UncleMattHope) in [apple/swift-nio#2806 - `ChannelOption`: Allow types to be accessed with leading dot syntax by [@​ayush1794](https://github.com/ayush1794) in [apple/swift-nio#2816 - Make `EventLoopPromise` conform to Equatable by [@​gjcairo](https://github.com/gjcairo) in [apple/swift-nio#2714 - Provide a default `CopyStrategy` overload for copyItem. by [@​UncleMattHope](https://github.com/UncleMattHope) in [apple/swift-nio#2818 ##### SemVer Patch - Better align shutdown semantics of testing event loops by [@​simonjbeaumont](https://github.com/simonjbeaumont) in [apple/swift-nio#2800 - Clone files on Darwin rather than copying them by [@​rnro](https://github.com/rnro) in [apple/swift-nio#2823 ##### Other Changes - Fix compose file used in update-benchmark-thresholds script by [@​simonjbeaumont](https://github.com/simonjbeaumont) in [apple/swift-nio#2808 - Remove advice to generate linux tests. by [@​PeterAdams-A](https://github.com/PeterAdams-A) in [apple/swift-nio#2807 - Make `testInstantTCPConnectionResetThrowsError` more reliable by [@​hamzahrmalik](https://github.com/hamzahrmalik) in [apple/swift-nio#2810 - \[CI] Add `shellcheck` and fix up warnings by [@​FranzBusch](https://github.com/FranzBusch) in [apple/swift-nio#2809 - \[CI] Fix docs check by [@​FranzBusch](https://github.com/FranzBusch) in [apple/swift-nio#2811 - \[CI] Add Swift 6 language mode workflow by [@​FranzBusch](https://github.com/FranzBusch) in [apple/swift-nio#2812 - Fix test compilation on non-macOS Darwin platforms by [@​simonjbeaumont](https://github.com/simonjbeaumont) in [apple/swift-nio#2817 - Add `.index-build` to `.gitignore` by [@​MaxDesiatov](https://github.com/MaxDesiatov) in [apple/swift-nio#2819 - \[CI] Add action and workflow to check for semver label by [@​FranzBusch](https://github.com/FranzBusch) in [apple/swift-nio#2814 - Update repository docs for swift-version support and recent CI check changes by [@​UncleMattHope](https://github.com/UncleMattHope) in [apple/swift-nio#2815 - Fix failing build for test by [@​ayush1794](https://github.com/ayush1794) in [apple/swift-nio#2824 - Fix typo in comment in `WebSocketErrorCodes.swift` by [@​valeriyvan](https://github.com/valeriyvan) in [apple/swift-nio#2604 - \[CI] Add a scheduled workflow for tests and benchmarks by [@​FranzBusch](https://github.com/FranzBusch) in [apple/swift-nio#2822 - \[CI] Fix label check by [@​FranzBusch](https://github.com/FranzBusch) in [apple/swift-nio#2827 #### New Contributors - [@​UncleMattHope](https://github.com/UncleMattHope) made their first contribution in [apple/swift-nio#2806 - [@​ayush1794](https://github.com/ayush1794) made their first contribution in [apple/swift-nio#2816 - [@​valeriyvan](https://github.com/valeriyvan) made their first contribution in [apple/swift-nio#2604 **Full Changelog**: apple/swift-nio@2.69.0...2.70.0 ### [`v2.69.0`](https://github.com/apple/swift-nio/releases/tag/2.69.0): SwiftNIO 2.69.0 [Compare Source](https://github.com/apple/swift-nio/compare/2.68.0...2.69.0) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### SemVer Minor - Add manual control to `NIOLockedValueBox` by [@​glbrntt](https://github.com/glbrntt) in [apple/swift-nio#2786 - ChannelHandler: provide static `(un)wrap(In|Out)bound(In|Out)` by [@​weissi](https://github.com/weissi) in [apple/swift-nio#2791 ##### SemVer Patch - Pre-box some errors to reduce allocations by [@​glbrntt](https://github.com/glbrntt) in [apple/swift-nio#2765 - Allow in-place mutation of `NIOLoopBoundBox.value` by [@​dnadoba](https://github.com/dnadoba) in [apple/swift-nio#2771 - Avoid creating a yield ID counter per async writer by [@​glbrntt](https://github.com/glbrntt) in [apple/swift-nio#2768 - Combine the two `NIOAsyncChannel` channel handlers by [@​glbrntt](https://github.com/glbrntt) in [apple/swift-nio#2779 - Use the new Android overlay and Bionic module from Swift 6 by [@​finagolfin](https://github.com/finagolfin) in [apple/swift-nio#2784 - Change `unsafeDownCast` to `as!` by [@​FranzBusch](https://github.com/FranzBusch) in [apple/swift-nio#2802 ##### Other Changes - CI migration to GitHub Action by [@​FranzBusch](https://github.com/FranzBusch) in ([apple/swift-nio#2760 [apple/swift-nio#2762 [apple/swift-nio#2763 [apple/swift-nio#2764 [apple/swift-nio#2767 [apple/swift-nio#2766 [apple/swift-nio#2776 [apple/swift-nio#2780 [apple/swift-nio#2785 [apple/swift-nio#2781 [apple/swift-nio#2787 [apple/swift-nio#2783 [apple/swift-nio#2789 [apple/swift-nio#2790) - Ignore format commit from git blame by [@​FranzBusch](https://github.com/FranzBusch) in [apple/swift-nio#2796 [apple/swift-nio#2797 [apple/swift-nio#2801 [apple/swift-nio#2803 - Adopt swift-format by [@​FranzBusch](https://github.com/FranzBusch) in [apple/swift-nio#2794 - `HTTPPart` Documentation Clarification by [@​dimitribouniol](https://github.com/dimitribouniol) in [apple/swift-nio#2775 - Add benchmark for creating `NIOAsyncChannel` by [@​glbrntt](https://github.com/glbrntt) in [apple/swift-nio#2774 - Disable warnings as errors on Swift 6 and main by [@​glbrntt](https://github.com/glbrntt) in [apple/swift-nio#2793 **Full Changelog**: apple/swift-nio@2.68.0...2.69.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xOC4xIiwidXBkYXRlZEluVmVyIjoiMzguMzkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: cgrindel-self-hosted-renovate[bot] <139595543+cgrindel-self-hosted-renovate[bot]@users.noreply.github.com>
Motivation
We want to check how our packages perform in Swift 6 language mode.
Modification
This PR adds a new reusable workflow that sets the tools version to Swift 6 and then builds with warnings as errors enabled.
Additionally, I did a bit of cleanup for the workflow names to hopefully make them look nice in every GH Action UI.
Result
We now get a feeling for our Swift 6 language mode compatibility.