Skip to content

Commit 0ecab92

Browse files
committed
Only run cargo check for MSRV
It should be enough to verify that the code compiles, we're testing it elsewhere, and we don't need development dependencies to follow MSRV.
1 parent 6eec0c6 commit 0ecab92

File tree

1 file changed

+49
-16
lines changed

1 file changed

+49
-16
lines changed

.github/workflows/ci.yml

Lines changed: 49 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,61 @@ jobs:
2525
- name: Run Typos
2626
run: typos
2727

28+
msrv:
29+
name: MSRV
30+
needs: fmt
31+
runs-on: ubuntu-latest
32+
strategy:
33+
fail-fast: false
34+
matrix:
35+
include:
36+
# Android (breaks MSRV with `indexmap`, which Rust 1.71.1 doesn't allow easily pinning)
37+
# - target: aarch64-linux-android
38+
39+
# CoreGraphics
40+
- target: aarch64-apple-darwin
41+
- target: x86_64-apple-ios
42+
43+
# Orbital (doesn't follow MSRV)
44+
# - target: x86_64-unknown-redox
45+
46+
# Wayland, KMS/DRM, X11
47+
- target: i686-unknown-linux-gnu
48+
- target: x86_64-unknown-linux-gnu
49+
- target: x86_64-unknown-linux-gnu
50+
features: "x11,x11-dlopen"
51+
- target: x86_64-unknown-linux-gnu
52+
features: "wayland,wayland-dlopen"
53+
- target: x86_64-unknown-linux-gnu
54+
features: "kms"
55+
- target: x86_64-unknown-freebsd
56+
- target: x86_64-unknown-netbsd
57+
features: "x11,x11-dlopen,wayland,wayland-dlopen"
58+
59+
# Web
60+
- target: wasm32-unknown-unknown
61+
62+
# Win32
63+
- target: x86_64-pc-windows-msvc
64+
- target: x86_64-pc-windows-gnu
65+
66+
steps:
67+
- uses: actions/checkout@v6
68+
- uses: hecrj/setup-rust-action@v2
69+
with:
70+
rust-version: '1.71.1'
71+
targets: ${{ matrix.target }}
72+
73+
- name: Check that crate compiles
74+
run: cargo check --verbose --target ${{ matrix.target }} ${{ matrix.features && '--no-default-features --features' }} ${{ matrix.features }}
75+
2876
tests:
2977
name: Tests
3078
needs: fmt
3179
strategy:
3280
fail-fast: false
3381
matrix:
34-
rust_version: ['1.71.0', stable, nightly]
82+
rust_version: [stable, nightly]
3583
platform:
3684
- { target: x86_64-pc-windows-msvc, os: windows-latest, }
3785
- { target: i686-pc-windows-msvc, os: windows-latest, }
@@ -49,10 +97,6 @@ jobs:
4997
- { target: x86_64-unknown-netbsd, os: ubuntu-latest, options: --no-default-features, features: "x11,x11-dlopen,wayland,wayland-dlopen" }
5098
- { target: aarch64-apple-darwin, os: macos-latest, }
5199
- { target: wasm32-unknown-unknown, os: ubuntu-latest, }
52-
exclude:
53-
# Orbital doesn't follow MSRV
54-
- rust_version: '1.71.0'
55-
platform: { target: x86_64-unknown-redox, os: ubuntu-latest }
56100
include:
57101
- rust_version: nightly
58102
platform: { target: wasm32-unknown-unknown, os: ubuntu-latest, options: "-Zbuild-std=panic_abort,std", rustflags: "-Ctarget-feature=+atomics,+bulk-memory" }
@@ -95,17 +139,6 @@ jobs:
95139
if: (matrix.platform.os == 'ubuntu-latest') && contains(matrix.platform.target, 'i686')
96140
run: sudo apt-get install gcc-multilib
97141

98-
- name: Pin deps that break MSRV
99-
if: matrix.rust_version == '1.71.0'
100-
run: |
101-
cargo update -p dpi --precise 0.1.1
102-
cargo update -p image --precise 0.25.6
103-
cargo update -p zune-jpeg --precise 0.4.14
104-
cargo update -p half --precise 2.4.1
105-
cargo update -p bumpalo --precise 3.14.0
106-
cargo update -p rayon --precise 1.10.0
107-
cargo update -p rayon-core --precise 1.12.1
108-
109142
- name: Build crate
110143
shell: bash
111144
run: cargo $CMD build --verbose --target ${{ matrix.platform.target }} $OPTIONS --features $FEATURES

0 commit comments

Comments
 (0)