Skip to content

fix: respect prepare timeout for runner health checks#967

Merged
thymikee merged 2 commits into
mainfrom
fix/prepare-runner-health-timeout
Jun 30, 2026
Merged

fix: respect prepare timeout for runner health checks#967
thymikee merged 2 commits into
mainfrom
fix/prepare-runner-health-timeout

Conversation

@thymikee

Copy link
Copy Markdown
Member

Summary

Make prepare ios-runner --timeout extend the runner health-readiness window instead of keeping it hard-capped at 90s.

Details

The failing iOS smoke job passed --timeout 420000, but only build/startup used that budget. On slow hosted macOS/Xcode runners, the rebuilt XCTest runner could still be starting when the fixed 90s health probe expired. The health timeout now derives from the explicit prepare timeout, capped at 3 minutes; default behavior remains 90s.

Validation

Focused prepare-handler test passed: pnpm exec vitest run src/daemon/handlers/__tests__/session.test.ts --testNamePattern "prepare ios-runner".

Static and formatting gates passed: pnpm typecheck, pnpm format.

@github-actions

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown

Size Report

Metric Base Current Diff
JS raw 1.4 MB 1.4 MB +358 B
JS gzip 450.1 kB 450.2 kB +124 B
npm tarball 549.0 kB 549.1 kB +134 B
npm unpacked 1.9 MB 1.9 MB +358 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 24.7 ms 24.3 ms -0.4 ms
CLI --help 43.0 ms 42.9 ms -0.1 ms

Top changed chunks:

Chunk Raw diff Gzip diff
dist/src/9722.js +430 B +136 B
dist/src/session.js -72 B -12 B

@thymikee

Copy link
Copy Markdown
Member Author

Reviewed #967 against the prepare ios-runner command path and ADR-0002 helper-session timeout guidance. The CLI/command projection already carries --timeout into the daemon request, the daemon-client uses it as the outer prepare request timeout, and this patch now also derives the Apple runner health-check budget from that explicit prepare timeout while keeping the default 90s behavior and a bounded 180s health cap.

Checks are green, including Typecheck, Unit Tests, Integration Tests, Smoke Tests, Swift Runner Unit Compile, and iOS Runner Swift Compatibility. I do not see an actionable blocker; this is ready for maintainer review.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Jun 30, 2026
@thymikee thymikee merged commit 60d1bd1 into main Jun 30, 2026
21 checks passed
@thymikee thymikee deleted the fix/prepare-runner-health-timeout branch June 30, 2026 16:27
@github-actions

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-06-30 16:28 UTC

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

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant