apps/mobile/e2e/README.md
MAESTRO_IOS_APP_PATH, or place a local build-*.tar.gz from eas build --local --platform ios --profile e2e-ios-simulator in apps/mobile.E2E_EMAIL if you want to reuse a fixed account. Otherwise the runner script creates a unique address.pnpm run e2e:doctor
pnpm run e2e:android
pnpm run e2e:ios
pnpm run e2e:ios:bootstrap
pnpm run e2e:ios runs two real journeys in sequence:
auth.yaml: register -> sign out -> log incontent.yaml: ensure onboarding feed unfollowed -> follow -> timeline/read-unread -> unfollowWhen non-auth iOS self-tests need a signed-in simulator quickly, bootstrap auth through the standard iOS runner mode:
pnpm run e2e:ios:bootstrap
This mode uses the auth bootstrap helper on iOS when EXPO_PUBLIC_E2E_ENV_PROFILE=prod or EXPO_PUBLIC_E2E_ENV_PROFILE=local, and falls back to the normal iOS registration flow for other environments.
Optional environment variables:
E2E_EMAILE2E_PASSWORDMAESTRO_IOS_DEVICE_IDE2E_API_URLE2E_CALLBACK_URLE2E_BUNDLE_IDThe bootstrap script signs in against prod using the mobile fallback token header, writes the auth cookie into the simulator's ExpoSQLiteStorage fallback store, and relaunches the app.
E2E_EMAILE2E_PASSWORDMAESTRO_DEBUG_OUTPUTMAESTRO_IOS_APP_PATHEXPO_PUBLIC_E2E_ENV_PROFILEEXPO_PUBLIC_E2E_LANGUAGE