name: Code style on: workflow_dispatch: pull_request: env: CARGO_TERM_COLOR: always jobs: cargo-check: runs-on: ubuntu-latest steps: - name: Checkout source code uses: actions/checkout@v4 - name: Setup rust uses: actions-rs/toolchain@v1 with: toolchain: stable components: rustfmt,clippy # Cache cargo registry - name: Hash the lock file uses: https://gitea.com/seepine/hash-files@v1 id: get-hash with: patterns: | **/Cargo.lock - name: Cache cargo registry uses: actions/cache@v3 with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ key: cargo-${{ steps.get-hash.outputs.hash }} restore-keys: | cargo- # Cache cargo registry - end - name: Cargo check uses: actions-rs/cargo@v1 with: command: check clippy: runs-on: ubuntu-latest steps: - name: Checkout source code uses: actions/checkout@v4 - name: Setup rust uses: actions-rs/toolchain@v1 with: toolchain: stable components: rustfmt,clippy # Cache cargo registry - name: Hash the lock file uses: https://gitea.com/seepine/hash-files@v1 id: get-hash with: patterns: | **/Cargo.lock - name: Cache cargo registry uses: actions/cache@v3 with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ key: cargo-${{ steps.get-hash.outputs.hash }} restore-keys: | cargo- # Cache cargo registry - end - name: Run clippy uses: actions-rs/clippy-check@v1 with: token: ${{ secrets.GITHUB_TOKEN }} args: --all-targets --all-features -- -Dwarnings