-
Notifications
You must be signed in to change notification settings - Fork 10
Move CI large runners to free runners #189
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
Comments
Me and JD discussed about this issue.
For the other jobs, we concluded that for now it's not worth the effort to try to convert them because they probably high effort. |
We are done with this. We moved many runners and this is an effort we'll keep an eye on. It doesn't need to have an open issue. For an up to date state of large vs free runners, see the file https://github.com/rust-lang/rust/blob/master/src/ci/github-actions/jobs.yml |
Uh oh!
There was an error while loading. Please reload this page.
What
We want to optimize the resources used by our CI.
We already migrated many large runners to free runners by splitting tests into multiple jobs. E.g. rust-lang/rust#134124
How
In the following we analyze what jobs of the auto branch we haven't moved yet and why.
Here's a list of all large runners, together with the jobs that are still using them and their average cost:
aarch64-gnu
: ci: switch to linux free arm runners rust#135633aarch64-gnu-debug
: ci: switch to linux free arm runners rust#135633dist-aarch64-linux
: we tried moving it to the free runner but when cache isn't available the runner it's too slow. See zulip.dist-arm-linux
: ci: split dist-arm-linux job rust#141078Moving this job to a free runner makes it too slow. We haven't investigated if it's possible to split
dist
jobs yet. Also, I wonder if there's the same problem asdist-aarch64-linux
. EDIT: splitted now.x86_64-fuchsia
: this job is now disabled.I tried to convert this job to free runners here but it was too slow. This job can't be parallelized because it is just a build.
x86_64-gnu-distcheck
: ci: convert distcheck to free runner rust#141382I tried to convert this job to free runners here but it was too slow. This job can't be parallelized because it only runs one task (
distcheck
). Maybe it can be parallelized but it's not trivial.dist-powerpc64le-linux
: ci: split powerpc64le-linux job rust#141042We can move this to free runner if we solve rust CI: explore if it's possible to free more disk space #183
x86_64-gnu-debug
:Same motivation as
dist-powerpc64le-linux
👆dist-x86_64-linux
:Same motivation as
dist-arm-linux
.dist-x86_64-linux-alt
:Same motivation as
dist-arm-linux
.x86_64-msvc
: CI: split x86_64-msvc job using windows 2025 rust#135632There's CI: split x86_64-msvc job rust#133632 to move this to two free runners, however we haven't merged it yet because the
x86_64-msvc
job is flaky, so we don't want to add more flakiness to CI. To unblock this, we could either fix the flakiness (Tracking Issue for high failure rates on Windows MSVC CI with filesystem errors rust#127883 or implement bootstrap: retrycargo
invocations if stderr contains a known pattern rust#134472i686-msvc
: CI: split i686-msvc job to two free runners rust#135616i686-mingw
: CI: split i686-mingw job to three free runners rust#135813There's a proposal to downgrade the target of this job to tier 2, which means we can delete this job entirely. If the proposal isn't accepted, we can try to split the job into two free runners, but we need to address the flakiness of the job first.
dist-x86_64-msvc
:Same motivation as
dist-arm-linux
The text was updated successfully, but these errors were encountered: