thebrowsercompany / swift-build

Swift toolchain builds by The Browser Company
351 stars 10 forks source link

Split swift-toolchain.yml triggers into seperate workflows #159

Closed kendalharland closed 1 month ago

kendalharland commented 2 months ago

This PR refactors swift-toolchain.yml so that it has no automated triggers. Instead it is only run via one of:

This PR also adds three new workflows that each include a vars.USE_CIRUN kill switch:

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.yml

swft-toolchain.yml is also updated with these inputs:

kendalharland commented 2 months 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.

kendalharland commented 2 months ago

Upstreamed most of the changes to swift-toolchain.yml and will rebase once https://github.com/compnerd/swift-build/pull/747 is merged.

kendalharland commented 2 months ago

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

kendalharland commented 1 month ago

Update, this change is g2g, just waiting on the base swift-toolchain.yml build to turn green. @z2oh is currently working to resolve.