@@ -18,44 +18,30 @@ jobs:
1818 sudo apt-get update
1919 sudo apt-get install -y build-essential cmake lcov
2020 sudo apt-get install -y libgtest-dev googletest
21- sudo apt-get install -y gcovr # Alternative coverage tool
22-
23- - name : Clean workspace
24- run : |
25- rm -rf build
26- find . -name "*.gcda" -delete
2721
2822 - name : Configure CMake
2923 run : |
3024 cmake -B build -DCMAKE_BUILD_TYPE=Debug \
31- -DCMAKE_CXX_FLAGS="-fprofile-arcs -ftest-coverage -fprofile-update=atomic -O0" \
32- -DCMAKE_EXE_LINKER_FLAGS="-lgcov --coverage"
25+ -DCMAKE_CXX_FLAGS="-fprofile-arcs -ftest-coverage -fprofile-update=atomic -O0"
3326
3427 - name : Build
35- run : |
36- cmake --build build --clean-first
28+ run : cmake --build build --clean-first
3729
3830 - name : Run Tests
3931 working-directory : ./build
4032 run : ./ConcurrentHashMapTest
4133
42- - name : Generate Coverage (lcov)
34+ - name : Generate Coverage Report
4335 run : |
4436 lcov --capture --directory ./build --output-file coverage.info \
4537 --rc geninfo_unexecuted_blocks=1 \
4638 --ignore-errors mismatch,negative
47- lcov --remove coverage.info '/usr/*' '*/test/*' --output-file coverage.info
48- lcov --list coverage.info
49-
50- - name : Generate Coverage (gcovr alternative)
51- run : |
52- gcovr -r ${{ github.workspace }} --exclude-unreachable-branches \
53- --exclude-throw-branches --html-details coverage.html
39+ lcov --remove coverage.info '/usr/*' --output-file coverage.info
40+ lcov --list coverage.info || true # Prevent failure on warnings
5441
5542 - name : Upload to Codecov
5643 uses : codecov/codecov-action@v5
5744 with :
5845 token : ${{ secrets.CODECOV_TOKEN }}
59- files : coverage.info,coverage.xml
60- flags : cpp
61- fail_ci_if_error : false
46+ file : coverage.info
47+ fail_ci_if_error : false
0 commit comments