ci: fix coverage lcov exclude pattern

The code is built in /usr/src/profanity/ inside Docker, so
excluding '/usr/*' removes all source files!

Fix: exclude only system headers/libs (/usr/include/*, /usr/lib/*),
not the entire /usr/ tree.

Also add --ignore-errors empty to handle edge cases.
This commit is contained in:
2026-01-17 18:37:01 +03:00
parent 1d113c4d64
commit ca5835c58e

View File

@@ -113,7 +113,10 @@ jobs:
make -j$(nproc)
make check || true
lcov --capture --directory . --output-file /coverage/coverage.info --ignore-errors inconsistent
lcov --remove /coverage/coverage.info "/usr/*" "*/tests/*" --output-file /coverage/coverage.info --ignore-errors inconsistent
lcov --remove /coverage/coverage.info \
"/usr/include/*" "/usr/lib/*" "*/tests/*" \
--output-file /coverage/coverage.info \
--ignore-errors inconsistent,empty
'
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4