Skip to content

ci: add CodeQL analysis workflow configuration #8

ci: add CodeQL analysis workflow configuration

ci: add CodeQL analysis workflow configuration #8

Workflow file for this run

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}}"