Closed kendalharland closed 1 month ago
Happy to upstream the changes to the workflow inputs to compnerd/swift-build. Still sending this for review in the meantime so I can get feedback while the tests run.
Upstreamed most of the changes to swift-toolchain.yml and will rebase once https://github.com/compnerd/swift-build/pull/747 is merged.
This PR is failing to package swift-inspect on cirun because of an if-statement. This will be fixed by https://github.com/compnerd/swift-build/pull/749
Update, this change is g2g, just waiting on the base swift-toolchain.yml build to turn green. @z2oh is currently working to resolve.
This PR refactors
swift-toolchain.yml
so that it has no automated triggers. Instead it is only run via one of:workflow_call
workflow_dispatch
.This PR also adds three new workflows that each include a
vars.USE_CIRUN
kill switch:swift-toolchain.yml
with GitHub images onpull_request
swift-toolchain.yml
with Cirun images onpull_request
swift-toolchain.yml
every 6 hours with Azure images onschedule
Separate workflows must be used for the pull-request* workflows instead of one parent workflow that uses GitHub and Cirun images via a
matrix
. This is because the child workflows called from the parent would upload artifacts with identical names, and race. The first uploader wins while the second fails. It is easier to handle this using separate workflow files than it is to - for example - namespace the uploads using a string prefix, inside swift-toolchain.ymlswft-toolchain.yml is also updated with these inputs:
default_runner
compiler_runner
publish_artifacts