name: "CodeQL Analysis & Code Scanning" on: push: branches: [ "main" ] pull_request: branches: [ "main" ] schedule: - cron: '30 4 * * 1' permissions: actions: read contents: read security-events: write jobs: analyze: name: Analyze (${{ matrix.language }}) runs-on: ubuntu-latest timeout-minutes: 120 strategy: fail-fast: false matrix: include: - language: java-kotlin build: true - language: javascript-typescript build: false steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Java 21 if: matrix.build uses: actions/setup-java@v5 with: distribution: temurin java-version: "21" - name: Set up Android SDK if: matrix.build uses: android-actions/setup-android@v4 - name: Install Android Platform & Build Tools if: matrix.build shell: bash run: | set -euo pipefail sdkmanager \ "platform-tools" \ "platforms;android-35" \ "build-tools;35.0.0" - name: Setup Gradle if: matrix.build uses: gradle/actions/setup-gradle@v4 with: gradle-version: wrapper cache-read-only: false - name: Initialize CodeQL uses: github/codeql-action/init@v4 with: languages: ${{ matrix.language }} queries: +security-extended,security-and-quality config-file: ./.github/codeql/codeql-config.yml - name: Build Application for Analysis if: matrix.build shell: bash run: | chmod +x gradlew ./gradlew :app:assembleDebug --no-daemon - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v4 continue-on-error: true with: category: "/language:${{ matrix.language }}"