-
Notifications
You must be signed in to change notification settings - Fork 49
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
Split arch and name action as the build repo (infra) #796
Conversation
And with that patch how many workers will we occupy when building *? |
1 (debs) + 2*4*3 (frontend) + 2*3 (runtime) = 31 (all self hosted runners, all jobs that are not intensive at all and can be swapped in and out frequently) |
I'd keep frontends together. They snap relatively fast, and provisioning the runner (installing snapcraft) can be slower than snapping everything together. |
ok good idea, I agree, I partially roll back the frontend change (keeping the QOL, that is very nice) |
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.
Loop qualifies for removal. See below.
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.
Please introduce an env var
Let's not mess with that loop right now, the glob will match one snap. |
Minor: Spaces, nomenclature, moved comments Minor: bumped retries for build and upload Minor: clarified comment
19b92cc
to
4e95087
Compare
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.
Looks good! Now let's see if it runs as well, as it looks :)
Description
Building multiple arches per matrix expansion leads the workflow to hang waiting for slower archs even if a build failed and makes us unable to re-run the build for a specific arch if it failed. With this modification each arch is built with its own command.
Minor: This also includes a new step that dumps the build URL, this makes it way easier to debug the build if anything goes wrong at runtime
Minor: A few name changes (prettier output for the action menu)
Resolved issues
The probability of a full build is hindered by the fact that every series either builds all arches or retries them all, this greatly increases the probability of retrying the individual arch because it goes from
P(arch_failure)
to1-(1-P(arch_failure))**3
Documentation
This improves the build readability by providing the URL where the build repo is allowing for further debugging if needed without searching this information in the log at runtime
Tests
Started the frontend workflow to see if it works at: https://github.com/canonical/checkbox/actions/runs/6652646495/job/18077062870