every.channel: sanitized baseline
This commit is contained in:
commit
897e556bea
258 changed files with 74298 additions and 0 deletions
36
evolution/proposals/ECP-0030-workspace-coverage-reporting.md
Normal file
36
evolution/proposals/ECP-0030-workspace-coverage-reporting.md
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# ECP-0030: Workspace Coverage Reporting
|
||||
|
||||
Status: Draft
|
||||
|
||||
## Problem
|
||||
|
||||
We want high-confidence changes across the entire codebase, not only the newest crates. Today, we have unit tests in a subset of crates and no standardized, reproducible, formal coverage artifact.
|
||||
|
||||
## Decision
|
||||
|
||||
- Adopt workspace-level coverage as a first-class artifact using `cargo-llvm-cov`.
|
||||
- Provide repeatable `just` commands that generate:
|
||||
- LCOV (`tmp/coverage/workspace.lcov`)
|
||||
- HTML report (`tmp/coverage/workspace-html/index.html`)
|
||||
- A short summary (`tmp/coverage/workspace.summary.txt`)
|
||||
- Prefer running coverage via `nix develop` so `ac-ffmpeg` builds consistently (FFmpeg headers/libs present).
|
||||
|
||||
## Details
|
||||
|
||||
Commands:
|
||||
|
||||
- `just test-workspace`
|
||||
- `just cov-workspace` / `just cov-workspace-html` (when `cargo llvm-cov` is available, typically inside `nix develop`)
|
||||
- `just cov-workspace-nix` / `just cov-workspace-html-nix` (self-contained, runs through `nix develop`)
|
||||
- `cargo llvm-cov -p ec-core -p ec-crypto -p ec-hdhomerun -p ec-iroh -p ec-linux-iptv -p ec-moq -p ec-ts` (unit-coverage subset that doesn't require FFmpeg headers)
|
||||
|
||||
Coverage excludes:
|
||||
|
||||
- `third_party/`
|
||||
- `target/`
|
||||
- `tmp/`
|
||||
|
||||
## Consequences
|
||||
|
||||
- Contributors can review regressions with an objective report, not only "tests passed".
|
||||
- Running coverage outside Nix may not work on macOS/Linux unless FFmpeg dev headers are installed; the Nix path is the canonical one.
|
||||
Loading…
Add table
Add a link
Reference in a new issue