name: Code Coverage
on:
push:
branches:
- main
schedule:
- cron: '0 5 * * MON' workflow_dispatch:
env:
RUST_BACKTRACE: full
CI: true
CARGO_INCREMENTAL: '0'
jobs:
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: Swatinem/rust-cache@v2
- name: "Install llvm-tools-preview"
run: rustup component add llvm-tools-preview
- name: "Install cargo-llvm-cov"
run: cargo install cargo-llvm-cov
- name: "Generate code coverage"
run: cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info
- name: "Install datadog-ci"
run: npm install -g @datadog/datadog-ci
- name: "Upload coverage to Datadog"
env:
DD_API_KEY: ${{ secrets.DD_API_KEY }}
DD_SITE: datadoghq.com
DD_ENV: ci
run: datadog-ci coverage upload lcov.info