Repository navigation
ci(coil): split the test gate so web tests get their own runner - #167
Merged
Merged
Conversation
…n runner The single verify job ran the web suite alongside mobile and desktop, and MessagesTimeline.test.tsx's beforeAll (an in-file 30s literal that --hookTimeout cannot override) timed out on 3 of 3 runs after the 2026-10-08 sync. Mirror upstream's ci.yml: typecheck+lint, the remaining packages, web, and six server shards each run on their own runner. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The daily sync and the resolver agent verify on one runner with a single `vp run test`, which hits the same MessagesTimeline hook timeout coil-ci did. Run the suite as two invocations, everything but web and then web alone, and give both jobs room for the server suite (~25 min serially). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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
After the 2026-10-08 sync (#164), main's CI failed 3 of 3 times on
MessagesTimeline.test.tsx. ItsbeforeAllpins 30s in the file, so--hookTimeoutcan't raise it. With the web suite sharing one runner with mobile and desktop, that import ran past 30s. The release never fired, and the server suite never ran in CI becausevp run teststops at the first failing package.This mirrors upstream's
ci.ymljob split:The daily sync and the resolver agent verify on one runner. They now run the tests as two invocations, everything except web and then web alone. Their timeouts go up to cover the server suite, which takes about 25 minutes serially: daily 50→60 minutes, resolver 45→90. The runbook commands match.
Evidence
Error: Hook timed out in 30000msinMessagesTimeline.test.tsx, 1 failed / 474 passed. Release run 37843694901 skipped.After: branch run 37844381603 is green in about 6 minutes wall clock. Web 475/475 files. Server 524 files across 6 shards, 4–5 minutes each, which matches the local file count. Other packages all passed.
scripts/coil/sync-upstream.test.tspasses.--filter !@t3tools/monorepo --filter !@t3tools/web test --testTimeout=120000 --hookTimeout=120000.Merge Danger
Door: two-way
Only fork-owned CI files, the sync script and the runbook change. Revert to restore the single job.
Blast Radius: CI
coil-release.ymlkeys on the "coil fork CI" workflow conclusion, not on a job name. A green split run still releases.🤖 Generated with Claude Code