# synced from @nextcloud/android-config # SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors # SPDX-FileCopyrightText: 2025 Alper Ozturk # SPDX-FileCopyrightText: 2023 Tobias Kaminsky # SPDX-FileCopyrightText: 2023 Andy Scherzinger # SPDX-FileCopyrightText: 2023 Josh Richards # SPDX-FileCopyrightText: 2025 Marcel Hibbe # 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-latest steps: - name: Disabled on forks if: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository }} run: | echo 'Can not analyze PRs from forks' exit 1 - name: Setup variables # zizmor: ignore[template-injection] 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: persist-credentials: false repository: ${{ steps.get-vars.outputs.repo }} ref: ${{ steps.get-vars.outputs.branch }} - name: Set up JDK 17 uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 with: distribution: "temurin" java-version: 17 - name: Install dependencies run: | sudo apt install python3-defusedxml - name: Run analysis wrapper env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Memory that is set in jvmargs must be wisely chosen. # E.g. with -Xmx5g and -Xmx1g android talk builds always failed with "The operation was canceled". -Xmx3g seems to work so far. run: | mkdir -p "$HOME/.gradle" { echo "org.gradle.jvmargs=-Xmx3g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g" echo "org.gradle.configureondemand=true" echo "kapt.incremental.apt=true" } > "$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 }}"