5
5
6
6
concurrency :
7
7
# Make sure that new pushes cancel running jobs
8
- group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
8
+ group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
9
9
cancel-in-progress : true
10
10
11
11
env :
12
12
CARGO_TERM_COLOR : always
13
13
RUSTDOCFLAGS : -Dwarnings
14
14
RUSTFLAGS : -Dwarnings
15
15
RUST_BACKTRACE : full
16
- BENCHMARK_RUSTC : nightly-2025-01-16 # Pin the toolchain for reproducable results
16
+ BENCHMARK_RUSTC : nightly-2025-05-28 # Pin the toolchain for reproducable results
17
17
18
18
jobs :
19
19
# Determine which tests should be run based on changed files.
@@ -108,8 +108,6 @@ jobs:
108
108
- name : Print runner information
109
109
run : uname -a
110
110
- uses : actions/checkout@v4
111
- with :
112
- submodules : true
113
111
- name : Install Rust (rustup)
114
112
shell : bash
115
113
run : |
@@ -119,7 +117,6 @@ jobs:
119
117
rustup update "$channel" --no-self-update
120
118
rustup default "$channel"
121
119
rustup target add "${{ matrix.target }}"
122
- rustup component add llvm-tools-preview
123
120
- uses : taiki-e/install-action@nextest
124
121
- uses : Swatinem/rust-cache@v2
125
122
with :
@@ -147,6 +144,10 @@ jobs:
147
144
shell : bash
148
145
- run : echo "RUST_COMPILER_RT_ROOT=$(realpath ./compiler-rt)" >> "$GITHUB_ENV"
149
146
shell : bash
147
+
148
+ - name : Download musl source
149
+ run : ./ci/update-musl.sh
150
+ shell : bash
150
151
151
152
- name : Verify API list
152
153
if : matrix.os == 'ubuntu-24.04'
@@ -183,25 +184,29 @@ jobs:
183
184
timeout-minutes : 10
184
185
steps :
185
186
- uses : actions/checkout@v4
186
- with :
187
- submodules : true
188
187
# Unlike rustfmt, stable clippy does not work on code with nightly features.
189
188
- name : Install nightly `clippy`
190
189
run : |
191
190
rustup set profile minimal
192
191
rustup default nightly
193
192
rustup component add clippy
194
193
- uses : Swatinem/rust-cache@v2
194
+ - name : Download musl source
195
+ run : ./ci/update-musl.sh
195
196
- run : cargo clippy --workspace --all-targets
196
197
197
198
benchmarks :
198
199
name : Benchmarks
199
- runs-on : ubuntu-24.04
200
200
timeout-minutes : 20
201
+ strategy :
202
+ fail-fast : false
203
+ matrix :
204
+ include :
205
+ - target : x86_64-unknown-linux-gnu
206
+ os : ubuntu-24.04
207
+ runs-on : ${{ matrix.os }}
201
208
steps :
202
209
- uses : actions/checkout@master
203
- with :
204
- submodules : true
205
210
- uses : taiki-e/install-action@cargo-binstall
206
211
207
212
- name : Set up dependencies
@@ -216,12 +221,16 @@ jobs:
216
221
cargo binstall -y iai-callgrind-runner --version "$iai_version"
217
222
sudo apt-get install valgrind
218
223
- uses : Swatinem/rust-cache@v2
224
+ with :
225
+ key : ${{ matrix.target }}
226
+ - name : Download musl source
227
+ run : ./ci/update-musl.sh
219
228
220
229
- name : Run icount benchmarks
221
230
env :
222
231
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
223
232
PR_NUMBER : ${{ github.event.pull_request.number }}
224
- run : ./ci/bench-icount.sh
233
+ run : ./ci/bench-icount.sh ${{ matrix.target }}
225
234
226
235
- name : Upload the benchmark baseline
227
236
uses : actions/upload-artifact@v4
@@ -249,8 +258,6 @@ jobs:
249
258
timeout-minutes : 10
250
259
steps :
251
260
- uses : actions/checkout@v4
252
- with :
253
- submodules : true
254
261
- name : Install Rust (rustup)
255
262
run : rustup update nightly --no-self-update && rustup default nightly
256
263
shell : bash
@@ -285,8 +292,6 @@ jobs:
285
292
timeout-minutes : 10
286
293
steps :
287
294
- uses : actions/checkout@v4
288
- with :
289
- submodules : true
290
295
- name : Install stable `rustfmt`
291
296
run : rustup set profile minimal && rustup default stable && rustup component add rustfmt
292
297
- run : cargo fmt -- --check
@@ -310,13 +315,13 @@ jobs:
310
315
TO_TEST : ${{ matrix.to_test }}
311
316
steps :
312
317
- uses : actions/checkout@v4
313
- with :
314
- submodules : true
315
318
- name : Install Rust
316
319
run : |
317
320
rustup update nightly --no-self-update
318
321
rustup default nightly
319
322
- uses : Swatinem/rust-cache@v2
323
+ - name : download musl source
324
+ run : ./ci/update-musl.sh
320
325
- name : Run extensive tests
321
326
run : ./ci/run-extensive.sh
322
327
- name : Print test logs if available
0 commit comments