Skip to content

Commit 36f6c45

Browse files
committed
Add CI job for -Zdirect-minimal-versions.
1 parent 77baceb commit 36f6c45

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

.github/workflows/ci.yml

+63
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,69 @@ jobs:
334334
--package naga \
335335
--all-features --no-deps --document-private-items
336336
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+
337400
# We run minimal checks on the MSRV of the core crates, ensuring that
338401
# its dependency tree does not cause issues for firefox.
339402
#

0 commit comments

Comments
 (0)