name: Zizmor Actions Scanner on: push: branches: - main paths: - '.github/workflows/**' pull_request: branches: - main paths: - '.github/workflows/**' permissions: contents: read jobs: detect-noop: permissions: actions: write # for fkirc/skip-duplicate-actions to skip or stop workflow runs contents: read # for fkirc/skip-duplicate-actions to read and compare commits runs-on: ubuntu-latest outputs: noop: ${{ steps.noop.outputs.should_skip }} steps: - uses: step-security/harden-runner@95d9a5deda9de15063e7595e9719c11c38c90ae2 # v2.13.2 with: egress-policy: audit - name: Detect No-op Changes id: noop uses: fkirc/skip-duplicate-actions@f75f66ce1886f00957d99748a42c724f4330bdcf # v5.3.1 with: github_token: ${{ secrets.GITHUB_TOKEN }} paths_ignore: '["**.md", "**.png", "**.jpg"]' do_not_skip: '["workflow_dispatch", "schedule", "push"]' concurrent_skipping: false zizmor: name: Run zizmor 🌈 runs-on: ubuntu-latest needs: detect-noop if: needs.detect-noop.outputs.noop != 'true' permissions: security-events: write steps: - name: Checkout repository uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: persist-credentials: false - name: Run zizmor 🌈 uses: zizmorcore/zizmor-action@e639db99335bc9038abc0e066dfcd72e23d26fb4 # v0.3.0 with: inputs: | .github/ token: ${{ github.token }} # min-severity: medium # min-confidence: medium