[quality] the bundle e2e suite's coverage of src/ is never captured — runBundle.ts drops NODE_V8_COVERAGE and dist/ has no source map
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 62/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- node.js, typescript
調査の方向性
Start with tests/bundle/runBundle.ts and tests/bundle/bundle.test.ts, then inspect the package.json pack script and vitest.config.mjs coverage settings. Run the coverage command described in the issue to establish the current unit-only result. Done means the child coverage environment and source-map behavior are verified, with hits remapped to src/**/*.ts, or the unit-only limitation is documented if that is the chosen approach.
索引モデルが issue の本文から書いたものです。
説明
Finding
__tests__/bundle/bundle.test.ts is the repository's end-to-end suite: it starts a fake GitHub API (fakeGithub.ts) and runs the committed dist/index.js against it in a child process. It is the only place the shipped bundle is exercised, yet none of its coverage reaches the coverage report:
__tests__/bundle/runBundle.tsbuilds the child's environment from scratch (PATH,HOME,RUNNER_TEMP,GITHUB_*, inputs).NODE_V8_COVERAGE, which@vitest/coverage-v8sets on the worker, is not propagated, so the child writes no coverage.- Even if it were propagated,
npm run pack(ncc build) emits no source map, so V8 hits ondist/index.jscould not be mapped back tosrc/**/*.ts.
Consequence: npx vitest run --coverage on main @ c48bd6d reports 99.83% lines / 98.35% branches, but that is unit-only evidence. Whether a path is exercised end-to-end is unknowable from the report, and unit and e2e coverage cannot be combined at line granularity. Every coverage-gap finding on this repository must therefore be stated as unit-only, and the e2e suite's regressions in coverage are invisible.
Recommendation
-
runBundle.ts: forwardNODE_V8_COVERAGE(andVITEST*-independent) into the child env when set, so the child emits V8 coverage into the same directory vitest collects -
package.jsonpack: build withncc build --source-map(or-s) so v8 coverage ondist/index.jsmaps tosrc/; decide whether the map is committed alongsidedist/index.jsor built only for the coverage run -
vitest.config.mjscoverage.includecontinues to besrc/**/*.ts; confirmdist/index.jshits are remapped rather than reported as an untracked file
If the maintainers prefer not to change the pack step, the alternative is to record in vitest.config.mjs / docs/ that the coverage figure is unit-only and that __tests__/bundle is excluded, so readers do not mistake 99.8% for end-to-end coverage.
Priority
- Impact: medium — the only e2e suite has no measurable coverage; unit and e2e evidence cannot be merged
- Effort: medium
Filed by quality agent (hold-gated mode)
🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 924fa8d
— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88
- 主要言語
- TypeScript
- スター
- 132
- フォーク
- 24
- 平均マージ
- 1日 16時間
- マージ済み PR(30日)
- 209
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
cncf/prow-github-actions のほかの issue
-
[quality] Unit suite's call-through @actions/core emits workflow commands: green build-test runs carry 10 failure + 10 warning fixture annotations対応中かも @hivecommons-hive が今日担当しました。 オープンagent/quality needs-kind stage/040-covered-by-pr testing
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
cncf/prow-github-actions#604 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
[quality] src/server (GitHub App server) is never executed: entry point at 0 % lines, default background arm unpinned, dist-server bundle never built-and-run by any test対応中かも @hivecommons-hive が今日担当しました。 オープンagent/quality needs-kind stage/040-covered-by-pr testing
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
cncf/prow-github-actions#610 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
[quality] CI's Node version follows the open engines range >=24, not the node24 runtime action.yml declares対応中かも @hivecommons-hive が 1 日前に担当しました。 オープンagent/quality needs-kind stage/040-covered-by-pr testing
難易度 2/5 1〜3時間 初心者へのやさしさ 28/100
cncf/prow-github-actions#602 · コメント 2 件 ·
メンテナーはふだん 2 日以内に返信
-
[quality] Nothing verifies the unit test each v8-ignore hint in src/ says drives its arm; add a static guard over the 25 hints対応中かも @hivecommons-hive が 1 日前に担当しました。 オープンagent/quality needs-kind stage/040-covered-by-pr testing
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
cncf/prow-github-actions#600 · コメント 2 件 ·
メンテナーはふだん 2 日以内に返信
-
agent/quality needs-kind stage/045-needs-decision testing
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
cncf/prow-github-actions#594 · コメント 3 件 ·
メンテナーはふだん 2 日以内に返信
cncf/prow-github-actions の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
gnosis/gnosis_vpn#661 ·
メンテナーはふだん 1 日以内に返信
-
content-freshness: staleOwnedContent doc comments still say 'complete receipt' (follow-up to #7912)オープンtriage:bug-verified
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
メンテナーはふだん 1 日以内に返信
-
fix: reject sourceStorage/packagedStorage bucket that differs from the stack default (fail loud)オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
Eyevinn/open-videocore#1300 ·
メンテナーはふだん 1 日以内に返信
-
nextjs-tracking
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
cloudflare/vinext#4390 ·
メンテナーはふだん 1 日以内に返信
-
kind/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
kubernetes-sigs/headlamp#8175 ·
メンテナーはふだん 2 日以内に返信