Skip to content

Commit

Permalink
build: update gcovr to 7.2 and codecov config
Browse files Browse the repository at this point in the history
PR-URL: #54019
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
  • Loading branch information
bcoe authored and marco-ippolito committed Aug 19, 2024
1 parent 77761af commit 61b90e7
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 19 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/coverage-linux-without-intl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
- name: Environment Information
run: npx envinfo
- name: Install gcovr
run: pip install gcovr==4.2
run: pip install gcovr==7.2
- name: Build
run: make build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn --coverage --without-intl"
# TODO(bcoe): fix the couple tests that fail with the inspector enabled.
Expand All @@ -72,7 +72,7 @@ jobs:
env:
NODE_OPTIONS: --max-old-space-size=8192
- name: Report C++
run: cd out && gcovr --gcov-exclude='.*\b(deps|usr|out|obj|cctest|embedding)\b' -v -r Release/obj.target --xml -o ../coverage/coverage-cxx.xml --root=$(cd ../ && pwd)
run: gcovr --object-directory=out -v --filter src --xml -o ./coverage/coverage-cxx.xml --root=./ --gcov-executable="llvm-cov-18 gcov"
# Clean temporary output from gcov and c8, so that it's not uploaded:
- name: Clean tmp
run: rm -rf coverage/tmp && rm -rf out
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/coverage-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
- name: Environment Information
run: npx envinfo
- name: Install gcovr
run: pip install gcovr==4.2
run: pip install gcovr==7.2
- name: Build
run: make build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn --coverage"
# TODO(bcoe): fix the couple tests that fail with the inspector enabled.
Expand All @@ -72,7 +72,7 @@ jobs:
env:
NODE_OPTIONS: --max-old-space-size=8192
- name: Report C++
run: cd out && gcovr --gcov-exclude='.*\b(deps|usr|out|obj|cctest|embedding)\b' -v -r Release/obj.target --xml -o ../coverage/coverage-cxx.xml --root=$(cd ../ && pwd)
run: gcovr --object-directory=out -v --filter src --xml -o ./coverage/coverage-cxx.xml --root=./ --gcov-executable="llvm-cov-18 gcov"
# Clean temporary output from gcov and c8, so that it's not uploaded:
- name: Clean tmp
run: rm -rf coverage/tmp && rm -rf out
Expand Down
9 changes: 5 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ coverage: coverage-test ## Run the tests and generate a coverage report.
.PHONY: coverage-build
coverage-build: all
-$(MAKE) coverage-build-js
if [ ! -d gcovr ]; then $(PYTHON) -m pip install -t gcovr gcovr==4.2; fi
if [ ! -d gcovr ]; then $(PYTHON) -m pip install -t gcovr gcovr==7.2; fi
$(MAKE)

.PHONY: coverage-build-js
Expand All @@ -269,9 +269,10 @@ coverage-test: coverage-build
-NODE_V8_COVERAGE=coverage/tmp \
TEST_CI_ARGS="$(TEST_CI_ARGS) --type=coverage" $(MAKE) $(COVTESTS)
$(MAKE) coverage-report-js
-(cd out && PYTHONPATH=../gcovr $(PYTHON) -m gcovr \
--gcov-exclude='.*\b(deps|usr|out|cctest|embedding)\b' -v \
-r ../src/ --object-directory Release/obj.target \
-(PYTHONPATH=./gcovr $(PYTHON) -m gcovr \
--object-directory=out \
--filter src -v \
--root ./ \
--html --html-details -o ../coverage/cxxcoverage.html \
--gcov-executable="$(GCOV)")
@printf "Javascript coverage %%: "
Expand Down
18 changes: 7 additions & 11 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,16 @@
# TODO(bcoe): re-enable coverage report comments, once we can figure out
# how to make them more accurate for the Node.js project,
# See: https://github.com/nodejs/node/issues/35759
comment: false
# # Only show diff and files changed:
# layout: "diff, files"
# # Don't post if no changes in coverage:
# require_changes: true
comment:
# Only show diff and files changed:
layout: diff, files
# Don't post if no changes in coverage:
require_changes: true

codecov:
branch: main
notify:
# Wait for all coverage builds:
# - coverage-linux.yml
# - coverage-windows.yml
# - coverage-windows.yml [manually disabled see #50489]
# - coverage-linux-without-intl.yml
after_n_builds: 3
after_n_builds: 2

coverage:
# Useful for blocking Pull Requests that don't meet a particular coverage threshold.
Expand Down

0 comments on commit 61b90e7

Please sign in to comment.