test: add one-command Maestro SDK E2E coverage - #804
Conversation
Sample app builds 📱Below you will find the list of the latest versions of the sample apps. It's recommended to always download the latest builds of the sample apps to accurately test the pull request. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #804 +/- ##
============================================
- Coverage 69.07% 66.14% -2.93%
- Complexity 838 1517 +679
============================================
Files 149 245 +96
Lines 4601 8617 +4016
Branches 628 1408 +780
============================================
+ Hits 3178 5700 +2522
- Misses 1189 2454 +1265
- Partials 234 463 +229 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
|
Build available to test |
|
📏 SDK Binary Size Comparison ReportNo changes detected in SDK binary size ✅ |
|
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit b1324ee. Configure here.
| --platform android \ | ||
| --sdk-repo "$GITHUB_WORKSPACE" \ | ||
| --suite "$SUITE" \ | ||
| --headless |
There was a problem hiding this comment.
CI harness CLI differs locally
Medium Severity
The GitHub workflow invokes the shared runner with run and --sdk-repo, while .maestro/e2e.sh (used by make e2e) calls test with --android-sdk-repo. If the pinned harness only accepts one subcommand and flag pair, CI will fail once MOBILE_E2E_ENABLED is turned on even though local make e2e passes.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit b1324ee. Configure here.
There was a problem hiding this comment.
These are two supported harness entry points, not mismatched CLIs. The top-level e2e command dispatches test to scripts/run_profile.sh, where --android-sdk-repo selects the repository for a multi-suite profile. run_profile.sh then invokes every suite through e2e run --platform android --suite ... --sdk-repo ..., which is the same single-flow contract CI calls directly. The pinned harness declares and parses both forms, so CI does not depend on an unsupported subcommand or flag pair. No change is needed.
|
|
|
|


Summary
Adds Android sample and CI integration for the shared Maestro SDK-to-backend suite.
make e2e, setup, quick, and Message Inbox shortcutsMOBILE_E2E_ENABLEDuntil rollout is provenDependency
Depends on customerio/mobile-e2e#1. The workflow intentionally remains disabled for PR and scheduled execution until the shared harness is merged and repository configuration is present.
Validation
make formatpassedmake lintpassed locally and in the pre-push hook./gradlew :samples:java_layout:assembleDebugpassedgit diff --checkpassedRepository configuration after merge
Add
MOBILE_E2E_APP_API_KEYand theMOBILE_E2E_INBOX_TRANSACTIONAL_MESSAGE_IDrepository variable; manually dispatch the workflow once, then setMOBILE_E2E_ENABLED=true.Note
Low Risk
Changes are limited to sample app UI, Maestro/docs, and CI; SDK API behavior is unchanged and PR/scheduled runs stay disabled until MOBILE_E2E_ENABLED is set.
Overview
Adds one-command Maestro SDK-to-backend E2E for the Android
java_layoutsample, wired to the shared customerio/mobile-e2e harness locally and in CI.Local: New
.maestro/e2e.shand Makefile targets (make e2e,e2e-setup,e2e-quick,e2e-inbox) clone/update the harness and run Android profiles. Maestro env/docs switch fromMAESTRO_EXT_API_KEYtoMAESTRO_APP_API_KEYand documentINBOX_TRANSACTIONAL_MESSAGE_ID.Sample: Adds a full-screen Visual Inbox (
VisualInboxActivity+ dashboard entry) usingNotificationInboxView, and sharesvisualInboxFontswith the existing overlay for the message-inbox suite.CI: New Maestro SDK E2E workflow runs smoke on PRs (when enabled), full smoke/geofence/message-inbox on weekdays, or manual dispatch; provisions API 35 emulator, validates secrets, runs the harness headless, redacts artifacts, and uploads evidence. Gated by
MOBILE_E2E_ENABLEDuntil rollout.Reviewed by Cursor Bugbot for commit f7d4b88. Bugbot is set up for automated code reviews on this repo. Configure here.