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

on:
    pull_request:
        branches: [ "master", "main", "stable-*" ]
    push:
        branches: [ "master", "main", "stable-*" ]

permissions:
    pull-requests: write
    contents: write

concurrency:
    group: analysis-wrapper-${{ github.head_ref || github.run_id }}
    cancel-in-progress: true

jobs:
    analysis:
        runs-on: ubuntu-latest
        steps:
            -   name: Setup variables
                id: get-vars
                run: |
                    if [ -z "$GITHUB_HEAD_REF" ]; then
                        # push
                        echo "branch=$GITHUB_REF_NAME" >> "$GITHUB_OUTPUT"
                        echo "pr=$GITHUB_RUN_ID" >> "$GITHUB_OUTPUT"
                        echo "repo=${{ github.repository }}" >> "$GITHUB_OUTPUT"
                    else
                        # pull request
                        echo "branch=$GITHUB_HEAD_REF" >> "$GITHUB_OUTPUT"
                        echo "pr=${{ github.event.pull_request.number }}" >> "$GITHUB_OUTPUT"
                        echo "repo=${{ github.event.pull_request.head.repo.full_name }}" >> "$GITHUB_OUTPUT"
                    fi
            -   uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
                with:
                    repository: ${{ steps.get-vars.outputs.repo }}
                    ref: ${{ steps.get-vars.outputs.branch }}
            -   name: Set up JDK 17
                uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 # v3.12.0
                with:
                    distribution: "temurin"
                    java-version: 17
            -   name: Install dependencies
                run: |
                    python3 -m pip install defusedxml
            -   name: Run analysis wrapper
                env:
                    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
                run: |
                    mkdir -p $HOME/.gradle
                    echo "org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError" > $HOME/.gradle/gradle.properties
                    scripts/analysis/analysis-wrapper.sh ${{ steps.get-vars.outputs.branch }} ${{ secrets.LOG_USERNAME }} ${{ secrets.LOG_PASSWORD }} $GITHUB_RUN_NUMBER ${{ steps.get-vars.outputs.pr }}