name: "CodeQL" on: push: branches: [main, master, develop, regression-audit] paths-ignore: - "**/*.php" - "**/*.md" pull_request: branches: [main, master, develop, '1.2.x', regression-audit] paths-ignore: - "**/*.php" - "**/*.md" merge_group: schedule: - cron: "30 1 * * 1" workflow_dispatch: concurrency: group: codeql-${{ github.ref }} cancel-in-progress: true jobs: analyze: name: Analyze (${{ matrix.language }}) runs-on: ubuntu-24.04 timeout-minutes: 20 permissions: actions: read contents: read security-events: write strategy: fail-fast: false matrix: language: ["javascript-typescript", "python"] steps: - name: Checkout repository uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 with: persist-credentials: false - name: Setup Node for managed JavaScript if: matrix.language == 'javascript-typescript' uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v4 with: node-version-file: .nvmrc cache: npm cache-dependency-path: package-lock.json - name: Build patched browser assets if: matrix.language == 'javascript-typescript' run: | set -euo pipefail npm ci --ignore-scripts npm run postinstall --ignore-scripts - name: Initialize CodeQL uses: github/codeql-action/init@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v3 with: languages: ${{ matrix.language }} - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v3 with: category: "/language:${{ matrix.language }}"