From a904ea281e7bf0a117d0441f442e2fc24b01903d Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Thu, 17 Feb 2022 17:57:26 -0600 Subject: [PATCH] Don't litter with so many coverage profile files Put them in a coverage-profiles directory instead of the toplevel. Also, tell grcov to put the generated HTML directly in public/coverage, not a temporary directory which we move later. --- .gitlab-ci.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index abd826dc1..c0b7dd732 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -259,15 +259,13 @@ coverage: variables: RUSTFLAGS: "-Zinstrument-coverage" RUSTDOCFLAGS: "-Zinstrument-coverage" - LLVM_PROFILE_FILE: "coverage-%p-%m.profraw" + LLVM_PROFILE_FILE: "coverage-profiles/coverage-%p-%m.profraw" script: - cargo +nightly test --no-fail-fast || true after_script: - source ./.gitlab-ci/env.sh - - grcov . --binary-path ./target/debug/ --source-dir . --output-type cobertura --llvm --branch --ignore-not-existing --ignore "*cargo*" -o coverage.xml - - grcov . --binary-path ./target/debug/ --source-dir . --output-type html --llvm --branch --ignore-not-existing --ignore "build.rs" --output-path ./target/debug/coverage/ - - mkdir -p public/coverage - - cp -r target/debug/coverage/* public/coverage + - grcov coverage-profiles --binary-path ./target/debug/ --source-dir . --output-type cobertura --llvm --branch --ignore-not-existing --ignore "*cargo*" -o coverage.xml + - grcov coverage-profiles --binary-path ./target/debug/ --source-dir . --output-type html --llvm --branch --ignore-not-existing --ignore "build.rs" --output-path public/coverage - grep -Eo 'line-rate="[^"]+"' coverage.xml | head -n 1 | grep -Eo '[0-9.]+' | awk '{ print "Coverage:", $1 * 100 }' coverage: '/Coverage: \d+\.\d+/' artifacts: