diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 370f712..aec406f 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -204,6 +204,12 @@ jobs: emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none disable-animations: true script: | + # Expo's heavier UI can trigger a system-level ANR dialog on the + # low-memory GitHub Actions emulator. Disable ANR prompts before + # installing the app so Maestro is not blocked by emulator noise. + adb shell settings put secure show_anr_messages 0 + adb shell settings put global anr_dialogs_disabled true + adb shell settings put global anr_show_background false adb install ${{ matrix.dir }}/android/app/build/outputs/apk/release/app-release.apk maestro test --env APP_ID="${{ matrix.bundle_id }}" .maestro/flows/ci-master.yaml diff --git a/.maestro/flows/_setup.yaml b/.maestro/flows/_setup.yaml index 25c244d..75629c1 100644 --- a/.maestro/flows/_setup.yaml +++ b/.maestro/flows/_setup.yaml @@ -67,9 +67,8 @@ appId: ${APP_ID} - tapOn: "Reload" # The GitHub Actions Android emulator (API 29, software GPU) occasionally shows -# a system-level "System UI isn't responding" dialog that is unrelated to the -# app. The dialog usually appears shortly after launch, after the initial -# visibility check has already run, so a one-shot conditional can miss it. +# a system-level "System UI isn't responding" ANR dialog that is unrelated to +# the app. The dialog uses a straight ASCII apostrophe; match that exactly. # Poll for the dialog on Android while the playground screen is still hidden, # and tap "Wait" so the loaded app stays in focus. - runFlow: @@ -83,7 +82,7 @@ appId: ${APP_ID} commands: - runFlow: when: - visible: "System UI isn’t responding" + visible: "System UI isn't responding" commands: - tapOn: "Wait" - waitForAnimationToEnd: @@ -91,7 +90,7 @@ appId: ${APP_ID} - extendedWaitUntil: visible: "RNZipArchive Playground" - timeout: 180000 + timeout: 10000 - runFlow: when: