vk-graph 0.14.2

A high-performance Vulkan driver with automatic resource management and execution.
Documentation
name: Clippy SARIF

on:
  push:
    branches: [ main ]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [ main ]
  schedule:
    - cron: '24 22 * * 3'

concurrency:
  group: clippy-${{ github.ref }}
  cancel-in-progress: true

jobs:
  rust-clippy-analyze:
    name: Run rust-clippy analyzing
    runs-on: ubuntu-latest
    timeout-minutes: 30
    permissions:
      contents: read
      security-events: write
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Install Rust toolchain
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          toolchain: stable
          components: clippy
          cache: false

      - name: Restore Rust cache
        uses: actions/cache@v4
        with:
          path: |
            ~/.cargo/registry/index/
            ~/.cargo/registry/cache/
            ~/.cargo/git/db/
            target/
          key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
          restore-keys: |
            ${{ runner.os }}-cargo-

      - name: Install required cargo
        run: |
          cargo install --locked clippy-sarif --version 0.8.0
          cargo install --locked sarif-fmt --version 0.8.0

      - name: Run rust-clippy
        shell: bash
        run: |
          set -o pipefail
          cargo clippy --all-targets --workspace --no-default-features --features loaded --message-format=json \
            | clippy-sarif \
            | tee rust-clippy-results.sarif \
            | sarif-fmt

      - name: Upload analysis results to GitHub
        if: always()
        uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: rust-clippy-results.sarif
          wait-for-processing: true