Skip to content

Add bootstrap step for stdarch-verify#153957

Open
xonx4l wants to merge 2 commits intorust-lang:mainfrom
xonx4l:stdarch-verify
Open

Add bootstrap step for stdarch-verify#153957
xonx4l wants to merge 2 commits intorust-lang:mainfrom
xonx4l:stdarch-verify

Conversation

@xonx4l
Copy link
Contributor

@xonx4l xonx4l commented Mar 16, 2026

View all comments

This PR hooks library/stdarch/crates/stdarch-verify crate into the bootstrap test runner as a step, so that we can run the stdarch-verify suite via x.py test.

Changes :
-> Added StdarchVerify in src/bootstrap/src/core/build_steps/test.rs
-> Added test::StdarchVerify in src/bootstrap/src/core/builder/mod.rs

Tests:
-> Running ./x.py test library/stdarch/crates/stdarch-verify builds compiler and std successfully.
-> All three integration tests Passes:
tests/arm.rs
tests/mips.rs
tests/x86-intel.rs
-> Doc tests for stdarch_verify also Passes.

r? @Kobzol

@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-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Mar 16, 2026
@rustbot
Copy link
Collaborator

rustbot commented Mar 16, 2026

Kobzol is not on the review rotation at the moment.
They may take a while to respond.

@rust-log-analyzer

This comment has been minimized.

Copy link
Member

@Kobzol Kobzol left a comment

Choose a reason for hiding this comment

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

The test step looks good, thank you!

I'm not sure if it's the best approach to create separate bootstrap steps for each of the stdarch test jobs though 🤔 rust-lang/stdarch#1655 (comment) mentioned the possibility of running all of the stdarch tests in a single rust-lang/rust CI job, though I'm not sure if that is practical or possible. So it would be good to come up with some larger plan for how this all will be handled.

That being said, this is a nice little incremental improvement, so let's test if it works fine on all our CI jobs. Left one nit.

View changes since this review

@rust-log-analyzer

This comment has been minimized.

@xonx4l
Copy link
Contributor Author

xonx4l commented Mar 17, 2026

The test step looks good, thank you!

I'm not sure if it's the best approach to create separate bootstrap steps for each of the stdarch test jobs though 🤔 rust-lang/stdarch#1655 (comment) mentioned the possibility of running all of the stdarch tests in a single rust-lang/rust CI job, though I'm not sure if that is practical or possible. So it would be good to come up with some larger plan for how this all will be handled.

That being said, this is a nice little incremental improvement, so let's test if it works fine on all our CI jobs. Left one nit.

View changes since this review

I have idea focussed towards this route only (run the whole stdarch testsuite under a single rust-lang/rust runner and eventually fully migrate stdarch into rust-lang/rust) as mentioned by amanieu’s . For this PR I Kept the scope small so we can get one piece (stdarch-verify) hooked into bootstrap and then can see how it behaves on CI. And in Follow-ups I have idea to go through the practical and possible route . which is to me is shaping and designing intrinsic-test and core_arch in a way that they are hooked with better data on runtime and flakiness. Then we can reshape (Maybe refactor) the bootstrap steps into single bootstrap step under one job . what you think? I hope that makes sense.

Thank you!

@Kobzol
Copy link
Member

Kobzol commented Mar 18, 2026

@bors squash

@rust-bors

This comment has been minimized.

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 18, 2026

🔨 4 commits were squashed into a085b68.

@rust-bors rust-bors bot force-pushed the stdarch-verify branch from c2e430c to a085b68 Compare March 18, 2026 16:39
@Kobzol
Copy link
Member

Kobzol commented Mar 18, 2026

@bors r+ rollup=iffy

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 18, 2026

📌 Commit a085b68 has been approved by Kobzol

It is now in the queue for this repository.

@rust-bors rust-bors bot 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 Mar 18, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Mar 18, 2026
Add bootstrap step for stdarch-verify

