ci(runner): split build across per-arch runners #81
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Welcome to Cryostat! 👋
Before contributing, make sure you have:
main
branch[chore, ci, docs, feat, fix, test]
To recreate commits with GPG signature
git fetch upstream && git rebase --force --gpg-sign upstream/main
See cryostatio/cryostat#786
Related to cryostatio/cryostat-operator#611
Description of the change:
Splits up the CI job for building containers, so that each arch (amd64 and arm64) for the multiarch manifest is built in parallel, and on a native-arch runner rather than cross-compiling using qemu.
Motivation for the change:
Very significantly faster build. Sequentially building the two archs on an amd64 runner usually takes about an hour total, but this time is heavily dominated by the emulation slowdown of cross-compilation running under qemu. With this change each build takes a bit over 10 minutes, and since they are done in parallel, the total CI completion time goes from over an hour to just over 10 minutes.
Sample runs:
Before: https://github.com/cryostatio/cryostat-openshift-console-plugin/actions/runs/13016113128
After: https://github.com/andrewazores/cryostat-openshift-console-plugin/actions/runs/13016583361 (result - https://quay.io/repository/andrewazores/cryostat-openshift-console-plugin?tab=tags)