name: clippy
concurrency:
cancel-in-progress: false
group: ${{ github.workflow }}-${{ github.ref }}
on:
pull_request:
branches: [ main, master ]
types: [ opened, reopened, closed ]
release:
repository_dispatch:
types: [ clippy ]
workflow_dispatch:
permissions:
actions: read contents: read
security-events: write
jobs:
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
-
name: setup rust-toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache-key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
cache-workspaces: true
components: clippy, rustfmt
-
name: setup cargo
run: cargo install clippy-sarif sarif-fmt
-
name: Run rust-clippy
run:
cargo clippy
--all-features
--message-format=json | clippy-sarif | tee rust-clippy-results.sarif | sarif-fmt
continue-on-error: true
-
name: Upload analysis
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: rust-clippy-results.sarif
wait-for-processing: true