ci: use uv to install gcovr and sphinx
Change-Id: I1f04e20ef45f7352fddd4fdad7b7c418721a59ec
diff --git a/.jenkins.d/30-coverage.sh b/.jenkins.d/30-coverage.sh
index aae00f5..fadb5b1 100755
--- a/.jenkins.d/30-coverage.sh
+++ b/.jenkins.d/30-coverage.sh
@@ -1,30 +1,36 @@
#!/usr/bin/env bash
-set -exo pipefail
+set -eo pipefail
-if [[ $JOB_NAME == *"code-coverage" ]]; then
- # Generate an XML report (Cobertura format) and a detailed HTML report using gcovr
- # Note: trailing slashes are important in the paths below. Do not remove them!
- gcovr --object-directory build \
- --filter tools/ \
- --exclude-throw-branches \
- --exclude-unreachable-branches \
- --cobertura build/coverage.xml \
- --html-details build/gcovr/ \
- --print-summary
+[[ $JOB_NAME == *code-coverage ]] || exit 0
- # Generate a detailed HTML report using lcov
- lcov --quiet \
- --capture \
- --directory . \
- --exclude "$PWD/tests/*" \
- --no-external \
- --rc lcov_branch_coverage=1 \
- --output-file build/coverage.info
+export FORCE_COLOR=1
+export UV_NO_MANAGED_PYTHON=1
- genhtml --branch-coverage \
- --demangle-cpp \
- --legend \
- --output-directory build/lcov \
- --title "ndn-tools unit tests" \
- build/coverage.info
-fi
+set -x
+
+# Generate an XML report (Cobertura format) and a detailed HTML report using gcovr
+# Note: trailing slashes are important in the paths below. Do not remove them!
+uvx gcovr@5.2 \
+ --object-directory build \
+ --filter tools/ \
+ --exclude-throw-branches \
+ --exclude-unreachable-branches \
+ --cobertura build/coverage.xml \
+ --html-details build/gcovr/ \
+ --print-summary
+
+# Generate a detailed HTML report using lcov
+lcov --quiet \
+ --capture \
+ --directory . \
+ --exclude "$PWD/tests/*" \
+ --no-external \
+ --rc lcov_branch_coverage=1 \
+ --output-file build/coverage.info
+
+genhtml --branch-coverage \
+ --demangle-cpp \
+ --legend \
+ --output-directory build/lcov \
+ --title "ndn-tools unit tests" \
+ build/coverage.info