Move CI large runners to free runners · Issue #189 · rust-lang/infra-team (original) (raw)
Navigation Menu
- Explore
- Pricing
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Description
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:
- job-aarch64-linux-8c:
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.
- job-linux-8c:
dist-arm-linux
:
Moving this job to a free runner makes it too slow. We haven't investigated if it's possible to splitdist
jobs yet. Also, I wonder if there's the same problem asdist-aarch64-linux
x86_64-fuchsia
:
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
:
I 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.
- job-linux-4c-largedisk:
dist-powerpc64le-linux
:
We can move this to free runner if we solve rust CI: explore if it's possible to free more disk space #183x86_64-gnu-debug
:
Same motivation asdist-powerpc64le-linux
👆
- job-linux-16c:
dist-x86_64-linux
:
Same motivation asdist-arm-linux
.dist-x86_64-linux-alt
:
Same motivation asdist-arm-linux
.
- job-windows-8c:
x86_64-msvc
: CI: split x86_64-msvc job using windows 2025 rust#135632
There's CI: split x86_64-msvc job rust#133632 to move this to two free runners, however we haven't merged it yet because thex86_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: retry cargo 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#135813
There'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 asdist-arm-linux