[quality] tide's merge-queue skip and enqueue-refusal arms are unit-covered but never driven through dist/index.js
Maintainer thường phản hồi trong vòng 2 ngày
Một pull request liên quan đã được merge.
- #322 của @hivecommons-hive — đã merge
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 20/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- typescript
- Lĩnh vực
- testing-qa
Hướng nghiên cứu
Read __tests__/bundle/bundle.test.ts, src/plugins/tide.ts, and src/utils/mergeQueue.ts to see how bundle tests use fakeGithub and drive the queue paths. Run npm run test:coverage:e2e to check coverage through dist/index.js. Done means the proposed merge-queue arms are exercised and the cited lines show end-to-end hits; a linked pull request is already open.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Finding
src/plugins/tide.ts's merge-queue path (evaluateInQueue, lines 294–348) and src/utils/mergeQueue.ts's refusal classification (classify/errorMessage, lines 164–189, plus the pullRequest: null arm at 94–96) are fully covered by the unit suites (__tests__/plugins/tide.test.ts, __tests__/utils/mergeQueue.test.ts) but only partly reached by the end-to-end bundle suite.
Unit evidence — npx vitest run --coverage on main @ 3fc21f2 (80 files / 1639 tests): src/ 100 % lines / 99.81 % branches; both files 100 % lines.
End-to-end evidence — npm run test:coverage:e2e on main @ 3fc21f2 (Node v26.10.0, vitest 5.0.3, @vitest/coverage-v8; 5 files / 142 tests): src/ 77.9 % lines. tide.ts 81.02 % lines, uncovered in the queue path: 303–304 (pr already in the queue, with/without an entry), 308 (the retryIf re-read predicate), 313 (queue-refused state), 316 (head moved during evaluation), 335/337/339 (head_moved/already_queued/not_ready refusals), 346–347 (unclassified refusal). mergeQueue.ts 84.09 % lines, uncovered: 95–96 (state query without a pull request), 167/170/173/178 (classify), 188 (errorMessage without a GraphQL errors array). bundle.test.ts's existing queue cases drive only the successful enqueue, merge_queue: off, the forbidden refusal, the state-query GraphQL error, and dequeue.
The two runs are reported separately on purpose (see vitest.e2e-coverage.config.mjs): their statement maps come from different transforms and do not line-merge, so this is stated per source, not combined.
Recommendation
Add __tests__/bundle/mergeQueueArms.test.ts driving a pull_request labeled lgtm run on a queue-enabled branch through dist/index.js against fakeGithub for each arm above: in-queue skip (entry and no entry), dirty refusal, an unknown first read whose re-read has a different head, each classified enqueueError message, an HTTP 500 on the mutation, and a state query answering pullRequest: null.
-
__tests__/bundle/mergeQueueArms.test.tslands andtide.tslines 303–347 /mergeQueue.tslines 95–188 show e2e hits undernpm run test:coverage:e2e
Priority
- Impact: medium — covered by unit tests but not end-to-end; this is the path a queue-protected branch takes on every
lgtm - Effort: low
Filed by quality agent (hold-gated mode)
🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 443e72f
— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88
- Ngôn ngữ chính
- TypeScript
- Star
- 132
- Fork
- 24
- Merge trung bình
- 1 ngày 17 giờ
- Pull request đã merge (30 ngày)
- 218
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của cncf/prow-github-actions
-
[quality] owners.ts: 13 behavioural mutants survive the suite, incl. a shared group cache key that gives every team the first team's membersCó thể đã có người làm @hivecommons-hive đã nhận 1 ngày trước. Đang mởagent/quality needs-kind stage/040-covered-by-pr testing
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
cncf/prow-github-actions#574 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
[quality] Unit msw servers reject unhandled requests but no test fails when the code under test swallows the rejection (158 tests run through fallbacks)Có thể đã có người làm @hivecommons-hive đã nhận 2 ngày trước. Đang mởagent/quality needs-kind stage/040-covered-by-pr testing
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
cncf/prow-github-actions#570 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
[quality] bundle fake answers unrouted requests with a plain 404; the harness should assert on unexpected traffic outside application fallbacksCó thể đã có người làm @hivecommons-hive đã nhận 3 ngày trước. Đang mởagent/quality needs-kind stage/040-covered-by-pr testing
Độ khó 3/5 Nửa ngày Mức phù hợp với người mới 48/100
cncf/prow-github-actions#568 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
[quality] sweep.ts delayed-reviewers OWNERS guard (line 80 false arm) is covered by neither the unit nor the bundle suiteCó thể đã có người làm @hivecommons-hive đã nhận 3 ngày trước. Đang mởagent/quality needs-kind stage/040-covered-by-pr testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 25/100
cncf/prow-github-actions#560 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Follow-up: strengthen test contracts, CI enforcement, release delivery, and quality triageCó thể đã có người làm @hivecommons-hive đã nhận 4 ngày trước. Đang mởkind/cleanup quality stage/040-covered-by-pr tests
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 18/100
cncf/prow-github-actions#554 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của cncf/prow-github-actions
Issue tương tự
-
bug require-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
expressjs/expressjs.com#2549 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
umami-software/umami#4686 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
[Bug]: Device screenshot fails with 500 on iPhone Duo (Xcode 27.2): serve-sim calls simctl without --displayCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
pingdotgg/t3code#24900 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
inu-appcenter/UNIDorm-web#411 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
🐛 bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 2 ngày