@@ -51,64 +51,20 @@ phases:
5151 echo "Using Metro host IPv6 for iOS harness: ${METRO_HOST_IP}"
5252 echo "$METRO_HOST_IP" > "$WORKING_DIRECTORY/metro-host-ip.txt"
5353
54- # Find the physical device connected to this runner.
55- - |
56- set -euo pipefail
57-
58- IOS_DEVICE_UDID="${DEVICEFARM_DEVICE_UDID:-${DEVICEFARM_DEVICE_NAME:-}}"
59- IOS_DEVICES_JSON="$(mktemp)"
60- xcrun devicectl list devices --json-output "$IOS_DEVICES_JSON"
61-
62- IOS_DEVICE_NAME="$(
63- IOS_DEVICE_UDID="$IOS_DEVICE_UDID" node - "$IOS_DEVICES_JSON" <<'NODE'
64- const fs = require('node:fs')
65-
66- const jsonPath = process.argv[2]
67- const rawJson = fs.readFileSync(jsonPath, 'utf8')
68- const payload = JSON.parse(rawJson)
69- const devices = payload.result.devices
70- const udid = process.env.IOS_DEVICE_UDID || ''
71-
72- let selected = null
73- for (const device of devices) {
74- if (device.identifier === udid) {
75- selected = device
76- break
77- }
78- }
79-
80- if (selected == null && devices.length > 0) {
81- selected = devices[0]
82- }
83-
84- if (selected == null) {
85- process.exit(1)
86- }
87-
88- const name = selected.deviceProperties.name
89- if (!name) {
90- process.exit(1)
91- }
92-
93- process.stdout.write(name)
94- NODE
95- )"
96-
97- echo "$IOS_DEVICE_NAME" > "$WORKING_DIRECTORY/ios-device-name.txt"
98- echo "Resolved Device Farm iOS device for harness: ${IOS_DEVICE_NAME} (${IOS_DEVICE_UDID:-unknown-udid})"
99-
10054 # Actually run the JS Harness tests. Harness owns the XCTest agent
10155 # lifecycle, but uses AWS's generated .xctestrun instead of building one.
10256 - |
103- set -o pipefail
57+ set -euo pipefail
58+
59+ : "${DEVICEFARM_DEVICE_UDID:?Missing DEVICEFARM_DEVICE_UDID. Device Farm must provide the physical iOS device UDID.}"
10460
10561 cd "$WORKING_DIRECTORY/react-native-vision-camera/apps/simple-camera"
10662
10763 HARNESS_IOS_XCTESTRUN_FILE="$DEVICEFARM_XCUITESTRUN_FILE" \
10864 HARNESS_IOS_XCTEST_DERIVED_DATA_PATH="$DEVICEFARM_DERIVED_DATA_PATH" \
10965 HARNESS_METRO_BIND_HOST="::" \
11066 HARNESS_IOS_METRO_HOST="$(cat "$WORKING_DIRECTORY/metro-host-ip.txt")" \
111- HARNESS_IOS_DEVICE_NAME ="$(cat "$WORKING_DIRECTORY/ios-device-name.txt") " \
67+ HARNESS_IOS_DEVICE_ID ="$DEVICEFARM_DEVICE_UDID " \
11268 HARNESS_DETECT_NATIVE_CRASHES=false \
11369 CI=true \
11470 JEST_JUNIT_OUTPUT_FILE="$HARNESS_JUNIT" \
0 commit comments