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@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
      - name: set up JDK 17
        uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 # v3.12.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@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
        if: ${{ always() }}
        with:
          name: Nextcloud-APK
          path: app/build/outputs/apk/**/**/*.apk
          retention-days: 5