name: Static Analysis on: push: branches-ignore: - 'translations**' pull_request: branches-ignore: - 'translations**' workflow_dispatch: concurrency: group: static-analysis-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true permissions: contents: read jobs: zizmor: name: Run zizmor runs-on: ubuntu-24.04 permissions: contents: read actions: read security-events: write steps: - name: Checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Run zizmor uses: zizmorcore/zizmor-action@6fc4b006235f201fdab3722e17240ab420d580e5 # v0.6.1 semgrep: name: Semgrep CE runs-on: ubuntu-24.04 container: image: semgrep/semgrep:1.155.0@sha256:cc869c685dcc0fe497c86258da9f205397d8108e56d21a86082ea4886e52784d if: github.actor != 'dependabot[bot]' permissions: contents: read security-events: write steps: - name: Checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Run Semgrep run: semgrep scan --config auto --sarif-output results.sarif - name: Upload results to GitHub code scanning uses: github/codeql-action/upload-sarif@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3 if: always() with: sarif_file: results.sarif