55
66concurrency :
77 # 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 }}
99 cancel-in-progress : true
1010
1111env :
1212 CARGO_TERM_COLOR : always
1313 RUSTDOCFLAGS : -Dwarnings
1414 RUSTFLAGS : -Dwarnings
1515 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
1717
1818jobs :
1919 # Determine which tests should be run based on changed files.
@@ -108,8 +108,6 @@ jobs:
108108 - name : Print runner information
109109 run : uname -a
110110 - uses : actions/checkout@v4
111- with :
112- submodules : true
113111 - name : Install Rust (rustup)
114112 shell : bash
115113 run : |
@@ -119,7 +117,6 @@ jobs:
119117 rustup update "$channel" --no-self-update
120118 rustup default "$channel"
121119 rustup target add "${{ matrix.target }}"
122- rustup component add llvm-tools-preview
123120 - uses : taiki-e/install-action@nextest
124121 - uses : Swatinem/rust-cache@v2
125122 with :
@@ -147,6 +144,10 @@ jobs:
147144 shell : bash
148145 - run : echo "RUST_COMPILER_RT_ROOT=$(realpath ./compiler-rt)" >> "$GITHUB_ENV"
149146 shell : bash
147+
148+ - name : Download musl source
149+ run : ./ci/update-musl.sh
150+ shell : bash
150151
151152 - name : Verify API list
152153 if : matrix.os == 'ubuntu-24.04'
@@ -183,25 +184,29 @@ jobs:
183184 timeout-minutes : 10
184185 steps :
185186 - uses : actions/checkout@v4
186- with :
187- submodules : true
188187 # Unlike rustfmt, stable clippy does not work on code with nightly features.
189188 - name : Install nightly `clippy`
190189 run : |
191190 rustup set profile minimal
192191 rustup default nightly
193192 rustup component add clippy
194193 - uses : Swatinem/rust-cache@v2
194+ - name : Download musl source
195+ run : ./ci/update-musl.sh
195196 - run : cargo clippy --workspace --all-targets
196197
197198 benchmarks :
198199 name : Benchmarks
199- runs-on : ubuntu-24.04
200200 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 }}
201208 steps :
202209 - uses : actions/checkout@master
203- with :
204- submodules : true
205210 - uses : taiki-e/install-action@cargo-binstall
206211
207212 - name : Set up dependencies
@@ -216,12 +221,16 @@ jobs:
216221 cargo binstall -y iai-callgrind-runner --version "$iai_version"
217222 sudo apt-get install valgrind
218223 - uses : Swatinem/rust-cache@v2
224+ with :
225+ key : ${{ matrix.target }}
226+ - name : Download musl source
227+ run : ./ci/update-musl.sh
219228
220229 - name : Run icount benchmarks
221230 env :
222231 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
223232 PR_NUMBER : ${{ github.event.pull_request.number }}
224- run : ./ci/bench-icount.sh
233+ run : ./ci/bench-icount.sh ${{ matrix.target }}
225234
226235 - name : Upload the benchmark baseline
227236 uses : actions/upload-artifact@v4
@@ -249,8 +258,6 @@ jobs:
249258 timeout-minutes : 10
250259 steps :
251260 - uses : actions/checkout@v4
252- with :
253- submodules : true
254261 - name : Install Rust (rustup)
255262 run : rustup update nightly --no-self-update && rustup default nightly
256263 shell : bash
@@ -285,8 +292,6 @@ jobs:
285292 timeout-minutes : 10
286293 steps :
287294 - uses : actions/checkout@v4
288- with :
289- submodules : true
290295 - name : Install stable `rustfmt`
291296 run : rustup set profile minimal && rustup default stable && rustup component add rustfmt
292297 - run : cargo fmt -- --check
@@ -310,13 +315,13 @@ jobs:
310315 TO_TEST : ${{ matrix.to_test }}
311316 steps :
312317 - uses : actions/checkout@v4
313- with :
314- submodules : true
315318 - name : Install Rust
316319 run : |
317320 rustup update nightly --no-self-update
318321 rustup default nightly
319322 - uses : Swatinem/rust-cache@v2
323+ - name : download musl source
324+ run : ./ci/update-musl.sh
320325 - name : Run extensive tests
321326 run : ./ci/run-extensive.sh
322327 - name : Print test logs if available
0 commit comments