Skip to content

Commit

Permalink
github/workflows: Switch from lcov to gcov.
Browse files Browse the repository at this point in the history
Coverage calculated by Codecov has the same reliability/deterministic
issues as Coveralls did, so the problem is likely to do with the output of
lcov/gcov, rather than the analysis and display of the data.

Switch from lcov to gcov for data generation to try and simplify this
process of computing coverage.

Signed-off-by: Damien George <damien@micropython.org>
  • Loading branch information
dpgeorge committed Jun 26, 2021
1 parent c940597 commit f3e4ed8
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 6 deletions.
8 changes: 3 additions & 5 deletions .github/workflows/ports_unix.yml
Expand Up @@ -65,15 +65,13 @@ jobs:
run: source tools/ci.sh && ci_native_mpy_modules_build
- name: Test importing .mpy generated by mpy_ld.py
run: source tools/ci.sh && ci_unix_coverage_run_native_mpy_tests
- name: Run lcov coverage analysis
- name: Run gcov coverage analysis
run: |
mkdir -p coverage
lcov --rc lcov_branch_coverage=1 --directory ports/unix/build-coverage --capture --output-file coverage/lcov.info.all
lcov --remove coverage/lcov.info.all '*/lib/*' '*/ports/unix/*' '*/utils/*' --output-file coverage/lcov.info
(cd ports/unix && gcov -o build-coverage/py ../../py/*.c || true)
(cd ports/unix && gcov -o build-coverage/extmod ../../extmod/*.c || true)
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
files: coverage/lcov.info
fail_ci_if_error: true
verbose: true
- name: Print failures
Expand Down
1 change: 0 additions & 1 deletion tools/ci.sh
Expand Up @@ -394,7 +394,6 @@ function ci_unix_standard_run_perfbench {
}

function ci_unix_coverage_setup {
sudo apt-get install lcov
sudo pip3 install setuptools
sudo pip3 install pyelftools
gcc --version
Expand Down

0 comments on commit f3e4ed8

Please sign in to comment.