docs(ci): correct the ios hang wording and note the device lock

This commit is contained in:
pj committed 2026-08-13 21:05:38 +05:30
1 parent 0c249ec261
commit 9f75ee433d
2 files changed
+12 -3

No files matched your search

+3 -1
View File
@@ -31,7 +31,9 @@ case "$platform" in
# freshly installed app IS clear state). The in-run reinstall path is worth # freshly installed app IS clear state). The in-run reinstall path is worth
# avoiding here: `simctl uninstall` + `install` immediately followed by the # avoiding here: `simctl uninstall` + `install` immediately followed by the
# XCTest runner's own launch hits "app.folio is unknown to FrontBoard" # XCTest runner's own launch hits "app.folio is unknown to FrontBoard"
# perhaps half the time, and the run then hangs rather than failing. # perhaps half the time. The launch RPC is bounded now, so that surfaces
# as an error rather than an indefinite hang, but a failed leg is still a
# failed leg and a fresh install is already clear state.
folio_args+=(--platform ios folio_args+=(--platform ios
--clear-data=false --clear-data=false
--ios-device "${IOS_DEVICE:-iPhone 16 Pro}") --ios-device "${IOS_DEVICE:-iPhone 16 Pro}")
+9 -2
View File
@@ -61,8 +61,15 @@ The ios leg passes `--clear-data=false`, because the job installs a fresh build
immediately before the run and a freshly installed app is already clear state. immediately before the run and a freshly installed app is already clear state.
The in-run reinstall is worth avoiding: `simctl uninstall` + `install` followed The in-run reinstall is worth avoiding: `simctl uninstall` + `install` followed
straight away by the XCTest runner's own launch fails with `app.folio is unknown straight away by the XCTest runner's own launch fails with `app.folio is unknown
to FrontBoard` maybe half the time, and the run then hangs rather than failing. to FrontBoard` maybe half the time. That used to hang the run outright; the
The job timeouts are the backstop if it happens anyway. launch RPC is bounded now, so it fails in about 90 seconds with a real error
instead, but a failing leg is still a failing leg. The job timeouts are the
backstop if it happens anyway.
Only one sanderling run may drive a given simulator at a time. The driver takes
an advisory lock on the target's UDID and a second run is refused with the lock
path in the message, because two runs interleaving app lifecycle leave the first
run's automation session bound to a bundle the simulator no longer knows.
## replay-ui ## replay-ui