ci: coverage: generate cobertura report with grcov

It's supported with the latest version.
Also ignore build.rs when generating reports.

The new gitlab summary parsing regexp is now:
  <abbr .*>(\d+.\d+) %<\/abbr>
This commit is contained in:
Guillaume Desmottes 2021-04-23 14:19:53 +02:00
parent e9a08214bb
commit 40765f7c53

View file

@ -230,13 +230,12 @@ coverage:
script: script:
- cargo test --locked --color=always --all-features - cargo test --locked --color=always --all-features
# generate html report # generate html report
- grcov . --binary-path ./target/debug/ -s . -t html --branch --ignore-not-existing --ignore "*target*" -o ./coverage/ - grcov . --binary-path ./target/debug/ -s . -t html --branch --ignore-not-existing --ignore "*target*" --ignore "*/build.rs" -o ./coverage/
# generate cobertura report for gitlab integration # generate cobertura report for gitlab integration
- grcov . --binary-path ./target/debug/ -s . -t lcov --branch --ignore-not-existing --ignore "*target*" -o lcov - grcov . --binary-path ./target/debug/ -s . -t cobertura --branch --ignore-not-existing --ignore "*target*" --ignore "*/build.rs" -o coverage.xml
- python3 /usr/local/lib/python3.7/dist-packages/lcov_cobertura.py lcov # output coverage summary for gitlab parsing.
# output coverage summary for gitlab parsing # TODO: use grcov once https://github.com/mozilla/grcov/issues/556 is fixed
- lcov -r lcov "/*" 2&> out - grep "%" coverage/index.html | head -1 || true
- grep lines out
artifacts: artifacts:
paths: paths:
- 'coverage' - 'coverage'