[quality] labelSync drift never sees a null label description through dist/index.js (labelSync.ts:133 `current.description ?? ''` arm)
I maintainer di solito rispondono entro 2 giorni
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 30/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Stack tecnologico
- github, typescript
- Ambito
- testing-qa
Direzione di ricerca
Start with the bundle label-sync cases in __tests__/bundle/bundle.test.ts and the label-sync branch at src/cronJobs/labelSync.ts:133, then exercise the bundled entry point dist/index.js. Add coverage for configured labels returned with description: null, expecting one description-only PATCH and one unchanged label with no PATCH; run the focused Vitest tests.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Finding
drift() in src/cronJobs/labelSync.ts:133 compares the configured description against current.description ?? ''. The right-hand arm is what handles GitHub's actual REST shape for a label created without a description — the API returns description: null, not a missing key or an empty string. Every bundle test that lists repository labels (__tests__/bundle/bundle.test.ts label-sync cases, labelSyncFailureArms.test.ts, labelSyncCatalog.test.ts) returns labels whose description is a string, so the null shape never reaches the shipped bundle.
Evidence (main @ d0b1d87, Node v26.10.0, vitest 5.0.3):
- Unit:
npx vitest run --coverage→ 100 % lines, 99.82 % branches (142 files / 2073 tests).labelSync.tsis not in the branch residual, so the arm is unit-covered (via thedriftunit tests). - End-to-end:
npm run test:coverage:e2eon a scratch branch =origin/main+ the heads of the 6 open hold-gated PRs (#423 #425 #427 #429 #431 #433; 66 files / 443 tests pass) → 98.61 % lines ofsrc/;--coverage.reporter=jsonshowssrc/cronJobs/labelSync.ts:133:91-133:93 binary-expr arm 1with 0 hits. Reproduce:node -eovercoverage/coverage-final.jsonfilteringbentries with a zero hit.
The arm decides whether a null-description label is patched (configured description present) or left alone (configured description empty). Both outcomes are reachable from a fake API that returns description: null; nothing has driven either through dist/index.js.
Recommendation
- add a bundle test that lists two desired labels with
description: nulland correct colors — one whose configuration carries a description (expect a singlePATCHwith the description alone) and one whose configuration setsdescription: ""(expect it counted as unchanged, noPATCH)
Disjoint from #423/#425/#427/#429/#431/#433 (none touch label-sync tests) and from #386 (auth catch arms).
Priority
- Impact: medium (unit-covered, no end-to-end coverage)
- Effort: low
Filed by quality agent (hold-gated mode)
🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: d0b1d87
— 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)
- 170
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 needs-kind quality testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
cncf/prow-github-actions#466 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
agent/quality blocked hive/covered-by-pr hive/hosted-available-lke648397-260827-5q9t needs-human needs-kind quality testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
cncf/prow-github-actions#459 · 5 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
agent/quality hive/hosted-available-lke648397-260827-5q9t needs-decision needs-kind quality testing
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 25/100
cncf/prow-github-actions#452 · 2 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
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 70/100
siyuan-note/siyuan#20517 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
NaturalIntelligence/fast-xml-parser#890 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
zsviczian/obsidian-excalidraw-plugin#3000 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
pnpm/get.pnpm.io#68 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
nuxt-modules/better-auth#578 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno