Skip to content

ci: move tests from x86_64-gnu-llvm-19 job to aarch64 #141576

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

Merged
merged 1 commit into from
May 28, 2025

Conversation

marcoieni
Copy link
Member

@marcoieni marcoieni commented May 26, 2025

This PR splits the tests of the x86_64-gnu-llvm-19 job in multiple jobs, using two free runners and one 8 core ARM large runner instead of one 16 core x86 runner.

One job is still on x86 because it is fast enough.

We are effectively replacing a 16 core large runner with an 8 core, which is more efficient.

@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels May 26, 2025
@rust-log-analyzer

This comment has been minimized.

@marcoieni marcoieni force-pushed the pr-free-runners-aarch branch from d2bde10 to 3e56830 Compare May 26, 2025 10:09
@marcoieni
Copy link
Member Author

marcoieni commented May 26, 2025

error: Command cd "/checkout/obj/build/aarch64-unknown-linux-gnu/gcc/build" && "make" "--silent" "-j4" (failure_mode=Exit) has failed. Rerun with -v to see more details.

Not sure what's the issue. I'm removing ENABLE_GCC_CODEGEN: "1"

@marcoieni marcoieni force-pushed the pr-free-runners-aarch branch from 3e56830 to 3f281eb Compare May 26, 2025 11:40
@Kobzol
Copy link
Contributor

Kobzol commented May 26, 2025

Oh, right. I think that GCC currently only works for x64.

@rust-log-analyzer

This comment has been minimized.

@marcoieni
Copy link
Member Author

marcoieni commented May 26, 2025

it's nice that x86_64-gnu-llvm-19 finished in only 34 minutes!

  • Probably we could use a 4 core runner.

but I don't know why the arm runner is failing now 😵

@jieyouxu
Copy link
Member

jieyouxu commented May 26, 2025

but I don't know why the arm runner is failing now 😵

#128973

You'll probably need to add a //@ ignore-aarch64-unknown-linux-gnu (gdb tries to read from 0x0; FIXME: #128973) to ignore that debuginfo test.

@marcoieni
Copy link
Member Author

Thanks, I'll do that. At the same time I wonder why this works

@marcoieni marcoieni force-pushed the pr-free-runners-aarch branch from 3f281eb to 9ad8867 Compare May 26, 2025 14:32
@jieyouxu
Copy link
Member

jieyouxu commented May 26, 2025

I wonder if they're using different gdb versions, if you want to find out exactly you'll probably need to compare the two gdb versions used, but that test is already kinda broken for aarch64-unknown-linux-gnu / windows-gnu anyway.

@rust-log-analyzer

This comment has been minimized.

@marcoieni
Copy link
Member Author

@jieyouxu jieyouxu self-assigned this May 26, 2025
@marcoieni marcoieni force-pushed the pr-free-runners-aarch branch from 9ad8867 to 1c5733f Compare May 26, 2025 16:29
@rustbot rustbot added the A-run-make Area: port run-make Makefiles to rmake.rs label May 26, 2025
@jieyouxu
Copy link
Member

I'm surprised that test doesn't fail on aarch64-gnu, did that test never manage to run?

@marcoieni
Copy link
Member Author

I'm also surprised. yes, it runs.
check the run of b5eb989 (raw log here).

image

@jieyouxu
Copy link
Member

jieyouxu commented May 26, 2025

I'm also surprised. yes, it runs.

can you slap a FIXME pointing to #141600

@marcoieni marcoieni force-pushed the pr-free-runners-aarch branch from 1c5733f to 1ec0b77 Compare May 26, 2025 17:02
@rust-log-analyzer

This comment has been minimized.

@marcoieni marcoieni force-pushed the pr-free-runners-aarch branch from 1ec0b77 to 7c12736 Compare May 26, 2025 18:53
@rust-log-analyzer

This comment has been minimized.

@marcoieni marcoieni force-pushed the pr-free-runners-aarch branch from 7c12736 to 1b7a927 Compare May 26, 2025 20:27
@marcoieni marcoieni marked this pull request as ready for review May 27, 2025 05:31
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 27, 2025
@rustbot
Copy link
Collaborator

rustbot commented May 27, 2025

This PR modifies run-make tests.

cc @jieyouxu

@marcoieni
Copy link
Member Author

@rustbot ready

@Kobzol
Copy link
Contributor

Kobzol commented May 27, 2025

Hmm, together with #119899 this will make the PR CI workflows quite a mess, I hope that it will still be reasonably easy to reproduce the failures locally..

@marcoieni
Copy link
Member Author

Doesn't the method described in this readme work?

@Kobzol
Copy link
Contributor

Kobzol commented May 27, 2025

Hopefully yes, what I meant was that some aarch64 specific failures might be hard to reproduce on x64. But these failures would happen on an auto build anyway, so that shouldn't be a UX regression.

@Kobzol
Copy link
Contributor

Kobzol commented May 28, 2025

This is a bit time sensitive due to our CI spending. Approving this eagerly, if we run into any issues in practice, we can always revert.

@bors r+

@bors
Copy link
Collaborator

bors commented May 28, 2025

📌 Commit 1b7a927 has been approved by Kobzol

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 May 28, 2025
@jieyouxu
Copy link
Member

r? Kobzol

@rustbot rustbot assigned Kobzol and unassigned jieyouxu May 28, 2025
@jieyouxu
Copy link
Member

@bors p=5 (can be included in rollup)

jieyouxu added a commit to jieyouxu/rust that referenced this pull request May 28, 2025
…=Kobzol

ci: move tests from x86_64-gnu-llvm-19 job to aarch64
@bors
Copy link
Collaborator

bors commented May 28, 2025

⌛ Testing commit 1b7a927 with merge 40311c4...

@bors
Copy link
Collaborator

bors commented May 28, 2025

☀️ Test successful - checks-actions
Approved by: Kobzol
Pushing 40311c4 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 28, 2025
@bors bors merged commit 40311c4 into rust-lang:master May 28, 2025
10 checks passed
@rustbot rustbot added this to the 1.89.0 milestone May 28, 2025
Copy link

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 77101fe (parent) -> 40311c4 (this PR)

Test differences

Show 1 test diff

Stage 2

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 40311c4dcf666e8bddcec4a8059e7d9f12bbd363 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. x86_64-apple-2: 4791.8s -> 5985.6s (24.9%)
  2. dist-x86_64-apple: 8899.7s -> 7075.7s (-20.5%)
  3. dist-aarch64-linux: 5393.7s -> 6255.4s (16.0%)
  4. aarch64-gnu-debug: 4784.3s -> 4048.1s (-15.4%)
  5. x86_64-apple-1: 6886.6s -> 7928.8s (15.1%)
  6. dist-apple-various: 7273.4s -> 7970.5s (9.6%)
  7. aarch64-apple: 4964.7s -> 5392.9s (8.6%)
  8. x86_64-rust-for-linux: 2628.6s -> 2797.9s (6.4%)
  9. dist-x86_64-freebsd: 4984.9s -> 5304.6s (6.4%)
  10. dist-x86_64-msvc: 6088.0s -> 6463.5s (6.2%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (40311c4): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (secondary -4.7%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.7% [-4.7%, -4.7%] 1
All ❌✅ (primary) - - 0

Cycles

Results (secondary -2.0%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.0% [-2.0%, -2.0%] 1
All ❌✅ (primary) - - 0

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 777.676s -> 778.629s (0.12%)
Artifact size: 368.53 MiB -> 368.47 MiB (-0.02%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. 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.

7 participants