ci(ios): give the pan-duration replay a budget that absorbs a runner rebuild - #2250
Merged
Conversation
…rebuild All 5 recent failures of the gesture pan-duration smoke replay step were the replay's open --relaunch running a full xcodebuild build-for-testing after a spurious runner cache_metadata_mismatch (48-61s build + ~40s launch), which consumed the 60s per-replay budget before --retries 2 could fire. Pass --timeout 180000 to the test command, which overrides the script's context timeout=60000 per attempt without touching the shared .ad file.
Size Report
npm unpacked components
Startup median (7 runs, lower is better):
Top changed chunks: no changes in the largest emitted chunks. Top changed packed filesNo changed packed files. |
Member
Author
|
READY at |
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ios.yml's "Run gesture pan-duration smoke replay" step now passes--timeout 180000to thetestcommand, raising the per-attempt wall-clock budget from the script's owncontext timeout=60000(examples/test-app/replays/gesture-pan-duration.ad) to 180 s. The CLI--timeoutflag (timeoutMs,src/commands/cli-grammar/flag-definitions-workflow.ts:68-73)resolves ahead of the script's
attemptDefaults.timeoutMsinresolveReplayTestTimeout(
packages/replay-test/src/internal/session-test-discovery.ts:122-126), so the flag fullyoverrides the
.adfile's context timeout for this workflow invocation without touching theshared script (also used by
replays-manual.yml).All 5 recent failures of this step (runs 33424104858, 33426167796, 33532770285, 33550746429,
33607775894) were the replay's
open --relaunchrunning a fullxcodebuild build-for-testingafter a spurious runner
cache_metadata_mismatch(48-61 s build + ~40 s launch), consuming the60 s budget before
--retries 2could fire — the abandoned build made the timeout aninfrastructure failure with only 1 attempt in every junit. Green runs finish in 21-34 s; a
flaky-green control (run 33645155931) finished its rebuild at 48.5 s and passed only on retry. The
180 s budget absorbs a worst-case rebuild-plus-launch with headroom.
Validation
Workflow-only YAML change; no code path to plant a violation against. Confirmed from source
(cited above) that
--timeoutexists and overrides the script'scontext timeout=per attempt.Ran
pnpm check:gate-manifest(workflow YAML audit): "gate manifest: ok — 51 checks wired across27 lanes, manual-only: replay-android, replay-ios, replay-ios-device." Ran
pnpm check:quick(oxlint + typecheck) clean. Diagnosis evidence: CI runs 33424104858, 33426167796, 33532770285,
33550746429, 33607775894 (failures) and 33645155931 (flaky-green control).
Full affected gate: green at 259cc62 (pnpm check:affected --run; 34 local checks incl. unit, mutation-model).