# SPDX-FileCopyrightText: 2026 Progmasoft # SPDX-License-Identifier: MPL-2.0 WITH AdditionRef-Progmasoft-Exception-2.0 name: CodeQL on: pull_request: push: branches: - main schedule: - cron: '23 4 * * 1' workflow_dispatch: permissions: contents: read concurrency: group: codeql-${{ github.ref }} cancel-in-progress: true jobs: analyze: name: ${{ matrix.language }} runs-on: ubuntu-26.04 timeout-minutes: 30 permissions: actions: read contents: read security-events: write strategy: fail-fast: false matrix: include: - language: actions build_mode: none - language: java-kotlin build_mode: manual steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Install JDK 25 if: matrix.language == 'java-kotlin' uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 with: distribution: temurin java-version: "25" - name: Set up Gradle if: matrix.language == 'java-kotlin' uses: gradle/actions/setup-gradle@3f5f9adaf7d9fecd50b5935e54106014257a94e6 # v6.4.0 - name: Initialize CodeQL uses: github/codeql-action/init@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3 with: languages: ${{ matrix.language }} build-mode: ${{ matrix.build_mode }} queries: security-extended - name: Build the Kotlin sources for extraction if: matrix.language == 'java-kotlin' shell: bash run: ./gradlew classes testClasses --rerun-tasks --no-build-cache --no-daemon - name: Analyze uses: github/codeql-action/analyze@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3 with: category: /language:${{ matrix.language }}