Merge remote-tracking branch 'origin/main' #14
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
# Rust-specific tests | |
name: Rust | |
on: | |
push: | |
jobs: | |
cargo-fmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: rustup toolchain install nightly --profile minimal | |
- uses: Swatinem/rust-cache@v2 | |
- run: rustup component add rustfmt | |
- name: Cargo fmt | |
run: cargo +nightly fmt --all -- --check | |
cargo-clippy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
- run: rustup component add clippy | |
- name: Cargo clippy | |
# We run clippy twice (once without tests), so that it accurately reports dead code in the non-test configuration. | |
# `manual_range_contains` is disabled because a >= x && a < y reads more clearly than (x..y).contains(a) and | |
# there are additional caveats for floating point numbers (https://github.com/rust-lang/rust-clippy/issues/6455) | |
run: | | |
cargo clippy -- -D clippy::all -D warnings -A clippy::manual_range_contains | |
cargo clippy --tests --benches -- -D clippy::all -D warnings -A clippy::manual_range_contains | |
check-lockfile: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
# fails if lockfile is out of date | |
# https://users.rust-lang.org/t/check-if-the-cargo-lock-is-up-to-date-without-building-anything/91048/5 | |
- name: Cargo Lockfile Check | |
run: cargo update --workspace --locked |