diff --git a/.github/workflows/instrumentation-test.yml b/.github/workflows/instrumentation-test.yml index d5be42a3..885e1e65 100644 --- a/.github/workflows/instrumentation-test.yml +++ b/.github/workflows/instrumentation-test.yml @@ -49,17 +49,10 @@ jobs: env: MAPS_API_KEY: ${{ secrets.SYNCED_GOOGLE_MAPS_API_KEY_ANDROID }} - - name: Build debug - run: ./gradlew assembleDebug - - name: Run instrumentation tests - uses: reactivecircus/android-emulator-runner@v2 - with: - api-level: 29 - target: google_apis - arch: x86 - disable-animations: true - script: ./gradlew :app:connectedCheck --stacktrace + run: ./gradlew :app:allDevicesCheck -Pandroid.experimental.testOptions.managedDevices.setupTimeoutMinutes=1200 -Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" --info + # Due to a bug, setupTimeoutMinutes is actually expressed in seconds. Fix merged into AGP, + # but not released yet as of 7.3.1. TODO clean up once property is fixed - name: Upload test reports if: always() diff --git a/app/build.gradle b/app/build.gradle index fafb8155..e67fc3a3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -35,6 +35,18 @@ android { jvmTarget = '1.8' freeCompilerArgs += '-Xopt-in=kotlin.RequiresOptIn' } + + testOptions { + managedDevices { + devices { + pixel5api29(com.android.build.api.dsl.ManagedVirtualDevice) { + device = "Pixel 5" + apiLevel = 29 + systemImageSource = "google" + } + } + } + } } dependencies {