Context
On the macos-26 runner (iOS 26 / Xcode 26 / iPhone 17), appium:usePreinstalledWDA + prebuiltWDAPath deterministically fails: the preinstalled WebDriverAgent launches but its :8100 server never comes up, so session-create times out (120 s) on all iOS legs — even with the correct WDA 15.1.3, on the original run and a retry. Same class as appium/WebDriverAgent#1147 (real-device variant).
Workaround (shipped in the fix PR)
Disabled usePreinstalledWDA for iOS — appium-xcuitest builds WDA in-session instead. Verified green (6 passed, 6 total, real sessions). Dropped the now-unused WDA pre-build + DerivedData cache steps.
- Net wall-time is ~equal: the in-session build lands inside the ~14-min E2E instead of a separate ~5-min pre-build.
- The prebuilt path was originally added to dodge the in-session-build socket-drop (
UND_ERR_SOCKET); the in-session fallback absorbs it via the longer wdaLaunchTimeout / connectionRetryTimeout the config already sets when the WDA dir is unset.
TODO — re-enable when upstream lands
Re-introduce the pre-build + usePreinstalledWDA once the preinstalled-WDA path works on iOS 26 upstream (appium-webdriveragent / appium-xcuitest-driver). It's a speed optimisation, not a correctness need — no rush.
Supersedes
Closes out #545 (WDA version-select fix): with usePreinstalledWDA off, the prebuilt WDA isn't used, so selecting the matching copy is moot. The version-select bug was real but only affects the prebuilt path we're removing.
Context
On the
macos-26runner (iOS 26 / Xcode 26 / iPhone 17),appium:usePreinstalledWDA+prebuiltWDAPathdeterministically fails: the preinstalled WebDriverAgent launches but its:8100server never comes up, so session-create times out (120 s) on all iOS legs — even with the correct WDA 15.1.3, on the original run and a retry. Same class as appium/WebDriverAgent#1147 (real-device variant).Workaround (shipped in the fix PR)
Disabled
usePreinstalledWDAfor iOS — appium-xcuitest builds WDA in-session instead. Verified green (6 passed, 6 total, real sessions). Dropped the now-unused WDA pre-build + DerivedData cache steps.UND_ERR_SOCKET); the in-session fallback absorbs it via the longerwdaLaunchTimeout/connectionRetryTimeoutthe config already sets when the WDA dir is unset.TODO — re-enable when upstream lands
Re-introduce the pre-build +
usePreinstalledWDAonce the preinstalled-WDA path works on iOS 26 upstream (appium-webdriveragent / appium-xcuitest-driver). It's a speed optimisation, not a correctness need — no rush.Supersedes
Closes out #545 (WDA version-select fix): with
usePreinstalledWDAoff, the prebuilt WDA isn't used, so selecting the matching copy is moot. The version-select bug was real but only affects the prebuilt path we're removing.