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@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
      - name: set up JDK 17
        uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 # v3.13.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@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
        if: ${{ always() }}
        with:
          name: Nextcloud-APK
          path: app/build/outputs/apk/**/**/*.apk
          retention-days: 5