# synced from @nextcloud/android-config
name: "CodeQL"

on:
  push:
    branches: [ "master", "main", "stable-*" ]
  pull_request:
    branches: [ "master", "main" ]
  schedule:
    - cron: '24 18 * * 3'

permissions:
  contents: read

jobs:
  analyze:
    name: Analyze
    runs-on: ubuntu-latest
    permissions:
      actions: read
      contents: read
      security-events: write
    strategy:
      fail-fast: false
      matrix:
        language: [ 'java' ]
    steps:
      - name: Checkout repository
        uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
      - name: Set Swap Space
        uses: pierotofy/set-swap-space@49819abfb41bd9b44fb781159c033dba90353a7c # v1.0
        with:
          swap-size-gb: 10
      - name: Initialize CodeQL
        uses: github/codeql-action/init@3ebbd71c74ef574dbc558c82f70e52732c8b44fe # v2.2.1
        with:
          languages: ${{ matrix.language }}
      - name: Set up JDK
        uses: actions/setup-java@1df8dbefe2a8cbc99770194893dd902763bee34b # v3.9.0
        with:
          distribution: "temurin"
          java-version: 11
      - name: Assemble
        run: |
          mkdir -p "$HOME/.gradle"
          echo "org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError" > "$HOME/.gradle/gradle.properties"
          ./gradlew assembleDebug
      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@3ebbd71c74ef574dbc558c82f70e52732c8b44fe # v2.2.1
