| name: "CodeQL Advanced" |
| on: |
| push: |
| branches: [ "master" ] |
| pull_request: |
| branches: [ "master" ] |
| schedule: |
| - cron: '16 20 * * 3' |
| jobs: |
| analyze: |
| name: Analyze (${{ matrix.language }}) |
| runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} |
| permissions: |
| security-events: write |
| packages: read |
| actions: read |
| contents: read |
| strategy: |
| fail-fast: false |
| matrix: |
| include: |
| - language: csharp |
| build-mode: autobuild |
| steps: |
| - name: Checkout repository |
| uses: actions/checkout@v4 |
| |
| # Add .NET 9 setup before CodeQL initialization |
| - name: Setup .NET 9 |
| uses: actions/setup-dotnet@v4 |
| with: |
| dotnet-version: 9.x |
| |
| # Initializes the CodeQL tools for scanning |
| - name: Initialize CodeQL |
| uses: github/codeql-action/init@v3 |
| with: |
| languages: ${{ matrix.language }} |
| build-mode: ${{ matrix.build-mode }} |
| |
| - if: matrix.build-mode == 'manual' |
| shell: bash |
| run: | |
| echo 'If you are using a "manual" build mode for one or more of the' \ |
| 'languages you are analyzing, replace this with the commands to build' \ |
| 'your code, for example:' |
| echo ' make bootstrap' |
| echo ' make release' |
| exit 1 |
| |
| - name: Perform CodeQL Analysis |
| uses: github/codeql-action/analyze@v3 |
| with: |
| category: "/language:${{matrix.language}}" |