This commit introduces a modern coverage infrastructure for Core Lightning: - Migrate from ad-hoc coverage script to integrated Makefile targets - Add LLVM source-based coverage support with per-test profraw organization - Integrate coverage collection into pytest framework via TailableProc - Add GitHub Actions workflow for nightly coverage reports - Add Taskfile.yml for convenient task automation - Add codecov.yml for Codecov integration - Add comprehensive coverage documentation in COVERAGE.md - Update contributor workflow docs with new coverage script path - Add coverage data files to .gitignore (*.profraw, *.profdata) - Remove obsolete contrib/clang-coverage-report.sh - Remove obsolete tests/conftest.py (now using pyln-testing markers) - Update pyproject.toml to include pyln-testing in main dependencies The new infrastructure automatically collects coverage data when CLN_COVERAGE_DIR is set, organizing profraw files by test name for granular analysis. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
32 lines
648 B
YAML
32 lines
648 B
YAML
coverage:
|
|
status:
|
|
project:
|
|
default:
|
|
# Coverage can decrease by up to 1% and still pass
|
|
target: auto
|
|
threshold: 1%
|
|
patch:
|
|
default:
|
|
# New code should maintain coverage
|
|
target: auto
|
|
|
|
comment:
|
|
# Post coverage comments on PRs (if we add PR coverage later)
|
|
behavior: default
|
|
layout: "header, diff, files"
|
|
require_changes: false
|
|
|
|
# Ignore files that shouldn't affect coverage metrics
|
|
ignore:
|
|
- "external/**"
|
|
- "ccan/**"
|
|
- "*/test/**"
|
|
- "tools/**"
|
|
- "contrib/**"
|
|
- "doc/**"
|
|
- "devtools/**"
|
|
|
|
# Don't fail if coverage data is incomplete
|
|
codecov:
|
|
require_ci_to_pass: false
|