name: Code Coverage
on:
push:
branches:
- main
schedule:
- cron: '0 5 * * MON' workflow_dispatch:
permissions:
contents: read
env:
RUST_BACKTRACE: full
CI: true
CARGO_INCREMENTAL: '0'
jobs:
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4
- 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