-
Notifications
You must be signed in to change notification settings - Fork 657
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
A re-usable static SDK compilation workflow #3019
Conversation
8994714
to
13c8812
Compare
Motivation: We would like to offer the ability to opt-in to CI coverage for compilation against the Linux static SDK. Modifications: Introduce a workflow which will install a Swift snapshot and Linux SDK and test the repository builds against it. The script which sets up the VM will install snapshots and SDKs for either branch or released-version snapshots. They can be specified as: - a specific version string - the 'latest' version, the script attempts to find the most recent version enumerated on swift.org with both SDK and toolchain available - the most recent snapshot for the specified branch name enumerated on swift.org with both SDK and toolchain available At the moment the script should work on ubuntu and amazonlinux OSes, this can be expanded in the future. The current matrix covers testing building on Ubuntu Jammy for the main branch and latest released Swift version (6.0.2). Result: Increased CI coverage
13c8812
to
177639d
Compare
.github/workflows/static_sdk.yml
Outdated
"swift":[ | ||
{ | ||
"name":"latest-release Jammy", | ||
"swift_version":"6.0.2", |
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.
Is this outdated as of today since 6.0.3 got released?
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.
It was informational only and will just get out of date so I changed it to latest-release
Is there any reason not to add this to the Swiftlang workflow repo straight away? |
We are not using the swiftlang repo for our matrix workflows right now. We plan on opening a PR to propose merging our matrix workflows into swiftlang but for now we are keeping them separate to iterate faster to a state where we feel good in upstreaming them. |
0c4bb08
to
5f2c817
Compare
5f2c817
to
7e2d7f1
Compare
A re-usable static SDK compilation workflow
Motivation:
We would like to offer the ability to opt-in to CI coverage for compilation against the Linux static SDK.
Modifications:
Introduce a workflow which will install a Swift snapshot and Linux SDK
and test the repository builds against it.
The script which sets up the VM will install snapshots and SDKs for
either branch or released-version snapshots. They can be specified as:
version enumerated on swift.org with both SDK and toolchain available
swift.org with both SDK and toolchain available
At the moment the script should work on ubuntu and amazonlinux OSes,
this can be expanded in the future.
The current matrix covers testing building on Ubuntu Jammy for the main
branch and latest released Swift version (6.0.3) and enables it on our periodic CI runs.
See https://github.com/apple/swift-nio/actions/runs/13722773053/job/38381907947?pr=3019 for a recent example of this workflow in action.
Result:
Increased CI coverage