vrl 0.32.0

Vector Remap Language
Documentation
name: Code Coverage

on:
  push:
    branches:
      - main
  schedule:
    - cron: '0 5 * * MON'  # Weekly on Monday at 5 AM UTC
  workflow_dispatch:  # Allow manual trigger from GitHub UI

permissions:
  contents: read

env:
  RUST_BACKTRACE: full
  CI: true
  CARGO_INCREMENTAL: '0'  # Disable incremental compilation for coverage

jobs:
  coverage:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1

      - 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