CI: add windows-arm runner
This commit is contained in:
parent
7a8288bce4
commit
08d77873df
3 changed files with 20 additions and 8 deletions
8
src/tools/miri/.github/workflows/ci.yml
vendored
8
src/tools/miri/.github/workflows/ci.yml
vendored
|
|
@ -45,6 +45,8 @@ jobs:
|
|||
os: macos-latest
|
||||
- host_target: i686-pc-windows-msvc
|
||||
os: windows-latest
|
||||
- host_target: aarch64-pc-windows-msvc
|
||||
os: windows-11-arm
|
||||
runs-on: ${{ matrix.os }}
|
||||
env:
|
||||
HOST_TARGET: ${{ matrix.host_target }}
|
||||
|
|
@ -63,6 +65,12 @@ jobs:
|
|||
sudo apt update
|
||||
# Install needed packages
|
||||
sudo apt install $(echo "libatomic1: zlib1g-dev:" | sed 's/:/:${{ matrix.multiarch }}/g')
|
||||
- name: Install rustup on Windows ARM
|
||||
if: ${{ matrix.os == 'windows-11-arm' }}
|
||||
run: |
|
||||
curl -LOs https://static.rust-lang.org/rustup/dist/aarch64-pc-windows-msvc/rustup-init.exe
|
||||
./rustup-init.exe -y --no-modify-path
|
||||
echo "$USERPROFILE/.cargo/bin" >> "$GITHUB_PATH"
|
||||
- uses: ./.github/workflows/setup
|
||||
with:
|
||||
toolchain_flags: "--host ${{ matrix.host_target }}"
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
//! Implements the various phases of `cargo miri run/test`.
|
||||
|
||||
use std::env;
|
||||
use std::fs::{self, File};
|
||||
use std::fs::File;
|
||||
use std::io::BufReader;
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::path::{self, Path, PathBuf};
|
||||
use std::process::Command;
|
||||
|
||||
use rustc_version::VersionMeta;
|
||||
|
|
@ -222,12 +222,12 @@ pub fn phase_cargo_miri(mut args: impl Iterator<Item = String>) {
|
|||
// that to be the Miri driver, but acting as rustc, in host mode.
|
||||
//
|
||||
// In `main`, we need the value of `RUSTC` to distinguish RUSTC_WRAPPER invocations from rustdoc
|
||||
// or TARGET_RUNNER invocations, so we canonicalize it here to make it exceedingly unlikely that
|
||||
// or TARGET_RUNNER invocations, so we make it absolute to make it exceedingly unlikely that
|
||||
// there would be a collision with other invocations of cargo-miri (as rustdoc or as runner). We
|
||||
// explicitly do this even if RUSTC_STAGE is set, since for these builds we do *not* want the
|
||||
// bootstrap `rustc` thing in our way! Instead, we have MIRI_HOST_SYSROOT to use for host
|
||||
// builds.
|
||||
cmd.env("RUSTC", fs::canonicalize(find_miri()).unwrap());
|
||||
cmd.env("RUSTC", path::absolute(find_miri()).unwrap());
|
||||
// In case we get invoked as RUSTC without the wrapper, let's be a host rustc. This makes no
|
||||
// sense for cross-interpretation situations, but without the wrapper, this will use the host
|
||||
// sysroot, so asking it to behave like a target build makes even less sense.
|
||||
|
|
|
|||
|
|
@ -142,7 +142,6 @@ case $HOST_TARGET in
|
|||
# Host
|
||||
GC_STRESS=1 MIR_OPT=1 MANY_SEEDS=64 TEST_BENCH=1 CARGO_MIRI_ENV=1 run_tests
|
||||
# Extra tier 1
|
||||
MANY_SEEDS=64 TEST_TARGET=i686-unknown-linux-gnu run_tests
|
||||
MANY_SEEDS=64 TEST_TARGET=x86_64-apple-darwin run_tests
|
||||
MANY_SEEDS=64 TEST_TARGET=x86_64-pc-windows-gnu run_tests
|
||||
;;
|
||||
|
|
@ -161,8 +160,6 @@ case $HOST_TARGET in
|
|||
aarch64-unknown-linux-gnu)
|
||||
# Host
|
||||
GC_STRESS=1 MIR_OPT=1 MANY_SEEDS=64 TEST_BENCH=1 CARGO_MIRI_ENV=1 run_tests
|
||||
# Extra tier 1 candidate
|
||||
MANY_SEEDS=64 TEST_TARGET=aarch64-pc-windows-msvc run_tests
|
||||
# Extra tier 2
|
||||
MANY_SEEDS=16 TEST_TARGET=arm-unknown-linux-gnueabi run_tests # 32bit ARM
|
||||
MANY_SEEDS=16 TEST_TARGET=aarch64-pc-windows-gnullvm run_tests # gnullvm ABI
|
||||
|
|
@ -189,13 +186,20 @@ case $HOST_TARGET in
|
|||
;;
|
||||
i686-pc-windows-msvc)
|
||||
# Host
|
||||
# Without GC_STRESS as this is the slowest runner.
|
||||
# Without GC_STRESS as this is a very slow runner.
|
||||
MIR_OPT=1 MANY_SEEDS=64 TEST_BENCH=1 run_tests
|
||||
# Extra tier 1
|
||||
# We really want to ensure a Linux target works on a Windows host,
|
||||
# and a 64bit target works on a 32bit host.
|
||||
TEST_TARGET=x86_64-unknown-linux-gnu run_tests
|
||||
;;
|
||||
aarch64-pc-windows-msvc)
|
||||
# Host
|
||||
# Without GC_STRESS as this is a very slow runner.
|
||||
MIR_OPT=1 MANY_SEEDS=64 TEST_BENCH=1 CARGO_MIRI_ENV=1 run_tests
|
||||
# Extra tier 1
|
||||
MANY_SEEDS=64 TEST_TARGET=i686-unknown-linux-gnu run_tests
|
||||
;;
|
||||
*)
|
||||
echo "FATAL: unknown host target: $HOST_TARGET"
|
||||
exit 1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue