From e03217ed700228c8a35ac05bca24131a60de3de3 Mon Sep 17 00:00:00 2001 From: John Smith Date: Sat, 25 Jul 2026 19:10:16 -0400 Subject: [PATCH] ci: add cargo-llvm-cov coverage steps to Rust CI workflows Installs cargo-llvm-cov, generates LCOV coverage, uploads to Codecov across droplet-ci, cli-ci, and desktop-ci. All coverage steps continue-on-error to avoid blocking CI on thresholds. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- .github/workflows/cli-ci.yml | 17 +++++++++++++++++ .github/workflows/desktop-ci.yml | 17 +++++++++++++++++ .github/workflows/droplet-ci.yml | 17 +++++++++++++++++ 3 files changed, 51 insertions(+) diff --git a/.github/workflows/cli-ci.yml b/.github/workflows/cli-ci.yml index b21b6e86..def6c7ce 100644 --- a/.github/workflows/cli-ci.yml +++ b/.github/workflows/cli-ci.yml @@ -54,6 +54,23 @@ jobs: - name: Run tests run: cargo test --all-features --all --verbose + - name: Install LLVM tools (cargo-llvm-cov) + uses: dtolnay/rust-toolchain@4fd1da8b0805d2d2e936788875a7d65dbd677dc2 # nightly + with: + components: llvm-tools-preview + + - name: Generate code coverage + continue-on-error: true + run: | + cargo install cargo-llvm-cov --locked + cargo llvm-cov --all-features --workspace --codecov --output-path coverage.lcov + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc60cb71e0fce7b # v5 + with: + files: cli/coverage.lcov + fail_ci_if_error: false + # Advisory until noise rate is low. Tighten to blocking after triage. - name: Audit dependencies continue-on-error: true diff --git a/.github/workflows/desktop-ci.yml b/.github/workflows/desktop-ci.yml index 8415fe6d..6b04b39a 100644 --- a/.github/workflows/desktop-ci.yml +++ b/.github/workflows/desktop-ci.yml @@ -59,6 +59,23 @@ jobs: continue-on-error: true run: cargo test --workspace --no-fail-fast + - name: Install LLVM tools (cargo-llvm-cov) + uses: dtolnay/rust-toolchain@4fd1da8b0805d2d2e936788875a7d65dbd677dc2 # nightly + with: + components: llvm-tools-preview + + - name: Generate code coverage + continue-on-error: true + run: | + cargo install cargo-llvm-cov --locked + cargo llvm-cov --all-features --workspace --codecov --output-path coverage.lcov + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc60cb71e0fce7b # v5 + with: + files: desktop/src-tauri/coverage.lcov + fail_ci_if_error: false + # Advisory until noise rate is low. Tighten to blocking after triage. - name: Audit dependencies continue-on-error: true diff --git a/.github/workflows/droplet-ci.yml b/.github/workflows/droplet-ci.yml index 38fded0a..1733d445 100644 --- a/.github/workflows/droplet-ci.yml +++ b/.github/workflows/droplet-ci.yml @@ -55,6 +55,23 @@ jobs: - name: Run tests run: cargo test --all-features --all --verbose + - name: Install LLVM tools (cargo-llvm-cov) + uses: dtolnay/rust-toolchain@4fd1da8b0805d2d2e936788875a7d65dbd677dc2 # nightly + with: + components: llvm-tools-preview + + - name: Generate code coverage + continue-on-error: true + run: | + cargo install cargo-llvm-cov --locked + cargo llvm-cov --all-features --workspace --codecov --output-path coverage.lcov + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc60cb71e0fce7b # v5 + with: + files: libraries/droplet/coverage.lcov + fail_ci_if_error: false + # Advisory until noise rate is low. Tighten to blocking after triage. - name: Audit dependencies continue-on-error: true