# synced from @nextcloud/android-config

# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2023 Tobias Kaminsky <tobias@kaminsky.me>
# SPDX-FileCopyrightText: 2023 Andy Scherzinger <info@andy-scherzinger.de>
# SPDX-FileCopyrightText: 2023 Josh Richards <josh.t.richards@gmail.com>
# SPDX-License-Identifier: GPL-3.0-or-later

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-22.04
        steps:
            -   name: Setup variables
                id: get-vars
                run: |
                    if [ -z "$GITHUB_HEAD_REF" ]; then
                        # push
                        {
                            echo "branch=$GITHUB_REF_NAME"
                            echo "pr=$GITHUB_RUN_ID"
                            echo "repo=${{ github.repository }}"
                        } >> "$GITHUB_OUTPUT"
                    else
                        # pull request
                        {
                            echo "branch=$GITHUB_HEAD_REF"
                            echo "pr=${{ github.event.pull_request.number }}"
                            echo "repo=${{ github.event.pull_request.head.repo.full_name }}"
                        } >> "$GITHUB_OUTPUT"
                    fi
            -   uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
                with:
                    repository: ${{ steps.get-vars.outputs.repo }}
                    ref: ${{ steps.get-vars.outputs.branch }}
            -   name: Set up JDK 17
                uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73 # v4.4.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 }}
