Previous approach tried to download pre-built binaries that don't exist.
Now builds kcov from source with all required dependencies:
- cmake, g++ for compilation
- binutils-dev, libcurl4-openssl-dev, libdw-dev, libiberty-dev
- zlib1g-dev, libssl-dev
Also added better debugging output when coverage files not found.
Refs #10
kcov is not available in Ubuntu's default repositories. Update the
workflow to:
- Install kcov build dependencies
- Try downloading pre-built binary first
- Fall back to building from source if pre-built not available
- Add graceful handling for coverage measurement failures
Refs #10
Add coverage job to CI pipeline using kcov:
- Install kcov on Ubuntu runner
- Run BATS tests under kcov to collect coverage for ralph_loop.sh and lib/
- Generate HTML and JSON coverage reports
- Configurable threshold via COVERAGE_THRESHOLD env var (default: 70%)
- Set threshold to 0 to disable enforcement
- Upload coverage artifacts for inspection
- Optional Codecov integration
Coverage is measured separately from test execution to keep the
test job fast and isolate coverage concerns.
Refs #10