Skip to content

CI: Add cargo tests to aarch64-apple-darwin #141656

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 29, 2025

Conversation

ehuss
Copy link
Contributor

@ehuss ehuss commented May 27, 2025

This adds running of cargo's tests to the aarch64-apple-darwin job. The reason for this is that tier-1 targets are ostensibly supposed to run tests for host tools, but we are not doing that here. We do have fairly good coverage in Cargo's CI, but we don't cover the beta or stable branches here. I think it would be good to have a fallback here.

I think this should only add about 7 minutes of CI time, but I have not measured it. The current job is about 1.5 hours.

In summary of the tier-1 targets:

Target rust-lang/cargo rust-lang/rust
aarch64-apple-darwin stable/nightly ❌ (this PR)
aarch64-unknown-linux-gnu stable/nightly
x86_64-apple-darwin nightly
x86_64-pc-windows-gnu nightly
x86_64-pc-windows-msvc stable
x86_64-unknown-linux-gnu stable/beta/nightly
i686-pc-windows-msvc
i686-unknown-linux-gnu

try-job: aarch64-apple

This adds running of cargo's tests to the aarch64-apple-darwin job. The
reason for this is that tier-1 targets are ostensibly supposed to run
tests for host tools, but we are not doing that here. We do have fairly
good coverage in Cargo's CI, but we don't have much coverage of beta or
stable. I think it would be good to have a fallback here.
@rustbot
Copy link
Collaborator

rustbot commented May 27, 2025

r? @marcoieni

rustbot has assigned @marcoieni.
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 May 27, 2025
@jieyouxu
Copy link
Member

jieyouxu commented May 27, 2025

It seems surprising that we don't yet run cargo's tests in CI for hosts by default (as part of ./x test) on stage 2

$ ./x test --dry-run --stage=2 | grep cargo
Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.02s
Documenting stage2 cargo (x86_64-unknown-linux-gnu)
Doc path: /home/joe/repos/rust/build/tmp-dry-run/x86_64-unknown-linux-gnu/doc/cargo/index.html
Building tool cargo (stage1 -> stage2, x86_64-unknown-linux-gnu)
Build completed successfully in 0:00:00

🤔

Yeah, e.g.

# x86_64-msvc-ext is split into multiple jobs to run tests in parallel.
- name: x86_64-msvc-ext1
env:
SCRIPT: python x.py --stage 2 test src/tools/cargotest src/tools/cargo

That seems weird

@Kobzol
Copy link
Contributor

Kobzol commented May 27, 2025

@bors try

bors added a commit that referenced this pull request May 27, 2025
CI: Add cargo tests to aarch64-apple-darwin

This adds running of cargo's tests to the aarch64-apple-darwin job. The reason for this is that tier-1 targets are ostensibly supposed to run tests for host tools, but we are not doing that here. We do have fairly good coverage in Cargo's CI, but we don't cover the beta or stable branches here. I think it would be good to have a fallback here.

I think this should only add about 7 minutes of CI time, but I have not measured it. The current job is about 1.5 hours.

In summary of the tier-1 targets:

| Target | rust-lang/cargo | rust-lang/rust |
|--------|-----------------|----------------|
| aarch64-apple-darwin | stable/nightly | ❌ (this PR) |
| aarch64-unknown-linux-gnu | stable/nightly | ✓ |
| x86_64-apple-darwin | nightly | ❌ |
| x86_64-pc-windows-gnu | nightly | ❌ |
| x86_64-pc-windows-msvc | stable | ✓ |
| x86_64-unknown-linux-gnu | stable/beta/nightly | ✓ |
| i686-pc-windows-msvc | ❌ | ❌ |
| i686-unknown-linux-gnu | ❌ | ❌ |

try-job: aarch64-apple
@bors
Copy link
Collaborator

bors commented May 27, 2025

⌛ Trying commit d562c46 with merge 63a497b...

@bors
Copy link
Collaborator

bors commented May 27, 2025

☀️ Try build successful - checks-actions
Build commit: 63a497b (63a497bb8197cdbc4f41c58d9e609c9c8d5c930b)

@marcoieni
Copy link
Member

I agree that it seems weird, yes. Should we also run src/tools/cargotest?

Anyway, this looks good and timing is still ok, so feel free to r=me 👍

@jieyouxu
Copy link
Member

I agree that it seems weird, yes. Should we also run src/tools/cargotest?

That particular test suite is kinda low value, we could I guess? But best in a separate PR. Anyway, opened #141686 to track the fact that we're not running host cargo tests for Tier 1 targets by default as part of ./x test, which is not for this PR to fix.

@bors r=marcoieni,jieyouxu

@bors
Copy link
Collaborator

bors commented May 28, 2025

📌 Commit d562c46 has been approved by marcoieni,jieyouxu

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
Copy link
Member

@jieyouxu jieyouxu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@jieyouxu jieyouxu added O-AArch64 Armv8-A or later processors in AArch64 mode O-apple Operating system: Apple (macOS, iOS, tvOS, visionOS, watchOS) T-cargo Relevant to the cargo team, which will review and decide on the PR/issue. labels May 28, 2025
jieyouxu added a commit to jieyouxu/rust that referenced this pull request May 28, 2025
…ieni,jieyouxu

