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: use free runners for 3 fast windows jobs #132316

Merged
merged 1 commit into from
Oct 31, 2024

Conversation

MarcoIeni
Copy link
Member

@MarcoIeni MarcoIeni commented Oct 29, 2024

I noticed that some windows jobs running on large runners are significantly faster than the rest of the auto build.

Here's some data based on the latest 97 auto builds:

  • Average of these jobs:
    • dist-i686-mingw: 88 minutes
    • dist-x86_64-mingw: 86 minutes
    • dist-x86_64-msvc-alt: 81 minutes
  • Minimum duration of the auto builds: 136 minutes (2h 16 min).
  • Average duration of the auto build: 155 minutes (2h 35 min).

In this PR I switch these jobs from large runners to free runners, to see if we can save some resources.

Imo if the try builds don't take longer than the average duration of the auto build we could merge this PR.

try-job: dist-i686-msvc
try-job: dist-i686-mingw
try-job: dist-x86_64-mingw
try-job: dist-x86_64-msvc-alt

@rustbot
Copy link
Collaborator

rustbot commented Oct 29, 2024

r? @Mark-Simulacrum

rustbot has assigned @Mark-Simulacrum.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Oct 29, 2024
@MarcoIeni
Copy link
Member Author

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request Oct 29, 2024
…=<try>

CI: use free runners for 4 fast windows jobs

I noticed those jobs are faster than the others. The longest is 1 h 30 min, while the [auto builds](https://github.com/rust-lang-ci/rust/actions?query=branch%3Aauto) usually take > 2h 20 min.

I'll try how much time windows free runners take for these jobs to see if we can use them instead of the large one.

Goal: these jobs shouldn't take longer than the slowest jobs of the auto build.

- [ ] provide data based on multiple commits, not just based on one commit.

try-job: dist-aarch64-msvc
try-job: dist-i686-mingw
try-job: dist-x86_64-mingw
try-job: dist-x86_64-msvc-alt
@bors
Copy link
Contributor

bors commented Oct 29, 2024

⌛ Trying commit 59915ef with merge 1d5e9fc...

@MarcoIeni
Copy link
Member Author

I realized is also worth testing dist-i686-msvc. I'll do it in another pr maybe

@jieyouxu
Copy link
Member

jieyouxu commented Oct 29, 2024

@MarcoIeni btw for whatever reason a few dist-* jobs also run tests which are not run by default in try-jobs (they need DIST_TRY_BUILD=1 set), though it should matter that much for overall time.

there's a DIST_TRY_BUILD env var in the jobs, comment that for your try build and it'll run the opt-dist tests

I haven't bothered to check if the ones you're running here have such tests.

EDIT: I messed up the order, it's actually DIST_TRY_BUILD=1 unset

@MarcoIeni
Copy link
Member Author

MarcoIeni commented Oct 29, 2024

Ok, thanks for looking into this!
What I'm trying to do here is check how long these jobs will take in the auto build.
Do you think I need to change something in my approach?

If I need to set that environment variable, how do I do it? By editing the workflow file maybe?

@jieyouxu
Copy link
Member

jieyouxu commented Oct 29, 2024

Ok, thanks for looking into this! What I'm trying to do here is check how long these jobs will take in the auto build. Do you think I need to change something in my approach?

If I need to set that environment variable, how do I do it?

I'm not sure if these specific set of dist-* jobs have (post opt-dist) tests. If you need to unset that env var (if the dist-* jobs do have extra tests), you would comment DIST_TRY_BUILD=1 out like faa347a.

(I mixed up, it should be unsetting that env var, not set)
EDIT: yes, by editing jobs.yml AFAIK

@bors
Copy link
Contributor

bors commented Oct 29, 2024

☀️ Try build successful - checks-actions
Build commit: 1d5e9fc (1d5e9fc55459143d612ac42e8caa1d4ebf0aabcd)

@MarcoIeni
Copy link
Member Author

MarcoIeni commented Oct 29, 2024

Here's the result of the try job
image
Imo they are all acceptable except for dist-aarch64-msvc which I will revert now.
I'll substitute it with dist-i686-msvc instead.

I edited the pr description to change bors try.

@MarcoIeni
Copy link
Member Author

@bors try

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Contributor

bors commented Oct 29, 2024

⌛ Trying commit 7ea21e5 with merge 4420845...

bors added a commit to rust-lang-ci/rust that referenced this pull request Oct 29, 2024
…=<try>

CI: use free runners for 4 fast windows jobs

I noticed those jobs are faster than the others. The longest is 1 h 30 min, while the [auto builds](https://github.com/rust-lang-ci/rust/actions?query=branch%3Aauto) usually take > 2h 20 min.

I'll try how much time windows free runners take for these jobs to see if we can use them instead of the large one.

Goal: these jobs shouldn't take longer than the slowest jobs of the auto build.

- [ ] provide data based on multiple commits, not just based on one commit.

try-job: dist-i686-msvc
try-job: dist-i686-mingw
try-job: dist-x86_64-mingw
try-job: dist-x86_64-msvc-alt
@MarcoIeni
Copy link
Member Author

MarcoIeni commented Oct 29, 2024

The job dist-i686-msvc is running for too long, so I don't want to move it to free runners.

I will push a commit where I remove dist-i686-msvc.

However the other jobs look good
image

@MarcoIeni
Copy link
Member Author

@Mark-Simulacrum I think we could merge this PR and monitor how these jobs perform in the auto builds in the next week. What do you think?

@Mark-Simulacrum
Copy link
Member

I'm fine with that, r=me

@MarcoIeni MarcoIeni changed the title CI: use free runners for 4 fast windows jobs CI: use free runners for 3 fast windows jobs Oct 31, 2024
@MarcoIeni
Copy link
Member Author

MarcoIeni commented Oct 31, 2024

Force pushed, let me know if I need to do something else 👍

EDIT: Kobzol told me I can approve this with bors, I'll do it in the next comment.

@MarcoIeni
Copy link
Member Author

@bors r=Mark-Simulacrum

@bors
Copy link
Contributor

bors commented Oct 31, 2024

📌 Commit 183599f has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 31, 2024
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Oct 31, 2024
… r=Mark-Simulacrum

CI: use free runners for 3 fast windows jobs

try-job: dist-i686-msvc
try-job: dist-i686-mingw
try-job: dist-x86_64-mingw
try-job: dist-x86_64-msvc-alt
bors added a commit to rust-lang-ci/rust that referenced this pull request Oct 31, 2024
…iaskrgr

Rollup of 5 pull requests

Successful merges:

 - rust-lang#130693 (Add `minicore` test auxiliary and support `//@ add-core-stubs` directive in ui/assembly/codegen tests)
 - rust-lang#132316 (CI: use free runners for 3 fast windows jobs)
 - rust-lang#132354 (Add `lp64e` RISC-V ABI)
 - rust-lang#132395 (coverage: Avoid ICE when `coverage_cx` is unexpectedly unavailable)
 - rust-lang#132396 (CI: use free runners for x86_64-gnu-tools and x86_64-rust-for-linux)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 76b748a into rust-lang:master Oct 31, 2024
6 checks passed
@rustbot rustbot added this to the 1.84.0 milestone Oct 31, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Oct 31, 2024
Rollup merge of rust-lang#132316 - MarcoIeni:ci-free-runners-windows, r=Mark-Simulacrum

CI: use free runners for 3 fast windows jobs

try-job: dist-i686-msvc
try-job: dist-i686-mingw
try-job: dist-x86_64-mingw
try-job: dist-x86_64-msvc-alt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants