diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 5cfde3a..427f58e 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -155,6 +155,7 @@ jobs: key: system-image-${{ matrix.api-level }}-google_apis-x86_64 - name: Run Device Checks + timeout-minutes: 20 uses: reactivecircus/android-emulator-runner@a421e43855164a8197daf9d8d40fe71c6996bb0d # v2.38.0 with: api-level: ${{ matrix.api-level }} @@ -163,7 +164,8 @@ jobs: disable-animations: true # Each line runs separately; am instrument exits 0 even when checks fail. script: | - adb install -r example/build/locus/outputs/apk/androidTest/debug/locus-debug-androidTest.apk + timeout 300 sh -c 'until adb shell pm path android >/dev/null 2>&1; do sleep 2; done' + timeout 180 adb install -r example/build/locus/outputs/apk/androidTest/debug/locus-debug-androidTest.apk || timeout 180 adb install -r example/build/locus/outputs/apk/androidTest/debug/locus-debug-androidTest.apk adb shell am instrument -w dev.locus.test/dev.locus.core.ConfigSnapshotInstrumentation | tee instrumentation.log grep -q "Config snapshot instrumentation passed" instrumentation.log