ci: add CodeQL analysis workflow configuration (#834) #9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "CodeQL Advanced" | |
| on: | |
| push: | |
| branches: ["main"] | |
| pull_request: | |
| branches: ["main"] | |
| schedule: | |
| - cron: "32 13 * * 0" | |
| jobs: | |
| analyze: | |
| name: Analyze (${{ matrix.language }}) | |
| # Runner size impacts CodeQL analysis time. To learn more, please see: | |
| # - https://gh.io/recommended-hardware-resources-for-running-codeql | |
| # - https://gh.io/supported-runners-and-hardware-resources | |
| # - https://gh.io/using-larger-runners (GitHub.com only) | |
| # Consider using larger runners or machines with greater resources for possible analysis time improvements. | |
| runs-on: ubuntu-latest | |
| permissions: | |
| # required for all workflows | |
| security-events: write | |
| # required to fetch internal or private CodeQL packs | |
| packages: read | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - language: actions | |
| build-mode: none | |
| - language: csharp | |
| build-mode: none | |
| # Using 'none' because Unity SDK packages don't include .csproj/.sln files. | |
| # CodeQL autobuild cannot detect build scripts for Unity packages. | |
| # Lower quality metrics (66% call targets, 79% type resolution) are acceptable | |
| # for static analysis of Unity SDK code without a full build context. | |
| # c-cpp and Swift analysis removed: Unity SDKs don't include build projects in the repo | |
| # (Unity generates Xcode/Android projects during build). CodeQL's C/C++ autobuilder | |
| # doesn't recognize .mm (Objective-C++) files as source files. The minimal native | |
| # bridge code is low-risk, and the main codebase (C#) is already being analyzed. | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| # Initializes the CodeQL tools for scanning. | |
| - name: Initialize CodeQL | |
| uses: github/codeql-action/init@v4 | |
| with: | |
| languages: ${{ matrix.language }} | |
| build-mode: ${{ matrix.build-mode }} | |
| - name: Perform CodeQL Analysis | |
| uses: github/codeql-action/analyze@v4 | |
| with: | |
| category: "/language:${{matrix.language}}" |