34
34
- name : Fetch pull request ref
35
35
run : git fetch origin "$GITHUB_REF:$GITHUB_REF"
36
36
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"
38
40
id: script
39
41
40
42
test :
50
52
os : ubuntu-24.04-arm
51
53
- target : aarch64-pc-windows-msvc
52
54
os : windows-2025
53
- test_verbatim : 1
54
55
build_only : 1
55
56
- target : arm-unknown-linux-gnueabi
56
57
os : ubuntu-24.04
70
71
os : ubuntu-24.04
71
72
- target : powerpc64le-unknown-linux-gnu
72
73
os : ubuntu-24.04
74
+ - target : powerpc64le-unknown-linux-gnu
75
+ os : ubuntu-24.04-ppc64le
73
76
- target : riscv64gc-unknown-linux-gnu
74
77
os : ubuntu-24.04
78
+ - target : s390x-unknown-linux-gnu
79
+ os : ubuntu-24.04-s390x
75
80
- target : thumbv6m-none-eabi
76
81
os : ubuntu-24.04
77
82
- target : thumbv7em-none-eabi
88
93
os : macos-13
89
94
- target : i686-pc-windows-msvc
90
95
os : windows-2025
91
- test_verbatim : 1
92
96
- target : x86_64-pc-windows-msvc
93
97
os : windows-2025
94
- test_verbatim : 1
95
98
- target : i686-pc-windows-gnu
96
99
os : windows-2025
97
100
channel : nightly-i686-gnu
@@ -102,11 +105,23 @@ jobs:
102
105
needs : [calculate_vars]
103
106
env :
104
107
BUILD_ONLY : ${{ matrix.build_only }}
105
- TEST_VERBATIM : ${{ matrix.test_verbatim }}
106
108
MAY_SKIP_LIBM_CI : ${{ needs.calculate_vars.outputs.may_skip_libm_ci }}
107
109
steps :
110
+ - name : Print $HOME
111
+ shell : bash
112
+ run : |
113
+ set -x
114
+ echo "${HOME:-not found}"
115
+ pwd
116
+ printenv
108
117
- name : Print runner information
109
118
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
+
110
125
- uses : actions/checkout@v4
111
126
- name : Install Rust (rustup)
112
127
shell : bash
@@ -117,7 +132,12 @@ jobs:
117
132
rustup update "$channel" --no-self-update
118
133
rustup default "$channel"
119
134
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.
120
138
- uses : taiki-e/install-action@nextest
139
+ if : " !(matrix.os == 'ubuntu-24.04-ppc64le' || matrix.os == 'ubuntu-24.04-s390x')"
140
+
121
141
- uses : Swatinem/rust-cache@v2
122
142
with :
123
143
key : ${{ matrix.target }}
@@ -144,7 +164,7 @@ jobs:
144
164
shell : bash
145
165
- run : echo "RUST_COMPILER_RT_ROOT=$(realpath ./compiler-rt)" >> "$GITHUB_ENV"
146
166
shell : bash
147
-
167
+
148
168
- name : Download musl source
149
169
run : ./ci/update-musl.sh
150
170
shell : bash
@@ -256,7 +276,7 @@ jobs:
256
276
with :
257
277
name : ${{ env.BASELINE_NAME }}
258
278
path : ${{ env.BASELINE_NAME }}.tar.xz
259
-
279
+
260
280
- name : Run wall time benchmarks
261
281
run : |
262
282
# Always use the same seed for benchmarks. Ideally we should switch to a
@@ -311,8 +331,8 @@ jobs:
311
331
timeout-minutes : 10
312
332
steps :
313
333
- 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
316
336
- run : cargo fmt -- --check
317
337
318
338
extensive :
0 commit comments