proton-cli 0.0.0

A template command line application written in Rust leveraging the clap framework
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 # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status 
  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