@@ -334,6 +334,69 @@ jobs:
334
334
--package naga \
335
335
--all-features --no-deps --document-private-items
336
336
337
+ # Check that the libraries build — but not that there are no warnings or that tests pass -
338
+ # with `-Zdirect-minimal-versions` which lowers all dependencies from the workspace packages
339
+ # to non-workspace packages to their minimum allowed version.
340
+ check-minimal-versions :
341
+ timeout-minutes : 10
342
+
343
+ strategy :
344
+ fail-fast : false
345
+ matrix :
346
+ include :
347
+ # Windows
348
+ - name : Windows x86_64
349
+ os : windows-2022
350
+ target : x86_64-pc-windows-msvc
351
+
352
+ # MacOS
353
+ - name : MacOS x86_64
354
+ os : macos-14
355
+ target : x86_64-apple-darwin
356
+
357
+ # Linux
358
+ - name : Linux x86_64
359
+ os : ubuntu-22.04
360
+ target : x86_64-unknown-linux-gnu
361
+
362
+ name : Minimal dependency versions check ${{ matrix.name }}
363
+ runs-on : ${{ matrix.os }}
364
+
365
+ steps :
366
+ - name : Checkout repo
367
+ uses : actions/checkout@v4
368
+
369
+ - name : Install toolchain (repo MSRV - tier 1 or 2)
370
+ if : matrix.tier == 1 || matrix.tier == 2
371
+ run : |
372
+ rustup toolchain install nightly --no-self-update --profile=minimal
373
+ rustup override set nightly
374
+ cargo -V
375
+
376
+ - name : Disable debug symbols
377
+ shell : bash
378
+ run : |
379
+ mkdir -p .cargo
380
+
381
+ cat <<EOF >> .cargo/config.toml
382
+ [profile.dev]
383
+ debug = false
384
+ EOF
385
+
386
+ - name : Caching
387
+ uses : Swatinem/rust-cache@v2
388
+ with :
389
+ key : clippy-${{ matrix.target }}-${{ matrix.kind }}-${{ env.CACHE_SUFFIX }}
390
+
391
+ - run : cargo update -Zdirect-minimal-versions
392
+
393
+ - name : Check
394
+ shell : bash
395
+ run : |
396
+ set -e
397
+
398
+ cargo check --target ${{ matrix.target }} ${{ matrix.extra-flags }} --all-targets --all-features
399
+
337
400
# We run minimal checks on the MSRV of the core crates, ensuring that
338
401
# its dependency tree does not cause issues for firefox.
339
402
#
0 commit comments