# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT

name: "Assemble"

on:
  pull_request:
    branches: [ master, stable-* ]

# Declare default permissions as read only.
permissions: read-all

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

jobs:
  flavor:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        flavor: [ Generic, Gplay ]
    steps:
      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
      - name: set up JDK 17
        uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73 # v4.4.0
        with:
          distribution: "temurin"
          java-version: 17
      - name: Build ${{ matrix.flavor }}
        run: |
          echo "org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError" >> gradle.properties
          ./gradlew assemble${{ matrix.flavor }}
      - name: Archive apk
        uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
        if: ${{ always() }}
        with:
          name: Nextcloud-${{ matrix.flavor }}-APK
          path: app/build/outputs/apk/**/**/*.apk
          retention-days: 5
