scsys-xtask 0.0.0

A custom build system for the scsys ecosystem
Documentation
name: clippy

concurrency:   
  cancel-in-progress: false
  group: ${{ github.workflow }}-${{ github.ref }}

on:
  pull_request:
    branches: [ main, master ]
    types: [ opened, reopened, closed ]
    paths:
      - /**/workflows/clippy.yml
      - /**/*.rs
      - /**/Cargo.*
  push:
    branches: [ main, master ]
    tags: [ latest, v*, "*-nightly" ]
    paths:
      - /**/workflows/clippy.yml
      - /**/*.rs
      - /**/Cargo.*
  release:
    types: [ created ]
  repository_dispatch:
    types: [ clippy ]
  workflow_dispatch:
    inputs:
      upload:
        default: 'true'
        description: 'Upload the SARIF file?'
        required: true

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:
      - 
        name: Checkout
        uses: actions/checkout@v4
      -
        name: Setup Rust
        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: Clippy
        run: |
          # Run clippy and convert the output to SARIF format
          cargo clippy --all-features --message-format=json | clippy-sarif | tee rust-clippy-results.sarif | sarif-fmt
        continue-on-error: true
      - 
        if: inputs.upload == 'true'
        name: Upload analysis
        uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: rust-clippy-results.sarif
          wait-for-processing: true