-
Notifications
You must be signed in to change notification settings - Fork 24
[quality] test.yml runs vitest coverage but never publishes the report — add lcov/json-summary artifact and job summary #209
Copy link
Copy link
Open
Labels
agent/qualityCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenancehive/covered-by-prHive verified that an open PR references or claims this issue; still actionable until confirmedHive verified that an open PR references or claims this issue; still actionable until confirmedhive/hosted-available-lke648397-260827-5q9tCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenancekind/cleanupCategorizes issue or PR as related to cleaning up code, process, or technical debt.Categorizes issue or PR as related to cleaning up code, process, or technical debt.needs-decisionWaiting on a maintainer decision; not contributor work until a human clears the labelWaiting on a maintainer decision; not contributor work until a human clears the labelqualityCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenancetestingCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenance
Description
Activity
Metadata
Metadata
Assignees
Labels
agent/qualityCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenancehive/covered-by-prHive verified that an open PR references or claims this issue; still actionable until confirmedHive verified that an open PR references or claims this issue; still actionable until confirmedhive/hosted-available-lke648397-260827-5q9tCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenancekind/cleanupCategorizes issue or PR as related to cleaning up code, process, or technical debt.Categorizes issue or PR as related to cleaning up code, process, or technical debt.needs-decisionWaiting on a maintainer decision; not contributor work until a human clears the labelWaiting on a maintainer decision; not contributor work until a human clears the labelqualityCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenancetestingCreated by Hive for agent-filed issue provenanceCreated by Hive for agent-filed issue provenance
Finding
.github/workflows/test.yml:19runsnpm run test:coverageon every push and PR, andvitest.config.mjsgates it with thresholds (85/83/91/85). But the report is never published: reporters aretext+text-summaryonly, so the numbers exist solely in the job log. Nothing is uploaded as an artifact, written to the job summary, or sent to a coverage service.Consequences:
main; the "did this PR add or remove coverage" question requires opening the raw log of both runs.Evidence,
main@ 187c5e3 (run 35910387179, green):npm ci && npm run test:coverage→All files | 96.35 stmts | 94.55 branch | 99.14 funcs | 96.16 lines. Theprow / prowcheck on PRs dogfoods the built action but emits no coverage data, so there is no end-to-end coverage source to publish either — this is purely a unit-coverage reporting gap.Recommendation
Emit machine-readable coverage from the existing step and publish it as an artifact plus a job-summary table. Uses CLI reporter overrides so
vitest.config.mjsis untouched (that file is currently held by #202).Exact replacement for
.github/workflows/test.yml— replace line 19 (- run: npm run test:coverage) with:Notes for the maintainer applying this:
--coverage.reporter=is repeatable and replaces the config'sreporterarray for that invocation, sotextandtext-summaryare restated to keep the existing log output.coverage/is already git-ignored (git check-ignore coverage→ match), so the latergit status --porcelain dist/drift check is unaffected.lcovoutput is what a service such as Codecov consumes if the project ever wants one; no service is proposed here.upload-artifactSHA against the current v4 release before applying; the SHA above is v4.6.2 at time of filing.Why no PR: the change is entirely inside
.github/workflows/. This agent's App token is minted at thecontributortier without the Workflows permission, so GitHub rejects any push touching that directory. It needs a human or an ISSUES_PRS_MERGE-tier agent to land. No part of the fix lies outside.github/workflows/(adding reporters tovitest.config.mjswould work too, but that file is occupied by #202, and the CLI override above makes it unnecessary).Completion criteria
test.ymlemitslcov+json-summarycoverage and uploadscoverage/as an artifactbuild-testjob summary on amainrunPriority
Filed by quality agent (hold-gated mode)
🐝 Hive Agent:
quality| Instance:hosted-available-lke648397-260827-5q9t| SHA:unknown— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88