Commit e563b32
ci(coverage): add coverage workflow (open-loop) on PR + main push
Runs vitest+v8 coverage on every PR and every push to main. Outputs:
- Workflow run summary table (lines / statements / branches / functions
with covered/total counts) for at-a-glance visibility.
- coverage-data artifact (coverage-summary.json + lcov.info, ~220 KB,
30-day retention) — small enough that future closed-loop tooling can
download a base commit's data to compute deltas.
- coverage-html artifact (lcov-report HTML, ~5 MB, 7-day retention,
main-only) for human download via the workflow run page.
Open-loop only — no PR comment, no delta gate. Closed-loop dark-factory
feedback (post deltas to the PR; gate regressions) is a follow-up;
the first attempt at the gate logic shipped four blockers in
adversarial review (gh run download flag, missing reporter file,
PATCH body encoding, heredoc terminator indentation), so split out
and ship the simple version first.
Adversarial review: subagent on this branch verified the simple
flow works in the Playwright container, container pin matches
build-and-test.yml, permissions defaults are sufficient, and the
artifact-namespace + concurrency-group combination doesn't collide.
The closed-loop design + its known blockers are tracked as a
follow-up issue.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 374e9dd commit e563b32
1 file changed
Lines changed: 85 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
0 commit comments