Archive #1028
Workflow file for this run
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: build | |
on: [pull_request, push] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v4 | |
- name: Validate Gradle wrapper | |
uses: gradle/wrapper-validation-action@699bb18358f12c5b78b37bb0111d3a0e2276e0e2 | |
- uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
cache: 'gradle' | |
- name: Build the app | |
run: ./gradlew build | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: apk | |
path: app/build/outputs/apk/debug/app-debug.apk | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
cache: 'gradle' | |
- name: Enable KVM group perms | |
run: | | |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
sudo udevadm control --reload-rules | |
sudo udevadm trigger --name-match=kvm | |
- name: Tests | |
uses: reactivecircus/android-emulator-runner@6b0df4b0efb23bb0ec63d881db79aefbc976e4b2 | |
with: | |
api-level: 31 | |
arch: x86_64 | |
profile: pixel_3a | |
heap-size: 512M | |
ram-size: 4096M | |
emulator-options: -memory 4096 -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none | |
disable-animations: true | |
disk-size: 8G | |
script: | | |
mkdir -p artifacts/report | |
adb logcat -c | |
adb logcat -G 16M && adb logcat -g | |
./gradlew connectedCheck || touch tests_failing | |
adb logcat -d > artifacts/logcat.txt | |
cp -r app/build/reports/androidTests/connected/* artifacts/report/ | |
if adb shell '[ -e /sdcard/Pictures/screenshots ]'; then adb pull /sdcard/Pictures/screenshots artifacts/; fi | |
test ! -f tests_failing | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: instrumented-test-report | |
path: | | |
artifacts/* | |
if-no-files-found: ignore |