ci: changed-lines coverage report -- diff-cover over Go+Vitest lcov (goal 0109 phase 2a) - #245
Merged
Conversation
…goal 0109 phase 2a) Vitest emits lcov alongside text; test-go uploads its coverprofile; a new PR-only diff-coverage job converts it via gcov2lcov and runs diff-cover against the PR's merge base over both reports. INFORMATIONAL (continue-on-error, outside ci-gate): this repo's layering proves components in e2e, not unit tests, so an industry-default fail-under would fail honest UI PRs -- the floor gets set from a track record of real PR numbers, the same measure-then-promote shape as the bridge smoke job. Verified locally end to end (gcov2lcov 21k-line lcov; diff-cover runs clean). Claude-Session: https://claude.ai/code/session_01FW5GkkAG8du7tNdYLk2zSd Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
alicoding
enabled auto-merge (squash)
August 18, 2026 19:26
…resh-cache lint The fetch-depth:0 change invalidated the lint action's cache and a fresh staticcheck pass lost t.Fatal's noreturn fact under the CI build config (CGO_ENABLED=0/Go 1.25), flagging three latent guard-then-deref sites in test files that every cached run had passed. Explicit returns make the control flow analyzer-independent. Claude-Session: https://claude.ai/code/session_01FW5GkkAG8du7tNdYLk2zSd Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The clean-as-you-code counterpart to #239's gocognit gate: a PR-only
diff-coveragejob reports how much of the PR's changed lines the unit layers cover — Go coverprofile (reused from test-go via artifact, converted with gcov2lcov) + Vitest's new lcov reporter, fed to diff-cover against the merge base.Deliberately informational (continue-on-error, outside ci-gate): this repo's layering proves components in e2e rather than unit tests, so an industry-default fail-under would fail honest UI PRs. The floor gets set later from a track record of real PR numbers — the same measure-then-promote shape as the bridge-smoke job. Rejected alternatives and licence notes are in the goal file (go-test-coverage: aggregate-not-line + GPL; jscpd v5: Rust rewrite).
Verified locally end to end; workflow lints clean (actionlint + the yaml check).
🤖 Generated with Claude Code
https://claude.ai/code/session_01FW5GkkAG8du7tNdYLk2zSd