Do not copy #5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: blueprints | |
on: | |
push: | |
branches: | |
- main | |
- views | |
pull_request: | |
branches: | |
- main | |
- views | |
jobs: | |
build: | |
runs-on: ghcr.io/cirruslabs/ubuntu-runner-amd64:22.04-md | |
timeout-minutes: 45 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Copy CI gradle.properties | |
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties | |
- uses: cirruslabs/cache@v4 | |
with: | |
path: | | |
~/.gradle/caches/modules-* | |
~/.gradle/caches/jars-* | |
~/.gradle/caches/build-cache-* | |
key: gradle-${{ hashFiles('checksum.txt') }} | |
- name: Build project and UnitTest | |
run: ./gradlew assembleDebug compileDebugUnitTestKotlin | |
- name: Spotless | |
# Spotless is not gradle configuration cache compliant. To allow the rest of the build | |
# comply, run spotless with a gradle init script and disable the cache. | |
run: ./gradlew spotlessCheck --init-script gradle/init.gradle.kts --no-configuration-cache | |
- name: Unit tests | |
run: ./gradlew testDebugUnitTest | |
# Needed to accept licenses | |
- name: Setup Android SDK | |
uses: android-actions/setup-android@v2 | |
- name: Compile AndroidTests | |
run: ./gradlew compileDebugAndroidTestKotlin | |
- name: Run instrumentation tests | |
uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
api-level: 31 | |
arch: x86_64 | |
disable-animations: true | |
disk-size: 2000M | |
heap-size: 600M | |
script: ./gradlew connectedDebugAndroidTest | |
- name: Upload build reports | |
if: always() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: build-reports | |
path: app/build/reports/ | |
- name: Upload all outputs | |
if: failure() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: outputs | |
path: app/build/outputs/ |