ci: Coverage job fails on a random package's test:coverage task and hides the failing test
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- github-actions, typescript
調査の方向性
Start with .github/workflows/pr.yml lines 76 and 105 and inspect the Coverage job output settings. Reproduce coverage failures under CPU load in ai-harness and ai-react, using the listed vitest and Nx commands; use the failing test output to identify timing dependent tests. Done when failed task output identifies the test and the intermittent failures are fixed, with parallelism capped only if failures persist.
索引モデルが issue の本文から書いたものです。
説明
TanStack AI version
main (8731d75)
Framework/Library version
CI only (.github/workflows/pr.yml, Coverage job)
Describe the bug and the steps to reproduce it
The PR Coverage job fails at random on PRs that change @tanstack/ai. No coverage metric drops. One package's test:coverage task fails, and it is a different package each time. A re-run passes.
Seen so far:
| Run | PR | Failed task |
|---|---|---|
| 40271697755 | #1894 | @tanstack/ai-harness:test:coverage (passed on re-run) |
| 40270604983 | #1887 | @tanstack/ai-harness:test:coverage |
| 40277024581 | #1894 | @tanstack/ai-react:test:coverage |
The same tests pass locally:
packages/ai-harness:vitest run, 2469 passed.packages/ai-react:vitest runandnx run @tanstack/ai-react:test:coverage --skip-nx-cache, 251 passed.
Likely cause: a change to @tanstack/ai makes the job measure about 76 packages, twice (PR head and merge-base). nx run-many runs them in parallel on one runner. Tests that depend on timing then time out under the load.
Second problem: the job log does not show the output of the failed task. pr.yml:76 and pr.yml:105 run nx run-many --outputStyle=static, and the log only has the Nx summary line ✖ @tanstack/ai-harness:test:coverage. So nobody can name the flaky test from CI.
Fix
- Make the Coverage job print the full output of a failed task, so the failing test name and error are in the job log.
- Find the timing-sensitive tests in
ai-harnessandai-react. To do this, run their coverage under CPU load locally, or use the log from step 1. Then fix them: remove real-time waits, use fake timers, or wait for events instead of a fixed time. - If step 2 does not remove all failures, cap the parallel tasks for the coverage step (
--parallel=N). Do not add retries that hide failures.
Your Minimal, Reproducible Example - (Sandbox Highly Recommended)
CI runs listed above. No local reproduction yet.
Do you intend to try to help solve this bug with your own PR?
Yes, I am also opening a PR to fix this issue.
- 主要言語
- TypeScript
- スター
- 3.2k
- フォーク
- 372
- 平均マージ
- 1日 14時間
- マージ済み PR(30日)
- 241
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
TanStack/ai のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 57/100
メンテナーはふだん 1 日以内に返信
-
Durable resume through withPersistence never fills ctx.inputResponse for mcp_input interrupts対応中かも @tombeckenham が 4 日前に担当しました。 オープンwaiting-on: maintainer
メンテナーはふだん 1 日以内に返信
-
ai, ai-persistence: a nested subagent that waits runs again from the start under withPersistence対応中かも @tombeckenham が 5 日前に担当しました。 オープンwaiting-on: maintainer
メンテナーはふだん 1 日以内に返信
似ている issue
-
verified
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
メンテナーはふだん 5 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
anomalyco/opencode#59589 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Bug: During run init command, finish the git initialize process without question to user('Initialize a new git repository?')対応中かも @nishu-murmu が今日担当しました。 オープンpending-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
knaw-huc/textannoviz#739 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信