github/workflows: Switch from lcov to gcov.

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>
This commit is contained in:
Damien George 2021-06-26 12:16:31 +10:00
parent c940597314
commit f3e4ed82a1
2 changed files with 3 additions and 6 deletions

View File

@ -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

View File

@ -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