CI: Add cargo tests to aarch64-apple-darwin

This adds running of cargo's tests to the aarch64-apple-darwin job. The reason for this is that tier-1 targets are ostensibly supposed to run tests for host tools, but we are not doing that here. We do have fairly good coverage in Cargo's CI, but we don't cover the beta or stable branches here. I think it would be good to have a fallback here.

I think this should only add about 7 minutes of CI time, but I have not measured it. The current job is about 1.5 hours.

In summary of the tier-1 targets:

| Target | rust-lang/cargo | rust-lang/rust |
|--------|-----------------|----------------|
| aarch64-apple-darwin | stable/nightly | ❌ (this PR) |
| aarch64-unknown-linux-gnu | stable/nightly | ✓ |
| x86_64-apple-darwin | nightly | ❌ |
| x86_64-pc-windows-gnu | nightly | ❌ |
| x86_64-pc-windows-msvc | stable | ✓ |
| x86_64-unknown-linux-gnu | stable/beta/nightly | ✓ |
| i686-pc-windows-msvc | ❌ | ❌ |
| i686-unknown-linux-gnu | ❌ | ❌ |

try-job: aarch64-apple
bors added a commit that referenced this pull request May 29, 2025
Rollup of 4 pull requests

Successful merges:

 - #138285 (Stabilize `repr128`)
 - #139994 (add `CStr::display`)
 - #141571 (coretests: extend and simplify float tests)
 - #141656 (CI: Add cargo tests to aarch64-apple-darwin)

Failed merges:

 - #141430 (remove `visit_clobber` and move `DummyAstNode` to `rustc_expand`)
 - #141636 (avoid some usages of `&mut P<T>` in AST visitors)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit ee3e807 into rust-lang:master May 29, 2025
8 checks passed
rust-timer added a commit that referenced this pull request May 29, 2025
Rollup merge of #141656 - ehuss:cargo-aarch64-macos, r=marcoieni,jieyouxu

CI: Add cargo tests to aarch64-apple-darwin

This adds running of cargo's tests to the aarch64-apple-darwin job. The reason for this is that tier-1 targets are ostensibly supposed to run tests for host tools, but we are not doing that here. We do have fairly good coverage in Cargo's CI, but we don't cover the beta or stable branches here. I think it would be good to have a fallback here.

I think this should only add about 7 minutes of CI time, but I have not measured it. The current job is about 1.5 hours.

In summary of the tier-1 targets:

| Target | rust-lang/cargo | rust-lang/rust |
|--------|-----------------|----------------|
| aarch64-apple-darwin | stable/nightly | ❌ (this PR) |
| aarch64-unknown-linux-gnu | stable/nightly | ✓ |
| x86_64-apple-darwin | nightly | ❌ |
| x86_64-pc-windows-gnu | nightly | ❌ |
| x86_64-pc-windows-msvc | stable | ✓ |
| x86_64-unknown-linux-gnu | stable/beta/nightly | ✓ |
| i686-pc-windows-msvc | ❌ | ❌ |
| i686-unknown-linux-gnu | ❌ | ❌ |

try-job: aarch64-apple
@rustbot rustbot added this to the 1.89.0 milestone May 29, 2025
github-actions bot pushed a commit to model-checking/verify-rust-std that referenced this pull request May 30, 2025
Rollup of 4 pull requests

Successful merges:

 - rust-lang#138285 (Stabilize `repr128`)
 - rust-lang#139994 (add `CStr::display`)
 - rust-lang#141571 (coretests: extend and simplify float tests)
 - rust-lang#141656 (CI: Add cargo tests to aarch64-apple-darwin)

Failed merges:

 - rust-lang#141430 (remove `visit_clobber` and move `DummyAstNode` to `rustc_expand`)
 - rust-lang#141636 (avoid some usages of `&mut P<T>` in AST visitors)

r? `@ghost`
`@rustbot` modify labels: rollup
flip1995 pushed a commit to flip1995/rust-clippy that referenced this pull request May 31, 2025
Rollup of 4 pull requests

Successful merges:

 - rust-lang/rust#138285 (Stabilize `repr128`)
 - rust-lang/rust#139994 (add `CStr::display`)
 - rust-lang/rust#141571 (coretests: extend and simplify float tests)
 - rust-lang/rust#141656 (CI: Add cargo tests to aarch64-apple-darwin)

Failed merges:

 - rust-lang/rust#141430 (remove `visit_clobber` and move `DummyAstNode` to `rustc_expand`)
 - rust-lang/rust#141636 (avoid some usages of `&mut P<T>` in AST visitors)

r? `@ghost`
`@rustbot` modify labels: rollup
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 O-AArch64 Armv8-A or later processors in AArch64 mode O-apple Operating system: Apple (macOS, iOS, tvOS, visionOS, watchOS) S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-cargo Relevant to the cargo team, which will review and decide on the PR/issue. 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