Files
nowinandroid/.github/workflows/Build.yaml
Jolanda Verhoef ae0cc710ef Add github-specific setup (#1)
* Add github-specific setup

Change-Id: Iad8edf3c16182807eda6893c696244d9147f7cab

* Update Build.yaml

Replaces cC for cAT

* Filters out benchmark tests

* Trying to increase storage with disk.dataPartition.size

* Increasing size a bit more for API 23

* Remove API 23

* Reverting, using correct param name

* Increase again to 1500M

* heap=512M

java.lang.OutOfMemoryError: java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw an exception; no stack trace available

* replace 29 for 31

looks like 29 has memory issues https://github.com/google/android-fhir/issues/73

* API 30

* Arch x86_64 as there's no API 30 x86

Co-authored-by: Jose Alcérreca <JoseAlcerreca@users.noreply.github.com>
2022-05-12 18:20:23 +02:00

115 lines
2.9 KiB
YAML

name: Build
on:
push:
branches:
- main
pull_request:
concurrency:
group: build-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 60
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: Generate cache key
run: ./scripts/checksum.sh checksum.txt
- uses: actions/cache@v2
with:
path: |
~/.gradle/caches/modules-*
~/.gradle/caches/jars-*
~/.gradle/caches/build-cache-*
key: gradle-${{ hashFiles('checksum.txt') }}
- name: Check spotless
run: ./gradlew spotlessCheck --stacktrace
- name: Check lint
run: ./gradlew lintDebug --stacktrace
- name: Build debug
run: ./gradlew assembleDebug --stacktrace
- name: Build release
run: ./gradlew assembleRelease --stacktrace
- name: Run local tests
run: ./gradlew testDebug --stacktrace
- name: Upload build outputs (APKs)
uses: actions/upload-artifact@v2
with:
name: build-outputs
path: app/build/outputs
- name: Upload build reports
if: always()
uses: actions/upload-artifact@v2
with:
name: build-reports
path: app/build/reports
androidTest:
needs: build
runs-on: macOS-latest # enables hardware acceleration in the virtual machine
timeout-minutes: 30
strategy:
matrix:
api-level: [23, 26, 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
- name: Generate cache key
run: ./scripts/checksum.sh $SAMPLE_PATH checksum.txt
- uses: actions/cache@v2
with:
path: |
~/.gradle/caches/modules-*
~/.gradle/caches/jars-*
~/.gradle/caches/build-cache-*
key: gradle-${{ hashFiles('checksum.txt') }}
- name: Run instrumentation tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
arch: x86_64
disable-animations: true
disk-size: 1500M
heap-size: 512M
script: ./gradlew connectedAndroidTest -x :benchmark:connectedBenchmarkAndroidTest
- name: Upload test reports
if: always()
uses: actions/upload-artifact@v2
with:
name: test-reports
path: app/build/reports/androidTests