-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Description
We currently run Miri on tests a few select targets:
rust/src/ci/docker/host-x86_64/x86_64-gnu-tools/checktools.sh
Lines 27 to 32 in c905fd2
python3 "$X_PY" test --stage 2 src/tools/miri | |
# We natively run this script on x86_64-unknown-linux-gnu and x86_64-pc-windows-msvc. | |
# Also cover some other targets (on both of these hosts) via cross-testing. | |
export BOOTSTRAP_SKIP_TARGET_SANITY=1 # we don't need `cc` for these targets | |
python3 "$X_PY" test --stage 2 src/tools/miri --target i686-pc-windows-msvc | |
python3 "$X_PY" test --stage 2 src/tools/miri --target aarch64-apple-darwin |
However, that's not all tier 1 targets, so e.g. x86_64-apple-darwin is not covered, and today's nightly contains a Miri where some APIs are broken on x86_64-apple-darwin.
It'd be great if we could run (some) Miri tests on all tier 1 targets. Note that Miri tests can be run on any host so this does not require running checktools.sh on more hosts. However we'd probably not want to test all targets on all hosts, so we need some way in checktools.sh to determine which host we are on, and spread the test jobs across the hosts. Also, depending on how tight our time budget is here, we might want to not run all tests -- just running the "pass" tests should generally be sufficient and can save a bunch of time.
Cc @rust-lang/infra -- in particular, (a) how can I check for the host in checktools.sh, and (b) how tight is our time budget for the "tools" builders?