Skip to content

test: migrate test app to expo dev client#881

Merged
thymikee merged 4 commits into
mainfrom
codex/expo-dev-client-test-app
Jun 25, 2026
Merged

test: migrate test app to expo dev client#881
thymikee merged 4 commits into
mainfrom
codex/expo-dev-client-test-app

Conversation

@thymikee

Copy link
Copy Markdown
Member

Summary

Migrate the Expo test app from Expo Go to a local development build powered by Expo Dev Client, including scripts, docs, Maestro config, and the explicit dev-client runtime dependency needed by Android.

Touched files: 7.

Validation

Verified with the test-app typecheck, SkillGym smoke-suite syntax check, and git diff whitespace check. Built and installed locally on iOS physical device 00008150-001849640CF8401C and Android emulator Pixel_9_Pro_XL; both launched the installed dev client and rendered the Agent Device Tester home screen with Release notice.

@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown

Size Report

Metric Base Current Diff
JS raw 1.3 MB 1.3 MB 0 B
JS gzip 433.9 kB 433.9 kB 0 B
npm tarball 571.8 kB 571.8 kB 0 B
npm unpacked 1.9 MB 1.9 MB 0 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 29.5 ms 29.1 ms -0.4 ms
CLI --help 48.7 ms 49.1 ms +0.3 ms

Top changed chunks: no changes in the largest emitted chunks.

@thymikee

Copy link
Copy Markdown
Member Author

One docs fix before I would call this merge-ready:

CONTRIBUTING.md:85 now runs pnpm test-app:ios, then the next three commands explicitly target --device "iPhone 17 Pro". With the dev-client migration, the first command is no longer just starting Metro through Expo Go; it builds/installs the native app. If Expo chooses a different default simulator/device, the subsequent agent-device open "Agent Device Tester" --device "iPhone 17 Pro" can fail because the dev build was installed elsewhere.

Please make the install/build step target the same device, for example pnpm test-app:ios -- --device "iPhone 17 Pro" if that forwarding shape works, or document the exact supported invocation for expo run:ios. The same principle should be clear for any targeted Android flow: build/install the dev client on the device/emulator used by the Maestro run.

Everything else I checked looks coherent: dependencies/lockfile include expo-dev-client, the Maestro appId now matches com.callstack.agentdevicelab, Expo Go guidance is retained only for explicit URL/host-shell SkillGym cases, and CI is green.

@thymikee

Copy link
Copy Markdown
Member Author

Addressed the docs issue in fc635f0: the iOS example now builds/installs the dev client with the same --device "iPhone 17 Pro" used by the later agent-device/Maestro commands, and the Android guidance now calls out building/installing on the same targeted emulator/device before running Maestro.

Validation: git diff --check passed. The attempted pnpm test-app:* -- --help forwarding probes were stopped because root pnpm tried to hydrate missing workspace packages and hit sandboxed registry DNS, so I did not treat those as product validation.

@thymikee

Copy link
Copy Markdown
Member Author

Addressed the remaining review notes in d63d59f.

  • Kept the direct @expo/dom-webview dependency and documented why: Android dev-client verification failed when the runtime resolved the older transitive SDK 55 native module, so the direct SDK 56 dependency is intentional.
  • Added the separate-terminal note for expo run:* / pnpm test-app:ios, since Metro stays in the foreground before running agent-device or Maestro commands.

Validation: git diff --check passed; docs-only change.

@thymikee

Copy link
Copy Markdown
Member Author

Follow-up review: the docs issue I raised is addressed.

CONTRIBUTING.md now builds/installs the iOS dev client on the same "iPhone 17 Pro" target used by the later agent-device and Maestro commands, and it calls out that pnpm test-app:ios keeps Metro in the foreground. The Android section also now states the same-target build/install requirement before running Maestro.

No remaining blocker from my side; with the existing iOS physical-device and Android emulator validation in the PR body plus green checks, I would call this merge-ready.

@thymikee thymikee merged commit 98c0b1d into main Jun 25, 2026
20 checks passed
@thymikee thymikee deleted the codex/expo-dev-client-test-app branch June 25, 2026 19:43
@github-actions

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-06-25 19:43 UTC

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.

1 participant