diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index b3f4b62..89f5aa1 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -32,9 +32,12 @@ jobs: - name: Coverage run: | - GCOV_TOOL="$(dirname "$(command -v g++)")/gcov" - GCOV_TOOL="$(g++ -print-prog-name=gcov)" - lcov --gcov-tool "$GCOV_TOOL" --capture --directory build --output-file build/coverage.info - lcov --remove build/coverage.info "/usr/*" "*/build/*" "*/_deps/*" --output-file build/coverage.info - lcov --summary build/coverage.info + GCOV_TOOL_DIR="$(dirname "$(g++ -print-file-name=libgcov.a)")" + GCOV_TOOL="$GCOV_TOOL_DIR/gcov" + if [ ! -x "$GCOV_TOOL" ]; then + GCOV_TOOL="$(command -v gcov)" + fi + lcov --gcov-tool "$GCOV_TOOL" --capture --directory build --output-file build/coverage.info + lcov --remove build/coverage.info "/usr/*" "*/build/*" "*/_deps/*" --output-file build/coverage.info + lcov --summary build/coverage.info genhtml build/coverage.info --output-directory build/coverage-html