Skip to content
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

ci(runner): split build across per-arch runners #81

Merged
merged 4 commits into from
Jan 28, 2025

Conversation

andrewazores
Copy link
Member

@andrewazores andrewazores commented Jan 28, 2025

Welcome to Cryostat! 👋

Before contributing, make sure you have:

  • Read the contributing guidelines
  • Linked a relevant issue which this PR resolves
  • Linked any other relevant issues, PR's, or documentation, if any
  • Resolved all conflicts, if any
  • Rebased your branch PR on top of the latest upstream main branch
  • Attached at least one of the following labels to the PR: [chore, ci, docs, feat, fix, test]
  • Signed all commits using a GPG signature

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)

@andrewazores andrewazores marked this pull request as ready for review January 28, 2025 18:25
@andrewazores andrewazores requested a review from a team as a code owner January 28, 2025 18:25
@andrewazores andrewazores requested a review from aptmac January 28, 2025 18:25
@andrewazores andrewazores merged commit 6c814fb into cryostatio:main Jan 28, 2025
7 checks passed
@andrewazores andrewazores deleted the ci-split-runners branch January 28, 2025 19:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants