Skip to content

ci: run E2E suites in demo apps (Android) - #381

Open
alpharius-ck wants to merge 44 commits into
mainfrom
e2e-for-android
Open

ci: run E2E suites in demo apps (Android)#381
alpharius-ck wants to merge 44 commits into
mainfrom
e2e-for-android

Conversation

@alpharius-ck

@alpharius-ck alpharius-ck commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds and stabilizes Android Detox E2E for the brownfield demo apps (AndroidApp + embedded RN hosts), covering vanilla, Expo 56, and Expo 57.

CI pipeline

  • Vanilla — single job: package AAR → Detox APKs → E2E (120 min).
  • Expo 56 / Expo 57 — split build + test jobs (avoids timeouts):
  • android-androidapp-expo{56,57}-build — package AAR, Detox build, upload APK artifact (120 min)
  • android-androidapp-expo{56,57}-e2e — download APKs, boot emulator, run Detox (90 min)
  • androidapp-road-test supports e2e-phase: none | full | build | test

E2E reliability (Expo on Android)

Headless CI emulators often break Espresso/Detox sync and clipped NativeTabs taps. This PR hardens shared helpers around:

  • UIAutomator-first readiness / assertions (adb) where Espresso visibility is flaky
  • Resolution-aware shell scrolling
  • PostMessage tab open via UIAutomator + icon-biased tap (sync off), with member Brownie APIs (no fat-AAR package-level extension imports)
  • Shared Expo suite for 56 and 57 (androidAppExpoBrownfield.e2e.js)

@artus9033 artus9033 mentioned this pull request Jun 23, 2026
3 tasks
@alpharius-ck
alpharius-ck marked this pull request as ready for review June 30, 2026 07:18
Comment thread .github/workflows/ci.yml Outdated
Comment on lines -150 to -149
- version: '54'
- version: '55'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Q: Does it mean we only test for Expo 54 now?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No — Expo 54 is still covered; Expo 55 was moved to dedicated jobs, not dropped.
Expo 55 was removed from the shared matrix because a single job couldn’t reliably finish build + E2E within the timeout. iOS still uses one matrix for both versions (run-e2e: 'false' for 54, 'true' for 55) — Android mirrors that intent, with a split layout for 55.

…roid/example/BrownfieldApplication.kt

Co-authored-by: Hur Ali <hurali97@gmail.com>
@alpharius-ck
alpharius-ck requested a review from hurali97 June 30, 2026 14:04
@alpharius-ck

Copy link
Copy Markdown
Collaborator Author

@hurali97 @artus9033 ready for the final review

@artus9033

Copy link
Copy Markdown
Collaborator

CC @hurali97 - would you review?

@artus9033 artus9033 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants