Second of the two E2E-33 blockers (the first — corrupt-zip at AVD-create — is #443 / PR #446). Once #446 fixed the corrupt-zip and a run finally reached the emulator-boot phase on API-33, both E2E attempts failed on the emulator boot race (the retry step is literally "Run E2E tests (retry after emulator boot race)"). It was masked all along because no run got past the corrupt-zip to reach boot.
Unlike the corrupt-zip (deterministic), the boot race is intermittent — a re-run catches a clean boot — but it flakes the whole merge queue on lucky-boot odds.
Fix: converge the matrix e2e job's emulator boot on the e2e-preview job's hand-provisioned manual-boot pattern, which is robust: bounded wait-for-sys.boot_completed loop + adb shell input keyevent 82 || true + a readiness gate before connectedDebugAndroidTest, instead of relying on reactivecircus/android-emulator-runner's default boot wait. Mirror the flags e2e-preview already uses.
Priority P2 (flakes the merge queue).
**Second of the two E2E-33 blockers** (the first — corrupt-zip at AVD-create — is #443 / PR #446). Once #446 fixed the corrupt-zip and a run finally reached the emulator-boot phase on API-33, **both** E2E attempts failed on the emulator **boot race** (the retry step is literally "Run E2E tests (retry after emulator boot race)"). It was masked all along because no run got past the corrupt-zip to reach boot.
Unlike the corrupt-zip (deterministic), the boot race is **intermittent** — a re-run catches a clean boot — but it flakes the whole merge queue on lucky-boot odds.
**Fix:** converge the matrix `e2e` job's emulator boot on the **`e2e-preview` job's hand-provisioned manual-boot pattern**, which is robust: bounded wait-for-`sys.boot_completed` loop + `adb shell input keyevent 82 || true` + a readiness gate before `connectedDebugAndroidTest`, instead of relying on `reactivecircus/android-emulator-runner`'s default boot wait. Mirror the flags e2e-preview already uses.
Priority P2 (flakes the merge queue).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Second of the two E2E-33 blockers (the first — corrupt-zip at AVD-create — is #443 / PR #446). Once #446 fixed the corrupt-zip and a run finally reached the emulator-boot phase on API-33, both E2E attempts failed on the emulator boot race (the retry step is literally "Run E2E tests (retry after emulator boot race)"). It was masked all along because no run got past the corrupt-zip to reach boot.
Unlike the corrupt-zip (deterministic), the boot race is intermittent — a re-run catches a clean boot — but it flakes the whole merge queue on lucky-boot odds.
Fix: converge the matrix
e2ejob's emulator boot on thee2e-previewjob's hand-provisioned manual-boot pattern, which is robust: bounded wait-for-sys.boot_completedloop +adb shell input keyevent 82 || true+ a readiness gate beforeconnectedDebugAndroidTest, instead of relying onreactivecircus/android-emulator-runner's default boot wait. Mirror the flags e2e-preview already uses.Priority P2 (flakes the merge queue).