name: "CodeQL" on: push: branches: [ "master", "v*"] tags: ['*'] pull_request: workflow_call: inputs: ref: required: true type: string schedule: - cron: '17 10 * * 2' concurrency: group: codeql-${{ github.ref }} cancel-in-progress: true jobs: analyze: name: Analyze (${{ matrix.language }}) runs-on: "ubuntu-latest" timeout-minutes: 360 permissions: # required for all workflows security-events: write strategy: fail-fast: false matrix: include: - language: c-cpp build-mode: manual - language: python build-mode: none - language: actions build-mode: none steps: - name: Checkout repository uses: actions/checkout@v4 with: ref: ${{ inputs.ref }} persist-credentials: false - uses: actions/setup-python@v5 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL uses: github/codeql-action/init@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3 with: languages: ${{ matrix.language }} build-mode: ${{ matrix.build-mode }} # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs queries: security-extended config: | paths-ignore: - 'doc/**' - 'tools/**' - 'test/**' - if: matrix.build-mode == 'manual' run: | pip install -e . - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3 with: category: "/language:${{matrix.language}}"