ci: Fix MSRV build by precisely specifying some deps. #378
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
- version-0.4 | |
name: tests | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
ci: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
rust: | |
- stable | |
- 1.64.0 # MSRV | |
- nightly | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@master | |
name: Setup rust toolchain | |
with: | |
toolchain: ${{ matrix.rust }} | |
components: rustfmt, clippy | |
- uses: Swatinem/rust-cache@v2 | |
name: Load dependencies from cache | |
- name: Fix dep versions for MSRV | |
if: ${{ matrix.rust == '1.64.0' }} | |
run: | | |
cargo update -p clap --precise 4.4.24 # 4.4 moves to msrv 1.70 | |
cargo update -p clap_lex --precise 0.5.0 # 0.5.1 moves to msrv 1.70 in a patch release | |
cargo update -p anstyle --precise 1.0.2 # 1.0.3 moves to msrv 1.70 in a patch release | |
cargo update -p regex --precise 1.9.6 # 1.10 moves to msrv 1.65 | |
- name: Build with stable features | |
run: cargo build --features stable | |
- name: Build with unstable features | |
if: ${{ matrix.rust == 'nightly' }} | |
run: cargo build --all-features | |
- name: Build with minimal features | |
run: cargo build --no-default-features | |
- name: Test with stable features | |
run: cargo test --features stable | |
- name: Test with minimal features | |
run: cargo test --no-default-features | |
- name: Check for non-standard formatting | |
if: ${{ matrix.rust == 'stable' }} | |
run: cargo fmt --all -- --check | |
- name: Check for clippy hints | |
if: ${{ matrix.rust == 'stable' }} | |
run: cargo clippy -- -D warnings | |
# This fails on 1.64, but works on 1.66 and later. | |
# https://github.com/rust-lang/rust/issues/103306 | |
- name: Test run targeting WASI | |
if: ${{ matrix.rust == 'stable' }} | |
run: | | |
curl https://wasmtime.dev/install.sh -sSf | bash | |
source ~/.bashrc | |
export PATH=$HOME/.wasmtime/bin/:$PATH | |
cargo install cargo-wasi | |
cargo wasi bench --no-default-features -- --test | |
nextest-compat: | |
name: Check compatibility with nextest | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
rust: | |
- stable | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.rust }} | |
components: rustfmt, clippy | |
- uses: Swatinem/rust-cache@v2 | |
- uses: taiki-e/install-action@nextest | |
- run: ci/nextest-compat.sh |