[quality] blunderbuss never excludes an already-assigned user in the bundle suite (pullRequestOwners.ts:96 has 0 e2e hits)
Los mantenedores suelen responder en 2 días
Ya se ha fusionado un pull request relacionado.
- #403 de @hivecommons-hive — fusionado
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 20/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- typescript
- Área
- testing
Línea de trabajo
The mapping is at src/utils/pullRequestOwners.ts:96 and its consumer is the excluded set in src/plugins/blunderbuss.ts:165. Read the existing unit case in __tests__/plugins/blunderbuss.test.ts and the bundle harness in __tests__/bundle/blunderbussSettings.test.ts before adding an assignees case. Linked pull request #403 is already open against this issue, so check its status before starting. Done means the bundle test passes with one mixed-case assignee excluded, and the both-assigned case logs no reviewer candidates.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Finding
loadPullRequestOwners lowercases a pull request's assignees (src/utils/pullRequestOwners.ts:96) and blunderbuss adds them to its exclusion set so an assignee is never asked to review their own assignment (src/plugins/blunderbuss.ts:165). No bundle test ever gives the fake GitHub a pull request with a non-empty assignees array, so the mapping callback and the exclusion it feeds have 0 hits through dist/index.js.
Evidence (main @ 20d49e7, Node v26.10.0):
- Unit:
npx vitest run --coverage→ 100 % lines;__tests__/plugins/blunderbuss.test.ts:176("skips already requested reviewers and assignees") reaches it with an in-process MSW handler. - End-to-end:
npm run test:coverage:e2eon a scratch branch =origin/main+ the heads of the 12 open hold-gated bundle PRs (#298, #314, #333, #345, #347, #378, #381, #383, #385, #395, #397, #401; 57 files / 414 tests pass) → 98.05 % lines ofsrc/.pullRequestOwners.ts:96has 0 hits (coverage-final.json:fnMapentry at line 96,f= 0). Lines 55-56 (resetPullRequestOwnersCache, test-only export) are the only other residual of that file; the reported line 74 is a source-map remap artifact — the rename ternary at:73records both arms taken bypullRequestOwnersArms.test.ts. - Consumer:
grep -n assignees src/plugins→ onlyblunderbuss.ts:165(excludedset).
Separate reporting: the unit (vite) and e2e (tsc+ncc source-map) coverage maps come from different transforms and are not combined (see vitest.e2e-coverage.config.mjs).
Recommendation
- add an
assigneescase to__tests__/bundle/blunderbussSettings.test.ts(pull_request openedwithexclude_approvers: true, one reviewer assigned under a mixed-case login → only the other is requested; both assigned →blunderbuss: no reviewer candidates for #1and no request)
Priority
- Impact: medium (covered by unit tests but not end-to-end)
- Effort: low
Filed by quality agent (hold-gated mode)
🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 20d49e7
— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88
- Lenguaje dominante
- TypeScript
- Estrellas
- 132
- Forks
- 24
- Merge medio
- 1 d 18 h
- PR fusionados (30 d)
- 191
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de cncf/prow-github-actions
-
[quality] prefixed.ts: /stage and /status exclusive replacement, two-value /remove-lifecycle, mixed-case allowlist values and the first protected offender survive mutationPosiblemente ocupada @hivecommons-hive la tomó hace 1 día. Abiertoagent/quality needs-kind stage/040-covered-by-pr testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
cncf/prow-github-actions#538 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
[quality] approveReview.ts: a PAT that is not the author never has its review submission asserted, and withdrawalReason's five-file bound, lgtm skip, user casing and withdrawer order are unpinnedPosiblemente ocupada @hivecommons-hive la tomó hace 1 día. Abiertoagent/quality needs-kind stage/040-covered-by-pr testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
cncf/prow-github-actions#526 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
[quality] trigger.ts: /test matches workflow names and paths case-insensitively, /ok-to-test honours an existing label in any case, and the non-PR arm of /test and /ok-to-test leaves the run green — none of it is assertedPosiblemente ocupada @hivecommons-hive la tomó hace 2 días. Abiertoagent/quality needs-kind stage/040-covered-by-pr testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
cncf/prow-github-actions#523 · 6 comentarios ·
Los mantenedores suelen responder en 2 días
-
[quality] approve.ts: ten mutation survivors — any-Bot /approve, user-token bot review, require_self_approval break, approver sort, label casing, isBot notifier matchPosiblemente ocupada @hivecommons-hive la tomó hace 2 días. Abiertoagent/quality needs-kind stage/040-covered-by-pr testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
cncf/prow-github-actions#521 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
-
[quality] mutation survivors in src/plugins/requireMatchingLabel.ts: the withGracePeriod default, the graceMs > 0 guard, isBot's || and the no-rule debug text are not pinned by any testPosiblemente ocupada @hivecommons-hive la tomó hace 2 días. Abiertoagent/quality needs-kind stage/040-covered-by-pr testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
cncf/prow-github-actions#519 · 1 comentario ·
Los mantenedores suelen responder en 2 días
Todos los issues de cncf/prow-github-actions
Issues similares
-
frontend
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
ranxianglei/billion-context#4172 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
awslabs/threat-composer#362 ·
Los mantenedores suelen responder en 1 día
-
Area/Cloud Needs Triage Type/Bug
Dificultad 1/5 1-3 horas Aptitud para principiantes 86/100
wso2/product-integrator#2847 ·
Los mantenedores suelen responder en 1 día