name: Rust Checks on: pull_request: branches: ["main"] paths: - '**/*.rs' - '**/Cargo.toml' - 'Cargo.lock' env: CARGO_TERM_COLOR: always jobs: lints: name: Lints runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Cache Cargo registry uses: actions/cache@v4 with: path: ~/.cargo/registry key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} restore-keys: ${{ runner.os }}-cargo-registry- - name: Cache Cargo index uses: actions/cache@v4 with: path: ~/.cargo/git key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }} restore-keys: ${{ runner.os }}-cargo-index- - name: Run cargo clippy run: cargo clippy -- -Dwarnings - name: Run cargo fmt run: cargo fmt --all --check