3434 - name : Fetch pull request ref
3535 run : git fetch origin "$GITHUB_REF:$GITHUB_REF"
3636 if : github.event_name == 'pull_request'
37- - run : python3 ci/ci-util.py generate-matrix >> "$GITHUB_OUTPUT"
37+ - run : |
38+ set -eo pipefail # Needed to actually fail the job if ci-util fails
39+ python3 ci/ci-util.py generate-matrix | tee "$GITHUB_OUTPUT"
3840 id: script
3941
4042 test :
5052 os : ubuntu-24.04-arm
5153 - target : aarch64-pc-windows-msvc
5254 os : windows-2025
53- test_verbatim : 1
5455 build_only : 1
5556 - target : arm-unknown-linux-gnueabi
5657 os : ubuntu-24.04
7071 os : ubuntu-24.04
7172 - target : powerpc64le-unknown-linux-gnu
7273 os : ubuntu-24.04
74+ - target : powerpc64le-unknown-linux-gnu
75+ os : ubuntu-24.04-ppc64le
7376 - target : riscv64gc-unknown-linux-gnu
7477 os : ubuntu-24.04
78+ - target : s390x-unknown-linux-gnu
79+ os : ubuntu-24.04-s390x
7580 - target : thumbv6m-none-eabi
7681 os : ubuntu-24.04
7782 - target : thumbv7em-none-eabi
8893 os : macos-13
8994 - target : i686-pc-windows-msvc
9095 os : windows-2025
91- test_verbatim : 1
9296 - target : x86_64-pc-windows-msvc
9397 os : windows-2025
94- test_verbatim : 1
9598 - target : i686-pc-windows-gnu
9699 os : windows-2025
97100 channel : nightly-i686-gnu
@@ -102,11 +105,23 @@ jobs:
102105 needs : [calculate_vars]
103106 env :
104107 BUILD_ONLY : ${{ matrix.build_only }}
105- TEST_VERBATIM : ${{ matrix.test_verbatim }}
106108 MAY_SKIP_LIBM_CI : ${{ needs.calculate_vars.outputs.may_skip_libm_ci }}
107109 steps :
110+ - name : Print $HOME
111+ shell : bash
112+ run : |
113+ set -x
114+ echo "${HOME:-not found}"
115+ pwd
116+ printenv
108117 - name : Print runner information
109118 run : uname -a
119+
120+ # Native ppc and s390x runners don't have rustup by default
121+ - name : Install rustup
122+ if : matrix.os == 'ubuntu-24.04-ppc64le' || matrix.os == 'ubuntu-24.04-s390x'
123+ run : sudo apt-get update && sudo apt-get install -y rustup
124+
110125 - uses : actions/checkout@v4
111126 - name : Install Rust (rustup)
112127 shell : bash
@@ -117,7 +132,12 @@ jobs:
117132 rustup update "$channel" --no-self-update
118133 rustup default "$channel"
119134 rustup target add "${{ matrix.target }}"
135+
136+ # Our scripts use nextest if possible. This is skipped on the native ppc
137+ # and s390x runners since install-action doesn't support them.
120138 - uses : taiki-e/install-action@nextest
139+ if : " !(matrix.os == 'ubuntu-24.04-ppc64le' || matrix.os == 'ubuntu-24.04-s390x')"
140+
121141 - uses : Swatinem/rust-cache@v2
122142 with :
123143 key : ${{ matrix.target }}
@@ -144,7 +164,7 @@ jobs:
144164 shell : bash
145165 - run : echo "RUST_COMPILER_RT_ROOT=$(realpath ./compiler-rt)" >> "$GITHUB_ENV"
146166 shell : bash
147-
167+
148168 - name : Download musl source
149169 run : ./ci/update-musl.sh
150170 shell : bash
@@ -256,7 +276,7 @@ jobs:
256276 with :
257277 name : ${{ env.BASELINE_NAME }}
258278 path : ${{ env.BASELINE_NAME }}.tar.xz
259-
279+
260280 - name : Run wall time benchmarks
261281 run : |
262282 # Always use the same seed for benchmarks. Ideally we should switch to a
@@ -311,8 +331,8 @@ jobs:
311331 timeout-minutes : 10
312332 steps :
313333 - uses : actions/checkout@v4
314- - name : Install stable `rustfmt`
315- run : rustup set profile minimal && rustup default stable && rustup component add rustfmt
334+ - name : Install nightly `rustfmt`
335+ run : rustup set profile minimal && rustup default nightly && rustup component add rustfmt
316336 - run : cargo fmt -- --check
317337
318338 extensive :
0 commit comments