Skip to content

WIP: chore(ci): tune harness timeouts and add diagnostics for iOS flakiness#158

Open
mfazekas wants to merge 1 commit intomainfrom
chore/fix-flaky-harness-ci
Open

WIP: chore(ci): tune harness timeouts and add diagnostics for iOS flakiness#158
mfazekas wants to merge 1 commit intomainfrom
chore/fix-flaky-harness-ci

Conversation

@mfazekas
Copy link
Collaborator

Investigating ~30-40% iOS harness failure rate. The root cause: the harness's bundleStartTimeout (default 15s) is too tight for CI — the app connects in ~13s on success, missing the window on slower runners. Combined with bridgeTimeout: 300s, a single failed Jest run eats the entire 15min step timeout, making the 5-attempt retry loop useless.

Changes:

  • bridgeTimeout 300s→90s, bundleStartTimeout 15s→45s, maxAppRestarts 2→3
  • Terminate simulator app between retries (xcrun simctl terminate)
  • dump_diagnostics before/after each attempt (sim state, app status, ports, memory)
  • Step timeout 15m→25m, expanded failure debug (crash reports, network logs)
  • forwardClientLogs: true for app-side console output

- bridgeTimeout 300s→90s so failed attempts don't eat the entire step timeout
- bundleStartTimeout 15s→45s (default was too tight, app connects in ~13s on success)
- maxAppRestarts 2→3 for more internal retries
- forwardClientLogs: true for visibility into app-side logs
- terminate simulator app in nuke_harness between retries
- dump_diagnostics before/after each attempt (sim state, app running, ports, memory)
- step timeout 15m→25m to allow all 5 external retries
- expanded failure debug step (crash reports, network logs, error-level logs)
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