name: iosched on: push: branches: - main pull_request: branches: - main jobs: build: runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Checkout uses: actions/checkout@v2 - name: Copy CI gradle.properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - uses: actions/cache@v2 with: path: | ~/.gradle/caches/modules-* ~/.gradle/caches/jars-* ~/.gradle/caches/build-cache-* key: gradle-${{ hashFiles('checksum.txt') }} - name: Build project run: ./gradlew assembleDebug --stacktrace - name: Upload build reports if: always() uses: actions/upload-artifact@v2 with: name: build-reports path: app/build/reports/ test: needs: build runs-on: macOS-latest # enables hardware acceleration in the virtual machine timeout-minutes: 30 strategy: matrix: api-level: [ 23, 26, 29 ] steps: - name: Checkout uses: actions/checkout@v2 - name: Copy CI gradle.properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Run instrumentation tests uses: reactivecircus/android-emulator-runner@v2 with: api-level: ${{ matrix.api-level }} arch: x86 disable-animations: true script: ./gradlew app:cAT --stacktrace - name: Upload test reports if: always() uses: actions/upload-artifact@v2 with: name: test-reports path: app/build/reports/