name: Android Master CI on: pull_request: branches: - 'main' jobs: unit-tests: name: Run Unit Tests runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Set up JDK 11 uses: actions/setup-java@v2 with: distribution: 'adopt' java-version: '11' - name: Run Presentation Unit Tests run: ./gradlew :presentation:testDebugUnitTest - name: Run Data Unit Tests run: ./gradlew :data:testDebugUnitTest - name: Run Domain Unit Tests run: ./gradlew :domain:test instrumented-tests: name: Run Android Tests runs-on: macos-latest timeout-minutes: 20 strategy: matrix: api-level: [ 29 ] #[21, 23, 29] target: [ default ] #[default, google_apis] steps: - name: Checkout uses: actions/checkout@v2 - name: Set up JDK 11 uses: actions/setup-java@v2 with: distribution: 'adopt' java-version: '11' - name: Run All Android Tests uses: reactivecircus/android-emulator-runner@v2.19.1 #continue-on-error: true with: api-level: ${{ matrix.api-level }} target: ${{ matrix.target }} arch: x86_64 script: ./gradlew connectedCheck - name: Upload emulator tests artifact uses: actions/upload-artifact@v2 with: name: emulator_tests path: ./presentation/build/reports/androidTests/connected apk: name: Generate Debug APK runs-on: ubuntu-18.04 steps: - name: Checkout uses: actions/checkout@v2 - name: Set up JDK 11 uses: actions/setup-java@v2 with: distribution: 'adopt' java-version: '11' - name: Build Debug APK run: bash ./gradlew :presentation:assembleDebug --stacktrace - name: Upload Debug APK uses: actions/upload-artifact@v2 with: name: apk path: presentation/build/outputs/apk/debug/presentation-debug.apk