111 lines
3.0 KiB
YAML
111 lines
3.0 KiB
YAML
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 |