5959 - name : Configure (coverage)
6060 run : |
6161 cmake --preset dev-clang -B build/coverage \
62- -DCMAKE_CXX_FLAGS ="--gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/16 -fprofile-instr-generate -fcoverage-mapping" \
63- -DCMAKE_EXE_LINKER_FLAGS ="-fprofile-instr-generate"
62+ -DCMAKE_CXX_FLAGS_INIT ="--gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/16 -fprofile-instr-generate -fcoverage-mapping" \
63+ -DCMAKE_EXE_LINKER_FLAGS_INIT ="-fprofile-instr-generate"
6464
6565 - name : Build
6666 run : cmake --build build/coverage --config Debug
8282 first="${objects[0]}"
8383 obj_args=()
8484 for o in "${objects[@]:1}"; do obj_args+=("-object=$o"); done
85- llvm-cov-22 report "$first" "${obj_args[@]}" \
85+ report=$( llvm-cov-22 report "$first" "${obj_args[@]}" \
8686 -instr-profile=build/coverage/coverage.profdata \
87- -use-color=false src include/eggs 2>/dev/null
87+ -path-equivalence=".,${GITHUB_WORKSPACE}" \
88+ -use-color=false src include/eggs 2>/dev/null)
89+ echo "$report"
90+ if [ -n "$GITHUB_STEP_SUMMARY" ]; then
91+ {
92+ echo "## Coverage report (llvm-cov)"
93+ echo
94+ echo '```'
95+ echo "$report"
96+ echo '```'
97+ } >> "$GITHUB_STEP_SUMMARY"
98+ fi
8899
89100 - name : Generate HTML report
90101 run : |
94105 for o in "${objects[@]:1}"; do obj_args+=("-object=$o"); done
95106 llvm-cov-22 show "$first" "${obj_args[@]}" \
96107 -instr-profile=build/coverage/coverage.profdata \
108+ -path-equivalence=".,${GITHUB_WORKSPACE}" \
97109 -format=html \
98110 -output-dir=build/coverage/html \
99111 -show-line-counts-or-regions \
@@ -154,8 +166,8 @@ jobs:
154166 - name : Configure (coverage)
155167 run : |
156168 cmake --preset dev-gcc -B build/coverage-gcc \
157- -DCMAKE_CXX_FLAGS ="--coverage" \
158- -DCMAKE_EXE_LINKER_FLAGS ="--coverage"
169+ -DCMAKE_CXX_FLAGS_INIT ="--coverage" \
170+ -DCMAKE_EXE_LINKER_FLAGS_INIT ="--coverage"
159171
160172 - name : Build
161173 run : cmake --build build/coverage-gcc --config Debug
@@ -170,22 +182,36 @@ jobs:
170182 run : |
171183 lcov --capture \
172184 --gcov-tool gcov-16 \
185+ --rc branch_coverage=1 \
173186 --ignore-errors mismatch,inconsistent \
187+ --base-directory . \
174188 --directory build/coverage-gcc \
175189 --output-file build/coverage-gcc/coverage.info
176190 lcov --extract build/coverage-gcc/coverage.info \
177191 '*/src/*' '*/include/eggs/*' \
192+ --rc branch_coverage=1 \
178193 --ignore-errors unused \
179194 --output-file build/coverage-gcc/coverage.info
180195
181196 - name : Coverage report
182197 run : |
183- lcov --list build/coverage-gcc/coverage.info
198+ report=$(lcov --list build/coverage-gcc/coverage.info --rc branch_coverage=1)
199+ echo "$report"
200+ if [ -n "$GITHUB_STEP_SUMMARY" ]; then
201+ {
202+ echo "## Coverage report (gcov)"
203+ echo
204+ echo '```'
205+ echo "$report"
206+ echo '```'
207+ } >> "$GITHUB_STEP_SUMMARY"
208+ fi
184209
185210 - name : Generate HTML report
186211 run : |
187212 genhtml build/coverage-gcc/coverage.info \
188213 --output-directory build/coverage-gcc/html \
214+ --rc branch_coverage=1 \
189215 --quiet
190216
191217 - name : Upload coverage report
0 commit comments