Skip to content

fix: retry iOS runner prepare launch#692

Merged
thymikee merged 1 commit into
mainfrom
codex/ios-prepare-retry
Jun 5, 2026
Merged

fix: retry iOS runner prepare launch#692
thymikee merged 1 commit into
mainfrom
codex/ios-prepare-retry

Conversation

@thymikee
Copy link
Copy Markdown
Member

@thymikee thymikee commented Jun 5, 2026

Summary

Retry prepare ios-runner health-check failures by invalidating the stuck runner session and launching a fresh one once, without forcing an .xctestrun rebuild.

Keep the bad cached runner artifact recovery path separate and limited to the first prepare attempt: cached artifacts still get marked bad and rebuilt only when the initial restored artifact itself is suspect.

Handle review hardening: the retry loop is split below fallow complexity limits, cancellation is re-checked before relaunch, terminal retry invalidation is best-effort so it does not mask the original health error, and tests cover non-retryable startup failures plus attempt-two no-rebuild behavior.

Document the CI contract in command docs and CLI help: run prepare ios-runner after boot/install and before replay/test, use exact runner cache keys, and avoid broad restore-key fallbacks.

Validation

  • pnpm exec vitest run src/platforms/ios/__tests__/runner-command-retry.test.ts
  • pnpm exec vitest run src/__tests__/cli-help.test.ts
  • pnpm exec vitest run src/platforms/ios/__tests__/runner-command-retry.test.ts src/__tests__/cli-help.test.ts
  • pnpm check:fallow
  • pnpm check:quick
  • pnpm build
  • pnpm pack --pack-destination /tmp
  • Temporarily installed /tmp/agent-device-0.16.13.tgz in React Navigation and ran prepare ios-runner against iPhone 17 Pro successfully

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

Size Report

Metric Base Current Diff
JS raw 1.1 MB 1.1 MB +1.6 kB
JS gzip 370.3 kB 370.7 kB +481 B
npm tarball 476.7 kB 477.2 kB +576 B
npm unpacked 1.6 MB 1.6 MB +1.6 kB

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 27.8 ms 28.8 ms +0.9 ms
CLI --help 43.3 ms 44.5 ms +1.2 ms

Top changed chunks:

Chunk Raw diff Gzip diff
dist/src/2415.js +1.2 kB +332 B
dist/src/args.js +325 B +113 B
dist/src/1352.js +73 B +36 B

@thymikee thymikee force-pushed the codex/ios-prepare-retry branch from b7c24b4 to 326c749 Compare June 5, 2026 15:31
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-06-05 16:05 UTC

@thymikee thymikee force-pushed the codex/ios-prepare-retry branch from 326c749 to bccfda3 Compare June 5, 2026 15:42
@thymikee thymikee force-pushed the codex/ios-prepare-retry branch from bccfda3 to a839a7a Compare June 5, 2026 15:47
@thymikee thymikee marked this pull request as ready for review June 5, 2026 15:53
@thymikee thymikee merged commit 7d7b467 into main Jun 5, 2026
19 checks passed
@thymikee thymikee deleted the codex/ios-prepare-retry branch June 5, 2026 16:05
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