Rust: integrating LLVM source-base code coverage with GitLab

Earlier this year, the Rust compiler gained support for LLVM source-base code coverage. This feature is called source-base because it operates on AST and preprocessor information directly, producing more precise coverage data compared to the traditional gcov coverage technique.

GitLab provides built-in integration of coverage information allowing for example reviewers to check if a MR is changing tested code or if it’s increasing or decreasing the total coverage of the project. Here, we’ll explain how to setup a CI job in a Rust project to feed source-base coverage information to GitLab.