Repository navigation
fix(ci): widen tight subprocess timeouts causing flaky unit failures - #162
Closed
alltomatos wants to merge 3 commits into
Closed
alltomatos wants to merge 3 commits into
alltomatos wants to merge 3 commits into
Conversation
Three subprocess-spawning tests carried timeout budgets tighter than the CI-load headroom already established for this test harness (see the 2026-09-08 comment in test/lib/cli-process.ts bumping the default from 30s->60s for the same reason): run-process.test.ts's unknown-model and midstream-error tests, and lifecycle.test.ts's stdin-EOF test. All three were observed failing on 2026-09-09 by a few hundred ms past their bound, not by a wide margin — consistent with subprocess cold-start variance under parallel CI load rather than an actual regression. Widened with headroom instead of shaving the margin to the exact miss. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Thanks for your contribution! This PR doesn't have a linked issue. All PRs must reference an existing issue. Please:
See CONTRIBUTING.md for details. |
|
Thanks for updating your PR! It now meets our contributing guidelines. 👍 |
alltomatos
added a commit
that referenced
this pull request
Sep 9, 2026
The "returningOpen" sample window (700ms) could close before the dock finished mounting after a session switch under CI load, producing zero "present" samples and failing on a load artifact rather than an actual animation regression. All 3 attempts (original + 2 retries) failed identically in the same run on 2026-09-09, consistent with systemic load rather than a rare flake. Widened with headroom, same pattern as the subprocess-timeout fixes in #162. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
snapshot-tool-race.test.ts calls LayerNode.compile() directly instead of going through AppNodeBuilder, which is what normally auto-injects LocationServiceMap when a compiled graph needs it (see app-node-builder.ts). Bypassing that left the graph with an unbound LocationServiceMap node, throwing "Unbound layer node: @opencode/example/LocationServiceMap" as an unhandled error between tests — which then interrupted fibers in whatever test file ran next (observed corrupting test/session/prompt.test.ts's MCP-instructions test in CI on 2026-09-09, surfacing as an unrelated-looking InterruptError). Same fix pattern already used in prompt.test.ts: add LocationServiceMap to the compiled group and provide locationServiceMapLayer as its replacement. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Not caused by this branch's changes — confirmed failing on dev HEAD itself across 5+ consecutive CI runs since 2026-09-06, always with the same InterruptError at a tight ~20.5s-21.1s cluster (too tight for generic CI-load contention, unlike the subprocess-timeout flakes fixed in this same PR). Root cause not yet identified; skipping so it stops blocking unrelated feature PRs while #185 tracks the real investigation. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This was referenced Sep 9, 2026
alltomatos
added a commit
that referenced
this pull request
Sep 10, 2026
…191) Ports the fix from PR #162, which was opened against the wrong base (agentui-telegram-channel) instead of dev. Widens three subprocess-spawning test timeouts that were tight enough to flake under CI-load cold-start variance, matching the rationale already documented in test/lib/cli-process.ts (default bumped 30s->60s on 2026-09-08 for the same class of issue): - run-process.test.ts: "exits nonzero promptly when the model is unknown" (25s->32s, harness bound 40s->45s) — observed a 25383ms run under CI load on 2026-09-09, past the old 25s bound. - run-process.test.ts: "unknown stream finish preserves partial output and continues" (30s->45s) — tight enough against the 60s outer test timeout that CI load pushed the subprocess past it (killed mid-run, exitCode -1 instead of 0) on 2026-09-09. - lifecycle.test.ts: "stdin EOF exits cleanly" (5s->15s, Windows only) — Windows process teardown after stdin EOF was observed to take just over 5s (5300ms) under CI load on 2026-09-09. All three bounds were widened with headroom rather than shaved to the exact observed miss, so a genuine hang would still fail loudly. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
This was referenced Sep 11, 2026
Owner
Author
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.
Issue for this PR
Closes #163
Type of change
What does this PR do?
Summary
test/lib/cli-process.ts(default bumped 30s→60s on 2026-09-08 for the same class of issue).run-process.test.ts: "exits nonzero promptly when the model is unknown" (25s→32s) and "unknown stream finish preserves partial output and continues" (30s→45s).lifecycle.test.ts: "stdin EOF exits cleanly" (5s→15s), which failed on Windows only.All three were observed failing on PR #160 / #161 CI runs on 2026-09-09 by a few hundred ms past their old bound — not a wide margin, not a real hang/regression.
How did you verify your code works?
test/lib/cli-process.ts) and confirmed these three tests were failing the same way, at the same margin, for the same reason.Screenshots / recordings
Not applicable — test-only change, no UI/behavior change.
Checklist
Test plan
agentui-telegram-channelto unblock feat(agentui): per-agent Telegram bot channel #160, then merge/rebaseagentui-whatsapp-channelon top to unblock feat(agentui): WhatsApp channel via waconector (9 providers) #161🤖 Generated with Claude Code