name: Android CI

on:
  push:
    branches: [ main, 'version/*', 'feature/*' ]
  pull_request:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: set up JDK 17
      uses: actions/setup-java@v3
      with:
        java-version: '17'
        distribution: 'adopt'
        cache: gradle
    - name: Prepare
      run: ./.github/prepare-workflow
    - name: Run with Gradle
      uses: gradle/gradle-build-action@v2
      with:
        arguments: assembleProdDebug -PdisablePreDex "-Dorg.gradle.jvmargs=-Xmx2g"

  unit-test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        module:
          - "common"
          - "Habitica"
    steps:
    - uses: actions/checkout@v3
    - name: set up JDK 17
      uses: actions/setup-java@v3
      with:
        java-version: '17'
        distribution: 'adopt'
        cache: gradle
    - name: Prepare
      run: ./.github/prepare-workflow
    - name: Run with Gradle
      uses: gradle/gradle-build-action@v2
      with:
        arguments: ${{ matrix.module }}:testProdDebugUnitTest

#  ui-test:
#    runs-on: ubuntu-latest
#    strategy:
#      matrix:
#        api-level: [28, 29, 30, 31, 32]
#    steps:
#    - uses: actions/checkout@v2
#    - name: set up JDK 11
#      uses: actions/setup-java@v2
#      with:
#        java-version: '11'
#        distribution: 'adopt'
#        cache: gradle
#    - name: Prepare
#      run: ./.github/prepare-workflow
#    - name: run tests
#      uses: reactivecircus/android-emulator-runner@v2
#      with:
#        api-level: ${{ matrix.api-level }}
#        arch: x86_64
#        emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
#        disable-animations: true
#        script: ./gradlew connectedProdDebugAndroidTest

  lint:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: set up JDK 17
      uses: actions/setup-java@v3
      with:
        java-version: '17'
        distribution: 'adopt'
        cache: gradle
    - name: Prepare
      run: ./.github/prepare-workflow
    - name: Run with Gradle
      uses: gradle/gradle-build-action@v2
      with:
        arguments: ktlintCheck

#  detekt:
#    runs-on: ubuntu-latest
#    steps:
#    - uses: actions/checkout@v3
#    - name: set up JDK 17
#      uses: actions/setup-java@v3
#      with:
#        java-version: '17'
#        distribution: 'adopt'
#        cache: gradle
#    - name: Prepare
#      run: ./.github/prepare-workflow
#    - name: Run with Gradle
#      uses: gradle/gradle-build-action@v2
#      with:
#        arguments: detekt
#    - name: Upload SARIF to Github using the upload-sarif action
#      uses: github/codeql-action/upload-sarif@v2
#      if: ${{ always() }}
#      with:
#        sarif_file: build/reports/detekt.sarif
