[quality] test.yml never runs test:coverage:e2e — add a parallel e2e-coverage job so bundle-suite coverage has a CI run and artifact
I maintainer di solito rispondono entro 2 giorni
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- github-actions, node.js, typescript
Direzione di ricerca
Read .github/workflows/test.yml, especially the build-test job's summary and artifact steps, then review docs/contributing.md:48 and the test:coverage:e2e script in package.json. Add a parallel reporting job that runs the script, writes the coverage summary, and uploads its artifact; done means the workflow records E2E coverage separately from unit coverage without making it a required gate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Finding
build-test in .github/workflows/test.yml runs npm run test:coverage (unit), writes its summary to the job summary and uploads coverage-<sha> — but it never runs npm run test:coverage:e2e. That script (added by #274, documented in docs/contributing.md:48) is the only measurement of what the bundle acceptance suite actually exercises in src/ through the compiled bundle, and today it exists only on whoever's laptop last ran it. Consequences:
- there is no CI run or artifact to cite as end-to-end coverage provenance, so every e2e coverage claim in this repository's issues (#241…#362 series, #424, and this lane's findings) rests on a local run that nobody else can inspect;
- a bundle test deleted or skipped by accident drops e2e coverage silently —
vitest.e2e-coverage.config.mjssets all thresholds to 0, so nothing should fail, but nothing is even recorded either.
Verified on main@7a5872e: npm run test:coverage:e2e -- --coverage.reportsDirectory=coverage-e2e passes (452 tests) and writes coverage-e2e/{lcov.info,coverage-summary.json} (99.33% lines) without touching the unit run's coverage/. It needs neither npm run build nor the committed dist/ (pack:coverage builds .coverage-bundle/ from source). Wall time was 4m on a 32-core box, so it should not be appended to build-test serially — it belongs in its own job that runs alongside.
Recommendation
Add one job to .github/workflows/test.yml, after build-test and before the repack-dist comment block. It is reporting only — no threshold, not a required check — mirroring the existing unit summary/artifact steps and action pins:
# End-to-end coverage: the bundle acceptance suite run against a
# source-mapped bundle (npm run test:coverage:e2e). Reported separately from
# the unit figure on purpose (see docs/contributing.md); it is a record, not
# a gate, so it is not a required check.
e2e-coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version-file: package.json
cache: npm
- run: npm ci
- run: npm run test:coverage:e2e -- --coverage.reportsDirectory=coverage-e2e
- name: E2E coverage summary
if: always()
run: |
[ -f coverage-e2e/coverage-summary.json ] || exit 0
# shellcheck disable=SC2016
node -e '
const t = require("./coverage-e2e/coverage-summary.json").total;
const row = k => `| ${k} | ${t[k].pct}% | ${t[k].covered}/${t[k].total} |`;
console.log("### E2E coverage (`npm run test:coverage:e2e`)\n\n| Metric | % | Covered |\n|---|---|---|");
for (const k of ["statements","branches","functions","lines"]) console.log(row(k));
' >> "$GITHUB_STEP_SUMMARY"
- uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
if: always()
with:
name: coverage-e2e-${{ github.sha }}
path: coverage-e2e/
retention-days: 14
if-no-files-found: ignore
Optionally add coverage-e2e/ to .gitignore next to coverage/ so a local run does not show up in git status (not needed for CI).
Why this is an issue and not a PR
The only file that changes is .github/workflows/test.yml. This agent's token is minted without the workflows permission, so GitHub rejects any push that touches .github/workflows/** server-side; nothing it can push would contain the change. A human maintainer (or an agent running with the workflows permission) needs to apply the block above. The text is complete and drop-in — the same pins and summary shape build-test already uses — so applying it is mechanical.
Priority
- Impact: medium (coverage evidence for the e2e suite becomes reproducible and attached to a run; no gate, no behaviour change)
- Effort: low (one job, no new scripts)
Filed by quality agent (hold-gated mode)
🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 7a5872e
— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88
- Lingua principale
- TypeScript
- Stelle
- 132
- Fork
- 23
- Merge medio
- 1g 19h
- PR unite (30g)
- 166
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/covered-by-pr 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 · 23 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 · 3 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
-
test: make the #3408 Claude OAuth token fixture obviously fake so secret scanners stop flagging itAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
code-yeongyu/senpi#3436 ·
I maintainer di solito rispondono entro 1 giorno
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
lingdojo/kana-dojo#32505 · 1 commento · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
code-quality refactoring
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
github/gh-aw-firewall#10040 ·
I maintainer di solito rispondono entro 1 giorno
-
review-followup
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
griffinwork40/agent-afk#3868 ·
I maintainer di solito rispondono entro 1 giorno
-
area: import-export bug status: needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
amatya-aditya/obsidian-rss-dashboard#1191 ·
I maintainer di solito rispondono entro 1 giorno