This PR hooks `library/stdarch/crates/stdarch-verify` crate into the bootstrap test runner as a step, so that we can run the stdarch-verify suite via x.py test.

Changes :
-> Added StdarchVerify in `src/bootstrap/src/core/build_steps/test.rs`
-> Added `test::StdarchVerify`  in `src/bootstrap/src/core/builder/mod.rs`

Tests:
-> Running `./x.py test library/stdarch/crates/stdarch-verify`  builds compiler and std  successfully.
-> All  three integration tests Passes:
     tests/arm.rs
     tests/mips.rs
     tests/x86-intel.rs
-> Doc tests for `stdarch_verify` also Passes.

r? @Kobzol
rust-bors bot pushed a commit that referenced this pull request Mar 19, 2026
…uwer

Rollup of 9 pull requests

Successful merges:

 - #153957 (Add bootstrap step for stdarch-verify)
 - #153727 (When single impl can satisfy inference error, suggest type)
 - #153308 (Add hygiene annotations for tokens in `macro_rules!` bodies)
 - #153557 (fix inference variables leaking into HIR const literal lowering logic)
 - #153913 (Fix some suggestions of the `for-loops-over-fallibles` lint)
 - #153987 (mGCA: Lower const generic args to infer when needed)
 - #153992 (bootstrap: Optionally print a backtrace if a command fails)
 - #154036 (borrowck/type_check: remove helper left-over from unsized locals)
 - #154038 (merge `regions-outlives-nominal-type-*` tests into one file)
Zalathar added a commit to Zalathar/rust that referenced this pull request Mar 19, 2026
Add bootstrap step for stdarch-verify

This PR hooks `library/stdarch/crates/stdarch-verify` crate into the bootstrap test runner as a step, so that we can run the stdarch-verify suite via x.py test.

Changes :
-> Added StdarchVerify in `src/bootstrap/src/core/build_steps/test.rs`
-> Added `test::StdarchVerify`  in `src/bootstrap/src/core/builder/mod.rs`

Tests:
-> Running `./x.py test library/stdarch/crates/stdarch-verify`  builds compiler and std  successfully.
-> All  three integration tests Passes:
     tests/arm.rs
     tests/mips.rs
     tests/x86-intel.rs
-> Doc tests for `stdarch_verify` also Passes.

r? @Kobzol
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Mar 19, 2026
Add bootstrap step for stdarch-verify

This PR hooks `library/stdarch/crates/stdarch-verify` crate into the bootstrap test runner as a step, so that we can run the stdarch-verify suite via x.py test.

Changes :
-> Added StdarchVerify in `src/bootstrap/src/core/build_steps/test.rs`
-> Added `test::StdarchVerify`  in `src/bootstrap/src/core/builder/mod.rs`

Tests:
-> Running `./x.py test library/stdarch/crates/stdarch-verify`  builds compiler and std  successfully.
-> All  three integration tests Passes:
     tests/arm.rs
     tests/mips.rs
     tests/x86-intel.rs
-> Doc tests for `stdarch_verify` also Passes.

r? @Kobzol
rust-bors bot pushed a commit that referenced this pull request Mar 19, 2026
…uwer

Rollup of 9 pull requests

Successful merges:

 - #153957 (Add bootstrap step for stdarch-verify)
 - #153727 (When single impl can satisfy inference error, suggest type)
 - #153308 (Add hygiene annotations for tokens in `macro_rules!` bodies)
 - #153557 (fix inference variables leaking into HIR const literal lowering logic)
 - #153913 (Fix some suggestions of the `for-loops-over-fallibles` lint)
 - #153987 (mGCA: Lower const generic args to infer when needed)
 - #153992 (bootstrap: Optionally print a backtrace if a command fails)
 - #154036 (borrowck/type_check: remove helper left-over from unsized locals)
 - #154038 (merge `regions-outlives-nominal-type-*` tests into one file)
rust-bors bot pushed a commit that referenced this pull request Mar 19, 2026
…uwer

Rollup of 9 pull requests

Successful merges:

 - #153957 (Add bootstrap step for stdarch-verify)
 - #153727 (When single impl can satisfy inference error, suggest type)
 - #153308 (Add hygiene annotations for tokens in `macro_rules!` bodies)
 - #153557 (fix inference variables leaking into HIR const literal lowering logic)
 - #153913 (Fix some suggestions of the `for-loops-over-fallibles` lint)
 - #153987 (mGCA: Lower const generic args to infer when needed)
 - #153992 (bootstrap: Optionally print a backtrace if a command fails)
 - #154036 (borrowck/type_check: remove helper left-over from unsized locals)
 - #154038 (merge `regions-outlives-nominal-type-*` tests into one file)
@JonathanBrouwer
Copy link
Contributor

@bors try jobs=x86_64-gnu-distcheck

@rust-bors

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Mar 19, 2026
Add bootstrap step for stdarch-verify


try-job: x86_64-gnu-distcheck
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Mar 19, 2026
Add bootstrap step for stdarch-verify

This PR hooks `library/stdarch/crates/stdarch-verify` crate into the bootstrap test runner as a step, so that we can run the stdarch-verify suite via x.py test.

Changes :
-> Added StdarchVerify in `src/bootstrap/src/core/build_steps/test.rs`
-> Added `test::StdarchVerify`  in `src/bootstrap/src/core/builder/mod.rs`

Tests:
-> Running `./x.py test library/stdarch/crates/stdarch-verify`  builds compiler and std  successfully.
-> All  three integration tests Passes:
     tests/arm.rs
     tests/mips.rs
     tests/x86-intel.rs
-> Doc tests for `stdarch_verify` also Passes.

r? @Kobzol
@JonathanBrouwer
Copy link
Contributor

JonathanBrouwer commented Mar 19, 2026

@rust-bors rust-bors bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Mar 19, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 19, 2026

This pull request was unapproved.

This PR was contained in a rollup (#154091), which was unapproved.

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 19, 2026

💔 Test for 0225b04 failed: CI. Failed job:

@rust-log-analyzer

This comment has been minimized.

@rustbot

This comment has been minimized.

@xonx4l
Copy link
Contributor Author

xonx4l commented Mar 21, 2026

@rustbot ready

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 21, 2026
@JonathanBrouwer
Copy link
Contributor

@bors try jobs=x86_64-gnu-distcheck

@rust-bors

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Mar 21, 2026
Add bootstrap step for stdarch-verify


try-job: x86_64-gnu-distcheck
@rust-bors rust-bors bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 21, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 21, 2026

💔 Test for a54dfec failed: CI. Failed job:

@rust-log-analyzer

This comment has been minimized.

@JonathanBrouwer
Copy link
Contributor

@bors try jobs=x86_64-gnu-distcheck

@rust-bors

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Mar 21, 2026
Add bootstrap step for stdarch-verify


try-job: x86_64-gnu-distcheck
xonx4l added 2 commits March 21, 2026 23:44
* add bootstrap for stdarch-verify
* update bootstrap snapshot
* make default
* update snapshots
@rustbot
Copy link
Collaborator

rustbot commented Mar 21, 2026

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 22, 2026

💔 Test for 16f7a1b failed: CI. Failed job:

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-distcheck failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
 INFO Book building has started
 INFO Running the html backend
 INFO HTML book written to `/tmp/distcheck/distcheck-rustc-src/build/x86_64-unknown-linux-gnu/doc/rustc`
Doc path: /tmp/distcheck/distcheck-rustc-src/build/x86_64-unknown-linux-gnu/doc/rustc/index.html
##[group]Testing stage3 stdarch-verify (x86_64-unknown-linux-gnu)
error: no matching package named `syscalls` found
location searched: directory source `/tmp/distcheck/distcheck-rustc-src/vendor` (which is replacing registry `crates-io`)
required by package `core_arch v0.1.5 (/tmp/distcheck/distcheck-rustc-src/library/stdarch/crates/core_arch)`
As a reminder, you're using offline mode (--frozen) which can sometimes cause surprising resolution failures, if this error is too confusing you may wish to retry without `--frozen`.
Build completed unsuccessfully in 1:24:55
make: *** [Makefile:49: check] Error 1
Command `make check [workdir=/tmp/distcheck/distcheck-rustc-src]` failed with exit code 2
Created at: src/bootstrap/src/core/build_steps/test.rs:3507:5
Executed at: src/bootstrap/src/core/build_steps/test.rs:3513:10

--- BACKTRACE vvv
   0: <bootstrap::utils::exec::DeferredCommand>::finish_process
             at /checkout/src/bootstrap/src/utils/exec.rs:939:17
   1: <bootstrap::utils::exec::DeferredCommand>::wait_for_output::<&bootstrap::utils::exec::ExecutionContext>
             at /checkout/src/bootstrap/src/utils/exec.rs:831:21
   2: <bootstrap::utils::exec::ExecutionContext>::run
             at /checkout/src/bootstrap/src/utils/exec.rs:741:45
   3: <bootstrap::utils::exec::BootstrapCommand>::run::<&bootstrap::core::builder::Builder>
             at /checkout/src/bootstrap/src/utils/exec.rs:339:27
   4: bootstrap::core::build_steps::test::distcheck_plain_source_tarball
             at /checkout/src/bootstrap/src/core/build_steps/test.rs:3513:10
   5: <bootstrap::core::build_steps::test::Distcheck as bootstrap::core::builder::Step>::run
             at /checkout/src/bootstrap/src/core/build_steps/test.rs:3476:9
   6: <bootstrap::core::builder::Builder>::ensure::<bootstrap::core::build_steps::test::Distcheck>
             at /checkout/src/bootstrap/src/core/builder/mod.rs:1580:36
   7: <bootstrap::core::build_steps::test::Distcheck as bootstrap::core::builder::Step>::make_run
             at /checkout/src/bootstrap/src/core/build_steps/test.rs:3459:21
   8: <bootstrap::core::builder::StepDescription>::maybe_run
             at /checkout/src/bootstrap/src/core/builder/mod.rs:476:13
   9: bootstrap::core::builder::cli_paths::match_paths_to_steps_and_run
             at /checkout/src/bootstrap/src/core/builder/cli_paths.rs:232:18
  10: <bootstrap::core::builder::Builder>::run_step_descriptions
             at /checkout/src/bootstrap/src/core/builder/mod.rs:1123:9
  11: <bootstrap::core::builder::Builder>::execute_cli
             at /checkout/src/bootstrap/src/core/builder/mod.rs:1102:14
  12: <bootstrap::Build>::build
             at /checkout/src/bootstrap/src/lib.rs:799:25
  13: bootstrap::main
             at /checkout/src/bootstrap/src/bin/main.rs:130:11
  14: <fn() as core::ops::function::FnOnce<()>>::call_once
             at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
  15: std::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
             at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
  16: std::rt::lang_start::<()>::{closure#0}
             at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/rt.rs:206:18
  17: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once
             at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:287:21
  18: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
             at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
  19: std::panicking::catch_unwind::<i32, &dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync>
             at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
  20: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
             at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
  21: std::rt::lang_start_internal::{closure#0}
             at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/rt.rs:175:24
  22: std::panicking::catch_unwind::do_call::<std::rt::lang_start_internal::{closure#0}, isize>
             at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
---
  29: __libc_start_main
  30: _start


Command has failed. Rerun with -v to see more details.
Bootstrap failed while executing `test distcheck`
Build completed unsuccessfully in 1:32:44
  local time: Sun Mar 22 01:20:32 UTC 2026
  network time: Sun, 22 Mar 2026 01:20:32 GMT
##[error]Process completed with exit code 1.

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-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants