[quality] getArgumentLabels and anyLabelMatches have no production caller — only their unit tests keep them covered
I maintainer di solito rispondono entro 2 giorni
Una pull request collegata è già stata integrata.
- #421 di @mrbobbytables — integrata
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 55/100
- Tipo di issue
- Refactoring
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- github-actions, node.js, typescript
Direzione di ricerca
Read src/utils/labeling.ts and src/utils/labelMatch.ts, then check their corresponding tests in __tests__/utils/labeling.test.ts and __tests__/utils/labelMatch.test.ts. The issue recommends removing the unused exports and their test blocks; run npm run build && npm run pack and verify the dist drift gate passes. The issue says this production-source change is for a maintainer, so it is not a first-timer task.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Finding
Two exported helpers in src/utils/ have no production caller. The only code that invokes them is their own unit test, so they count toward the 100 % unit line coverage on main @ 3fc21f2 while nothing the action ships ever runs them:
| export | defined | last production caller | only remaining caller |
|---|---|---|---|
getArgumentLabels(octokit, context, arg) |
src/utils/labeling.ts:47-60 |
src/labels/prefixed.ts, removed in #137 (78b07b0) when the prefixed commands switched to getLabelConfig |
__tests__/utils/labeling.test.ts |
anyLabelMatches(patterns, labels) |
src/utils/labelMatch.ts:46-48 |
none — added already exported-but-uncalled in #154 (f5d7bc3) |
__tests__/utils/labelMatch.test.ts |
Evidence:
grep -rn "getArgumentLabels\|anyLabelMatches" src/→ only the two definitions.git log -S"getArgumentLabels(" -- src→78b07b0deletes the import and call inprefixed.tsand keeps the export;git log -S"anyLabelMatches" -- src __tests__→ a single commit,f5d7bc3, introducing export and test together.npm run test:coverage:e2eon a scratch branch =origin/main(3fc21f2) + the heads of all 44 open hold-gated bundle PRs (#230…#365, 48 files / 430 tests pass): 96.4 % statements; both functions have 0 hits (labeling.ts52–59,labelMatch.ts47 remain uncovered). Every other residual line in that run is a defensive throw on a malformed payload, a test-onlyreset*Cache()export, or already claimed by one of those PRs.- Both still ship:
grep -n "getArgumentLabels\|anyLabelMatches" dist/index.js→dist/index.js:41388,dist/index.js:43239(nccdoes not tree-shake them).
Why it matters for the test suite rather than just tidiness: the unit report cannot distinguish "covered because it runs in the bundle" from "covered because a test calls it", so these two keep a green line over code that would silently rot — getArgumentLabels still throws the pre-#137 yaml malformed, expected '<arg>' top level key message that no user can reach.
Recommendation
One PR, one deliverable (deleting both exports and their test blocks is a single mechanical change; npm run pack to drop them from dist/):
- remove
getArgumentLabelsfromsrc/utils/labeling.tsand itsdescribeblock in__tests__/utils/labeling.test.ts - remove
anyLabelMatchesfromsrc/utils/labelMatch.tsand its tests in__tests__/utils/labelMatch.test.ts(or wire it intomatchesAnyLabel-style call sites if a consumer was intended in #154) -
npm run build && npm run packso the dist/ drift gate passes
This touches production source, so it is not a PR this lane opens; it is filed for a maintainer. Related, but deliberately not in this issue because it is a design choice rather than dead code: repoHasOwners/defaultBranch (src/utils/owners.ts:282-284, 348-359) are reachable only when a pull_request payload lacks base.ref (approve.ts:504, tide.ts:543), so they too have 0 e2e hits.
Priority
- Impact: low
- Effort: low
🐝 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
- Lingua principale
- TypeScript
- Stelle
- 132
- Fork
- 23
- Merge medio
- 1g 18h
- PR unite (30g)
- 183
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di cncf/prow-github-actions
-
agent/quality hive/hosted-available-lke648397-260827-5q9t hive/verified-open needs-kind quality testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
cncf/prow-github-actions#466 · 30 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
🐝 Hive Advisory ReportApertakind/cleanup
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
cncf/prow-github-actions#170 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di cncf/prow-github-actions
Issue simili
-
bnv-manager-v2: accept_invite creates the Mailcow domain admin before the commitForse già presa @myOmikron l’ha presa oggi. Apertabug ready-for-agent
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Windows: mio 1.2.3 named-pipe use-after-free panics the native IPC broker and hangs every toolApertaplatform:windows tool triaged wontfix
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
nicolettas-muggelbude/RechnungsFee#448 ·
I maintainer di solito rispondono entro 1 giorno
-
Android bug feature/error-tracking react-native team/error-tracking
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
PostHog/posthog-js#5310 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno