2cc7a440b0 Add with-e2e: e2e tests on Expo Simulators and EAS Workflows (#715)
# Why

TesterArmy is adding Expo to the [e2e
showcase](https://e2e.tester.army/examples) and asked for an Expo
example that runs on Expo Simulators. This folder is that example. The
showcase lists it by folder URL, so it lives here and installs with `npx
create-expo --example with-e2e`.

# How

- One screen: a greeting form built with `@expo/ui` universal components
inside a `GlassView` from `expo-glass-effect`, with native tabs. A
second tab explains the tests.
- The five tests from TesterArmy's with-expo starter: three locator
tests and two agent tests that skip without `AI_GATEWAY_API_KEY`.
- `e2e.config.ts` has `ios`, `android`, and `web` targets. With
`E2E_IOS_BUILD_ID` or `E2E_ANDROID_BUILD_ID` set, the mobile targets run
on Expo Simulators through `@e2e-dev/eas`. Without them, they drive the
local simulator or emulator. The web target lets the runner pick a free
port.
- `eas.json` adds an `e2e` build profile. `.eas/workflows/e2e.yml`
builds both platforms and runs the suite on Expo Simulators from Linux
runners.
- `AGENTS.md` tells coding agents to install the Expo skills and which
skill to use for the screen, Expo Simulators, and the workflow.

# Test Plan

- [x] `tsc --noEmit` and `eslint .` pass.
- [x] Fresh install of the folder (from this branch, since `create-expo
--example` reads master), then the README steps: `npm run ios:release`
and `npm run test:e2e:ios` on an iPhone 17 simulator (iOS 26.5). Three
locator tests pass, the agent tests skip without a key.
- [x] `npm run test:e2e:web` in the fresh install: three pass.
- [x] `npm run android:release` and `npm run test:e2e:android` on a
Pixel 9 emulator (Android 16): three pass.
- [ ] The agent tests with a model key.
- [ ] A run on Expo Simulators with an `e2e` profile build
(`E2E_IOS_BUILD_ID`).
- [ ] `eas workflow:validate` and one workflow run. Both need the
project linked with `eas init`.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Fable 5.1 <[email protected]>
Co-authored-by: Tori Expo <[email protected]>
2026-10-30 18:34:37 +00:00
2025-08-21 09:54:11 -05:00
2025-11-06 14:26:56 -08:00
2026-05-31 10:23:18 -07:00
2025-03-31 15:40:25 -07:00
2025-08-21 09:57:46 -05:00

expo examples

Expo Examples

Expo SDK version first-timers-only Friendly

Create an Example | Suggest an Example 🚀

Easy example for using features, libraries, and other integrations with Expo!

Usage

Use this repo to create new universal React and React Native projects with create-expo.

npx create-expo --example <Example>
bun create expo --example <Example>

# Example - with-router-ai

bun create expo --example with-router-ai

Launch badge

Launch with Expo

You can add the launch.expo.dev badge to your project's README to enable single-click deployment:

[![Launch with Expo](https://github.com/expo/examples/blob/master/.gh-assets/launch.svg?raw=true)](https://launch.expo.dev/?github=<GH_REPO_URL>)

Replace <GH_REPO_URL> with the URL of your GitHub repository, e.g., https://github.com/expo/examples/tree/master/with-router-ai.

S
Description
Example projects that demonstrate how to use Expo APIs and integrate Expo with other popular tools
Readme MIT
70 MiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 78.8%
JavaScript 16.1%
CSS 1.7%
MDX 1.6%
Shell 0.8%
Other 1%