-
Notifications
You must be signed in to change notification settings - Fork 653
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
base: main
Are you sure you want to change the base?
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
"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?
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. |
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.2) and enables it on our periodic CI runs.
See https://github.com/apple/swift-nio/actions/runs/12234697852/job/34124432584?pr=3019 for an example of this workflow in action.
Result:
Increased CI coverage