Skip to content

Commit b25c751

Browse files
committed
[ci] Summarize coverage jobs
1 parent ac2c270 commit b25c751

1 file changed

Lines changed: 33 additions & 7 deletions

File tree

.github/workflows/coverage.yml

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ jobs:
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
@@ -82,9 +82,20 @@ jobs:
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: |
@@ -94,6 +105,7 @@ jobs:
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

Comments
 (0)