seedvault/.github/workflows/test.yml

63 lines
1.9 KiB
YAML

name: Run instrumentation tests
on:
push:
branches:
- android*
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
instrumentation_tests:
runs-on: macos-12
if: github.repository == 'seedvault-app/seedvault'
timeout-minutes: 80
strategy:
fail-fast: false
matrix:
android_target: [ 34 ]
emulator_type: [ aosp_atd ]
d2d_backup_test: [ true, false ]
steps:
- name: Checkout Code
uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '17'
cache: 'gradle'
- name: Build Release APK
run: ./gradlew :app:assembleRelease
- name: Assemble tests
run: ./gradlew :app:assembleAndroidTest
- name: Run tests
uses: Wandalen/wretry.action@v1.3.0
with:
attempt_limit: 1
action: reactivecircus/android-emulator-runner@v2
with: |
api-level: ${{ matrix.android_target }}
target: ${{ matrix.emulator_type }}
arch: x86_64
force-avd-creation: true
emulator-options: -cores 2 -writable-system -no-snapshot-load -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disk-size: '14G'
sdcard-path-or-size: '4096M'
disable-animations: true
script: |
./app/development/scripts/provision_emulator.sh "test" "system-images;android-${{ matrix.android_target }};${{ matrix.emulator_type }};x86_64"
./.github/scripts/run_tests.sh ${{ matrix.d2d_backup_test }}
- name: Upload test results
if: always()
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.emulator_type }}-${{ matrix.android_target }}-results
path: seedvault_test_results/**/*