@@ -57,34 +57,50 @@ jobs:
5757 with :
5858 args : --all
5959
60- msrv-check :
61- name : MSRV check for Rust ${{ matrix.toolchain }} on ${{ matrix.os }}${{ matrix.all-features && ' with all features' || '' }}
60+ build :
61+ name : Build for Rust ${{ matrix.toolchain }}${{ matrix.experimental && ' (experimental)' || '' }} on ${{ matrix.os }}${{ matrix.ignore-lock && ' without Cargo.lock' || '' }}${{ matrix.all-features && ' with all features' || '' }}
6262 strategy :
6363 fail-fast : false
6464 matrix :
65- toolchain : [ 1.70.0 ]
65+ toolchain : [ 1.74.1, stable ]
6666 os : [ ubuntu ]
67+ ignore-lock : [ false ]
6768 all-features : [ true ]
69+ include :
70+ - experimental : false
6871 runs-on : ${{ matrix.os }}-latest
72+ continue-on-error : ${{ matrix.experimental }}
6973 steps :
7074 - name : Checkout code
7175 uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
7276
73- - name : Install Rust nightly and ${{ matrix.toolchain }}
77+ - name : Remove Cargo.lock
78+ if : ${{ matrix.ignore-lock }}
79+ run : rm Cargo.lock
80+
81+ - name : Install Rust ${{ matrix.toolchain }}
7482 uses : actions-rust-lang/setup-rust-toolchain@11df97af8e8102fd60b60a77dfbf58d40cd843b8 # v1.10.1
7583 with :
76- toolchain : nightly, ${{ matrix.toolchain }}
84+ toolchain : ${{ matrix.toolchain }}
7785 cache : false
7886
7987 - name : Rust Cache
88+ if : ${{ !matrix.experimental }}
8089 uses : Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
8190 with :
82- prefix-key : v8 -rust
83- key : all-features-${{ matrix.all-features }}
91+ prefix-key : v2 -rust
92+ key : ignore-lock-${{ matrix.ignore-lock }}- all-features-${{ matrix.all-features }}
8493 cache-on-failure : true
8594
86- - name : Run checks
87- uses : clechasseur/rs-cargo@8435b10f6e71c2e3d4d3b7573003a8ce4bfc6386 # v2.0.6
95+ - name : Install just
96+ uses : taiki-e/install-action@678b06b887cdbf44fa0601e5915f865e17c2241d # v2.44.60
8897 with :
89- command : check
90- args : --workspace ${{ matrix.all-features && '--all-features' || '' }}
98+ tool : just
99+ env :
100+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
101+
102+ - name : Run checks
103+ run : just all_features=${{ matrix.all-features }} check
104+
105+ - name : Run tests
106+ run : just all_features=${{ matrix.all-features }} test
0 commit comments