name: CodeQL on: push: branches: [main] pull_request: branches: [main] schedule: # Weekly, so advisories published after a merge still surface. - cron: '17 3 * * 1' permissions: contents: read jobs: analyze: name: Analyze ${{ matrix.language }} runs-on: ${{ matrix.runner }} permissions: security-events: write packages: read actions: read contents: read strategy: fail-fast: false matrix: include: # csharp needs the net48 agent projects to build, so Windows. - language: csharp runner: windows-latest build-mode: manual - language: javascript-typescript runner: ubuntu-latest build-mode: none steps: - uses: actions/checkout@v7 - uses: actions/setup-dotnet@v6 if: matrix.language == 'csharp' with: dotnet-version: '10.0.x' - name: Initialize CodeQL uses: github/codeql-action/init@v4 with: languages: ${{ matrix.language }} build-mode: ${{ matrix.build-mode }} config-file: .github/codeql/codeql-config.yml - name: Build if: matrix.build-mode == 'manual' run: dotnet build AutopilotMonitor.sln --configuration Release - name: Analyze uses: github/codeql-action/analyze@v4 with: category: /language:${{ matrix.language }}