# Performs static analysis in GitHub actions with https://github.com/woodruffw/zizmor
name: Zizmor

concurrency:
  group: zizmor-${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
  cancel-in-progress: true

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - "*"

permissions:
  contents: read

jobs:
  zizmor:
    name: "Run Zizmor"
    runs-on: ubuntu-latest
    permissions:
      security-events: write
    steps:
      - name: "Checkout repository 🛎"
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
        with:
          persist-credentials: false

      - name: "Install uv 📦"
        uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b
        with:
          version: "latest"

      - name: "Run zizmor 🕵️‍♂️"
        run: uvx zizmor --format sarif . > results.sarif

      - name: "Upload SARIF file 📤"
        uses: github/codeql-action/upload-sarif@v4
        with:
          # Path to SARIF file relative to the root of the repository
          sarif_file: results.sarif
          # Optional category for the results
          # Used to differentiate multiple results for one commit
          category: zizmor
