Skip to content

chore(zizmor): use fork branch ref for shared-workflows pilot #815

chore(zizmor): use fork branch ref for shared-workflows pilot

chore(zizmor): use fork branch ref for shared-workflows pilot #815

Workflow file for this run

name: zizmor GitHub Actions static analysis
on:
push:
pull_request:
types:
- edited
- opened
- ready_for_review
- synchronize
- reopened
merge_group:
types: [checks_requested]
jobs:
zizmor-check:
name: Check whether there are things to scan
permissions:
contents: read
runs-on: ${{ !github.event.repository.private && 'ubuntu-latest' || 'ubuntu-arm64-small' }}
outputs:
found-files: ${{ steps.zizmor-check.outputs.found-files }}
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- name: Run zizmor
id: zizmor-check
shell: bash
run: |
FOUND_FILES=false
SEARCH=$(find . -path "**/.github/workflows/*.yml" -o -path "**/.github/workflows/*.yaml" -o -path "**/action.yml" -o -path "**/action.yaml")
if [ -n "$SEARCH" ]; then
FOUND_FILES=true
fi
echo "found-files=${FOUND_FILES}" >> $GITHUB_OUTPUT
zizmor:
name: Run zizmor
permissions:
actions: read
contents: read
id-token: write
pull-requests: write
security-events: write
needs:
- zizmor-check
if: ${{ needs.zizmor-check.outputs.found-files == 'true' }}
# Testing security-appsec#326: reusable with optional .github/zizmor-collection-ignore. Point org rulesets at
# branch test/zizmor-vendor-excludes-326 to validate; replace with grafana/shared-workflows@<merge SHA> for main.
# Pin to fork branch (moves with pushes) for pre-merge testing; switch back to @<SHA> for reproducible runs.
uses: isaiah-grafana/shared-workflows/.github/workflows/reusable-zizmor.yml@feat/zizmor-vendor-excludes-326
with:
runs-on: ${{ !github.event.repository.private && 'ubuntu-latest' || 'ubuntu-arm64-small' }}
fail-severity: high
min-severity: high
min-confidence: low
extra-args: --offline
# Reusable workflow gates bench job on org + non-fork PR (OIDC/Vault not available on fork PRs); pass true to opt in.
send-bench-metrics: true
secrets: inherit