name: Build on: push: branches: [ master ] pull_request: branches: [ master ] jobs: unit-test: runs-on: [ubuntu-latest] if: ${{ !contains(github.event.head_commit.message, '[ci skip]') }} steps: - name: Checkout Repo uses: actions/checkout@v2 - name: Set up JDK 1.8 uses: actions/setup-java@v1 with: java-version: 11 - name: Generate a Cache Key run: ./checksum.sh checksum.txt - name: Copy CI Gradle Properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - name: Cache Gradle Folders uses: actions/cache@v2 with: path: | ~/.gradle/caches/ ~/.gradle/wrapper/ key: cache-gradle-${{ runner.os }}-${{ hashFiles('checksum.txt') }} restore-keys: | cache-gradle-${{ runner.os }}- cache-gradle- - name: Run all unit tests run: ./gradlew test instrumentation-test: runs-on: [macos-latest] if: ${{ !contains(github.event.head_commit.message, '[ci skip]') }} steps: - name: Checkout Repo uses: actions/checkout@v2 - name: Set up JDK 1.8 uses: actions/setup-java@v1 with: java-version: 11 - name: Generate a Cache Key run: ./checksum.sh checksum.txt - name: Copy CI Gradle Properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - name: Cache Gradle Folders uses: actions/cache@v2 with: path: | ~/.gradle/caches/ ~/.gradle/wrapper/ key: cache-gradle-${{ runner.os }}-${{ hashFiles('checksum.txt') }} restore-keys: | cache-gradle-${{ runner.os }}- cache-gradle- - name: Run all instrumentation tests uses: reactivecircus/android-emulator-runner@v2 with: api-level: 30 target: google_apis # https://github.com/ReactiveCircus/android-emulator-runner/issues/106 script: ./gradlew connectedAndroidTest assemble: runs-on: [ubuntu-latest] if: ${{ !contains(github.event.head_commit.message, '[ci skip]') }} steps: - name: Checkout Repo uses: actions/checkout@v2 - name: Set up JDK 1.8 uses: actions/setup-java@v1 with: java-version: 11 - name: Generate a Cache Key run: ./checksum.sh checksum.txt - name: Copy CI Gradle Properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - name: Cache Gradle Folders uses: actions/cache@v2 with: path: | ~/.gradle/caches/ ~/.gradle/wrapper/ key: cache-gradle-${{ runner.os }}-${{ hashFiles('checksum.txt') }} restore-keys: | cache-gradle-${{ runner.os }}- cache-gradle- - name: Build Debug APK run: ./gradlew assembleDebug