🙆
GitLab CIでRustのcoverageを取得する
GitLab CIでのカバレッジの取り方は上記リンク。まだ(2022/09)Rustの記述はないが
要はCobertura XML形式のカバレッジレポートをartifactとして出力すれば良い。
カバレッジレポートを取得するにはgrcovを使う。
以上をまとめると次にようになる。
test:
stage: test
variables:
RUSTFLAGS: "-Cinstrument-coverage"
LLVM_PROFILE_FILE: "coverage-%p-%m.profraw"
script:
- rustup component add llvm-tools-preview
- cargo test
- cargo install grcov
- grcov . --binary-path ./target/debug/ -s . -t cobertura --branch --ignore-not-existing --ignore "*cargo*" -o coverage.xml
artifacts:
reports:
coverage_report:
coverage_format: cobertura
path: coverage.xml
その他参考
この記事の頃にはgrcovがcobertura出力がなかったようなのでそのあたりの変換をやっている。
Discussion