44
44
make -j4
45
45
sudo make install
46
46
47
- - name : Install lcov
47
+ - name : Install lcov and gcovr
48
48
run : |
49
- sudo apt-get -y install lcov
49
+ sudo apt-get -y install lcov gcovr
50
50
51
51
- name : Run tests, compute coverage
52
52
env :
@@ -59,11 +59,10 @@ jobs:
59
59
cmake ..
60
60
make -j4
61
61
sudo make install
62
- make -j4 examples
62
+ make -j4 unit_tests examples
63
+ ./unit_tests
63
64
./examples/open_seek_write
64
65
./examples/jbod
65
- make -j4 unit_tests
66
- ./unit_tests
67
66
lcov --directory . --directory examples/ --capture --output-file coverage.info
68
67
lcov --remove coverage.info '*/test/*' '*/examples/*' '*/include/*'
69
68
bash <(curl -s https://codecov.io/bash) -f coverage.info -t ${CODECOV_TOKEN}
@@ -86,12 +85,23 @@ jobs:
86
85
mkdir build
87
86
cmake -S . -B build
88
87
build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} cmake --build build/ --config Release
88
+ - name : Run tests to generate coverage statistics
89
+ run : |
90
+ cd build
91
+ make -j4 unit_tests examples
92
+ ./unit_tests
93
+ ./examples/open_seek_write
94
+ ./examples/jbod
95
+ - name : Collect coverage into one XML report
96
+ run : |
97
+ gcovr --sonarqube > coverage.xml
89
98
- name : Run sonar-scanner
90
99
env :
91
100
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
92
101
SONAR_TOKEN : ${{ secrets.SONAR_TOKEN }}
93
102
run : |
94
- sonar-scanner --define sonar.cfamily.compile-commands="${{ env.BUILD_WRAPPER_OUT_DIR }}/compile_commands.json"
103
+ sonar-scanner --define sonar.cfamily.compile-commands="${{ env.BUILD_WRAPPER_OUT_DIR }}/compile_commands.json" \
104
+ --define sonar.coverageReportPaths=coverage.xml
95
105
96
106
- name : Install Doxygen and Sphinx
97
107
run : |
0 commit comments