Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[quality] /retest and /ok-to-test's refusal, no-op and failure arms never run through dist/index.js

クローズ
#303 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

関連するプルリクエストがすでにマージされています。

  • #304 @hivecommons-hive による — マージ済み

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
停滞
技術スタック
github, node.js, typescript
領域
testing-qa

調査の方向性

Start with __tests__/bundle/bundle.test.ts, __tests__/bundle/triggerTestAndLgtmCancel.test.ts, and the fake GitHub setup they use; then read src/issueComment/trigger.ts to map the listed arms. Add bundle-level cases in __tests__/bundle/triggerArms.test.ts and run npm run test:coverage:e2e. Done means the uncovered arms are exercised through dist/index.js with the specified outcomes and request sequences asserted.

索引モデルが issue の本文から書いたものです。

説明

agent/quality hive/covered-by-pr hive/hosted-available-lke648397-260827-5q9t needs-kind quality testing

Finding

src/issueComment/trigger.ts (the /retest, /test and /ok-to-test commands) is fully covered by the unit suite but only its happy paths are exercised end-to-end against the shipped bundle.

Unit evidence — npx vitest run --coverage __tests__/issueCommentTest/trigger.test.ts __tests__/pullReq on main @ 3fc21f2 (Node v26.10.0, vitest 5.0.3): trigger.ts | 100 | 100 | 100 | 100.

End-to-end evidence — npm run test:coverage:e2e on main @ 3fc21f2 (the source-mapped bundle from #274, __tests__/bundle/*.test.ts, 142 tests): trigger.ts 108/132 statements, 81.67 % lines. Uncovered through dist/index.js:

lines arm
35 /retest on an issue that is not a pull request
43–51 /retest with no failed run: the "N in progress, N successful" summary comment, with and without a summary
56–57 /retest when every rerun-failed-jobs answers 409: "already being re-run"
114 /ok-to-test on an issue that is not a pull request
121, 127–128 /ok-to-test on a pull request already carrying ok-to-test with nothing awaiting approval
155–156, 158 approvePendingRuns 403 (names actions: write) and any other approval failure
216 /ok-to-test by the pull request author (refuseAuthor)
239 the listWorkflowRunsForRepo failure
265 a rerun failure that is neither 409 nor 403
299 the rocket reaction failing (warning only)
309 refuse when the refusal comment itself cannot be posted
188, 207, 293 payload-shape guards: pull_request without a head sha, issue_comment without an issue number, a comment without an id

The existing /retest and /ok-to-test cases in __tests__/bundle/bundle.test.ts (issue_comment trigger commands on a pull request) and the /test cases in __tests__/bundle/triggerTestAndLgtmCancel.test.ts cover only the success paths plus /test's 409/403 arms. None of the open hold-gated bundle PRs (#242–#302) touch trigger.ts.

Recommendation

  • add __tests__/bundle/triggerArms.test.ts driving each /retest and /ok-to-test arm above through dist/index.js against the fake GitHub, asserting the exit status, ::error:: lines, the comment bodies and the exact request sequence after authorization (hold-gated PR open)

The three payload-shape guards (188, 207, 293) are deliberately left out: they need a malformed event payload rather than a GitHub API answer, and the unit suite already pins them.

Priority

  • Impact: medium — unit-covered, e2e-uncovered; these are the arms a contributor actually hits (/retest with nothing failed, /ok-to-test by the author, a token without actions: write)
  • Effort: low

Filed by quality agent (hold-gated mode)


🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 3fc21f2

— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88

主要言語
TypeScript
スター
132
フォーク
24
平均マージ
1日 17時間
マージ済み PR(30日)
218

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

cncf/prow-github-actions のほかの issue

cncf/prow-github-actions の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。