name: tests on: [push, pull_request] jobs: check: runs-on: ubuntu-latest steps: - name: Check out uses: actions/checkout@v3 - name: Install Rust uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true components: rustfmt, clippy - name: Set up cargo cache uses: actions/cache@v3 continue-on-error: false with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} restore-keys: ${{ runner.os }}-cargo- - name: Lint run: | rustfmt **/*.rs cargo clippy --all -- -D warnings - name: Install cargo check tools run: | cargo install --locked cargo-deny || true cargo install --locked cargo-outdated || true cargo install --locked cargo-udeps || true - name: Check run: | cargo deny check cargo outdated --exit-code 1 cargo udeps rm -rf ~/.cargo/advisory-db - name: Test run: cargo test --all