Skip to content

ci: use the prebuilt WebDriverAgent in the iOS simulator job - #1347

Draft
plum117 wants to merge 1 commit into
webdriverio:mainfrom
plum117:ci/ios-prebuilt-wda
Draft

plum117 wants to merge 1 commit into
webdriverio:mainfrom
plum117:ci/ios-prebuilt-wda

Conversation

@plum117

@plum117 plum117 commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Why

The iOS simulator job is the slowest PR check (median about 26 min with the macOS queue). A large part is the xcodebuild build of WebDriverAgent on the runner.

What

.github/scripts/ios-simulator-e2e.sh:

  • Download the prebuilt WebDriverAgent of the installed XCUITest driver (appium driver run xcuitest download-wda --kind=sim) and give it to the sessions (IOS_PREBUILT_WDA → appium:prebuiltWDAPath and appium:usePreinstalledWDA in tests/configs/wdio.local.ios.sims.web.conf.ts). Appium installs and starts it on the simulator, without a build.
  • The simulator boots while the download runs.
  • When the download fails, the job builds WebDriverAgent as before, with a warning in the job log.

No change for users of the packages (CI only, no changeset).

Merge after #1346

Without #1346, the faster sessions made the old-frame problem of the mobile full page screenshots happen more often: 2 of 7 prebuilt runs on the fork had a baseline with a repeated part. #1346 takes the screenshot again in that case.

CI job times

iOS simulator job (start to end) Runs Job time
Other PRs and main (WebDriverAgent build) 22 22.3 min (median)
This PR 1 15.2 min
This PR with #1346 (fork) 6 about 17 min (13–21)
Gain about 5–7 min per PR (about 25–30 %)

Test

Runs on the fork (plum117), 6 jobs each:

Flow Jobs Duration
Current flow (build of WebDriverAgent) 2 control jobs 21–22 min
Prebuilt WebDriverAgent, without #1346 7 + 5 jobs 12–19 min; 2 baselines with a repeated part, 1 job failed before the tests (xcrun timed out on the runner)
Prebuilt WebDriverAgent, with #1346 6 jobs 13–21 min, 6 passed; one old frame was found and the new screenshot was right

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@changeset-bot

changeset-bot Bot commented Oct 11, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 4a148b5

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant