Skip to content

Test Miri on all tier 1 targets #117167

Closed
@RalfJung

Description

@RalfJung

We currently run Miri on tests a few select targets:

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-CIArea: Our Github Actions CIA-miriArea: The miri toolT-infraRelevant to the infrastructure team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions