Pin E2E simulators and fix Expo device selection

This commit is contained in:
Samuel Newman
2026-07-17 13:30:41 +03:00
parent a3de8eaf46
commit 822e803da2
3 changed files with 43 additions and 8 deletions
+13 -2
View File
@@ -144,16 +144,27 @@ fi
phase "Building and installing the development client"
if [[ "$platform" == "ios" ]]; then
# Passing --device makes this Expo version merge simulator and devicectl
# results. On Xcode 26.4, devicectl can misclassify the simulator as a
# physical device and incorrectly require signing. Exactly one simulator is
# booted above, so Expo's default simulator-only resolver selects it.
echo "Building for already booted iOS simulator $device_id"
EXPO_PUBLIC_ENV=e2e \
NODE_ENV=test \
RN_SRC_EXT=e2e.ts,e2e.tsx \
pnpm exec expo run:ios --device "$device_id" --no-bundler \
pnpm exec expo run:ios --no-bundler \
2>&1 | tee "$artifact_dir/build.log"
else
expo_device_name="$(adb -s "$device_id" emu avd name | sed -n '1p' | tr -d '\r')"
if [[ -z "$expo_device_name" ]]; then
echo "Could not resolve the AVD name for $device_id" >&2
exit 1
fi
echo "Building for Android AVD $expo_device_name ($device_id)"
EXPO_PUBLIC_ENV=e2e \
NODE_ENV=test \
RN_SRC_EXT=e2e.ts,e2e.tsx \
pnpm exec expo run:android --device "$device_id" --no-bundler \
pnpm exec expo run:android --device "$expo_device_name" --no-bundler \
2>&1 | tee "$artifact_dir/build.log"
fi