# Advanced setup, replacing the repository's CodeQL default setup. The # reason it is a workflow rather than default setup is the local query pack # in .github/codeql/dw-security, which teaches the path-injection query # about dw/security.py's validators - default setup cannot load a pack. # # The language list and the weekly schedule match what default setup ran, # so nothing that was being scanned stopped being scanned. name: CodeQL on: push: # develop too: the agent loop pushes it directly, with no PR, so without # this nothing checks its range until the release PR (R14) branches: [master, develop] pull_request: schedule: # Weekly, as default setup ran it - cron: '23 4 * * 1' workflow_dispatch: permissions: contents: read jobs: analyze: name: Analyze (${{ matrix.language }}) runs-on: ubuntu-latest timeout-minutes: 60 permissions: security-events: write # Both needed by the action to read workflow runs for the actions analysis actions: read contents: read strategy: fail-fast: false matrix: include: - language: actions build-mode: none - language: javascript-typescript build-mode: none # Only python gets a config file, because the pack it adds is a # python pack and would not compile against another language's # database - language: python build-mode: none config-file: .github/codeql/codeql-config.yml steps: - uses: actions/checkout@v7 - name: Initialize CodeQL uses: github/codeql-action/init@v4 with: languages: ${{ matrix.language }} build-mode: ${{ matrix.build-mode }} config-file: ${{ matrix.config-file }} - name: Analyze uses: github/codeql-action/analyze@v4 with: category: "/language:${{ matrix.language }}"