Skip to content

ci: unit test coverage in the job summary, held to a floor - #10

Merged
aledbf merged 1 commit into
mainfrom
ci-coverage
Nov 14, 2026
Merged

aledbf merged 1 commit into
mainfrom
ci-coverage

Conversation

@aledbf

@aledbf aledbf commented Nov 14, 2026

Copy link
Copy Markdown
Member

The unit tests now run with coverage, which nothing measured before.

  • task test runs vitest run --coverage (@vitest/coverage-v8 at vitest's 5.0.5) over every file in src/, and fails below the statements floor in vitest.config.ts: 90%, under today's 92.0%. Proved by planting 99: Coverage for statements (92.0%) does not meet global threshold (99%), exit 1.
  • The Gate job, if: always(): task coverage:summary (hack/coverage-summary.mjs) writes the four totals to the job summary, or one line when there is no coverage/. coverage/ is uploaded as the coverage-web artifact for 7 days, pinned by commit like the other workflows.
  • No external service, token or PR comment. coverage/ is gitignored. The .vscodeignore allowlist already leaves it out of the VSIX.

task ci and actionlint pass locally. The summary step runs in CI for the first time on this PR.

🤖 Generated with Claude Code

vitest run --coverage writes coverage/ on every task test, and fails
below the statements floor in the vitest config, a little under today's
number. The Gate job writes the totals to its summary and keeps the HTML
as coverage-web for 7 days, even when a test fails.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@aledbf
aledbf merged commit 8da7364 into main Nov 14, 2026
1 check passed
@aledbf
aledbf deleted the ci-coverage branch November 14, 2026 04:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant