on: pull_request: paths: - '.github/**' - 'app/**' - 'gradle/**' - '*.properties' - '*.gradle' - 'gradlew' - 'gradlew.bat' name: Check pull request jobs: test-pr: runs-on: macos-latest strategy: matrix: api-level: [23, 29] variant: [Debug, Release] steps: - uses: actions/checkout@master - name: Copy CI gradle.properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - name: Generate cache key run: ./.github/checksum.sh checksum.txt - name: Cache gradle modules uses: actions/cache@v1 with: path: ~/.gradle/caches/modules-2 key: ${{ runner.os }}-gradlemodules-${{ hashFiles('checksum.txt') }} restore-keys: | ${{ runner.os }}-gradlemodules- - name: Cache gradle jars uses: actions/cache@v1 with: path: ~/.gradle/caches/jars-3 key: ${{ runner.os }}-gradlejars-${{ hashFiles('checksum.txt') }} restore-keys: | ${{ runner.os }}-gradlejars- - name: Cache gradle build uses: actions/cache@v1 with: path: ~/.gradle/caches/build-cache-1 key: ${{ runner.os }}-gradlebuildcache-${{ hashFiles('checksum.txt') }} restore-keys: | ${{ runner.os }}-gradlebuildcache- - name: Run unit tests run: ./gradlew test${{ matrix.variant }} lint${{ matrix.variant}} -Dpre-dex=false - name: Run instrumentation tests uses: reactivecircus/android-emulator-runner@v2 with: api-level: ${{ matrix.api-level }} target: default script: ./gradlew connectedCheck