Summary
Migrate local and CI coverage generation from cargo-tarpaulin to cargo-llvm-cov.
This is the first pass before doing the same migration in acgetchell/delaunay, so this issue should capture the concrete command, workflow, and reporting decisions that transfer cleanly to downstream crates.
Motivation
cargo-llvm-cov should give us coverage based on Rust's LLVM instrumentation, with fewer tarpaulin-specific discrepancies between local and CI runs. Doing this in la-stack first keeps the experiment smaller before applying the same pattern to the larger delaunay coverage workflow.
Proposed Change
- Add
cargo-llvm-cov installation/caching to the coverage workflow.
- Replace tarpaulin invocations in local coverage recipes and CI with equivalent
cargo llvm-cov commands.
- Preserve generated report formats needed by coverage consumers:
- local HTML report for developers
- Cobertura XML or compatible output for Codecov/Codacy, if applicable
- Preserve relevant exclusions or document intentional behavior changes.
- Update docs that mention tarpaulin commands or report paths.
- Remove stale tarpaulin install/check logic once the replacement is validated.
Acceptance Criteria
- Local coverage generation works with
cargo-llvm-cov.
- CI coverage generation works with
cargo-llvm-cov.
- Coverage upload artifacts remain compatible with configured reporting services.
- Documentation no longer points developers at tarpaulin-specific commands or paths except in archive/history docs.
- Lessons learned are captured so
acgetchell/delaunay#343 can reuse the migration pattern.
Related
Blocks acgetchell/delaunay#343.
Summary
Migrate local and CI coverage generation from
cargo-tarpaulintocargo-llvm-cov.This is the first pass before doing the same migration in
acgetchell/delaunay, so this issue should capture the concrete command, workflow, and reporting decisions that transfer cleanly to downstream crates.Motivation
cargo-llvm-covshould give us coverage based on Rust's LLVM instrumentation, with fewer tarpaulin-specific discrepancies between local and CI runs. Doing this inla-stackfirst keeps the experiment smaller before applying the same pattern to the larger delaunay coverage workflow.Proposed Change
cargo-llvm-covinstallation/caching to the coverage workflow.cargo llvm-covcommands.Acceptance Criteria
cargo-llvm-cov.cargo-llvm-cov.acgetchell/delaunay#343can reuse the migration pattern.Related
Blocks acgetchell/delaunay#343.