Skip to content

ci: expand codecov exclusions for non-unit-testable code#3444

Merged
QuantumExplorer merged 1 commit into
v3.1-devfrom
chore/codecov-exclusions-round2
Apr 7, 2026
Merged

ci: expand codecov exclusions for non-unit-testable code#3444
QuantumExplorer merged 1 commit into
v3.1-devfrom
chore/codecov-exclusions-round2

Conversation

@QuantumExplorer
Copy link
Copy Markdown
Member

@QuantumExplorer QuantumExplorer commented Apr 7, 2026

Summary

Expands .codecov.yml exclusions to remove non-unit-testable code from the coverage denominator. This is a config-only change — no code modifications.

New whole-crate exclusions

Crate Lines Reason
rs-sdk ~23k Requires running Platform node
rs-dapi ~16k Requires running Core + Tenderdash
rs-dapi-client ~4k Network transport requiring live gRPC
wasm-drive-verify ~9k WASM-only, can't run in Rust test harness
5 proc-macro crates ~4k Tested indirectly through usage
CLI tools (3 crates) ~700 Not unit-testable
rs-context-provider ~400 Interface, tested through consumers
rs-platform-wallet ~varied Requires Core wallet integration
rs-json-schema-compatibility-validator ~varied Static rule definitions

Broadened patterns

  • Accessors: **/accessors/** and **/accessors.rs across all crates (was individual files)
  • Batch transition factories: signing boilerplate (methods/mod.rs, v0_methods.rs, v1_methods.rs)
  • Proof verifier: types.rs, unproved.rs, error.rs

Consolidated

Removed redundant individual file exclusions now covered by broader patterns (e.g., individual rs-dapi files replaced by packages/rs-dapi/src/**).

Test plan

  • No code changes — config only
  • CI + coverage report

🤖 Generated with Claude Code

Summary by CodeRabbit

Release Notes

  • Chores
    • Updated code coverage configuration to adjust excluded coverage paths across multiple packages and modules, improving the precision of coverage tracking for development purposes.

Exclude entire crates and broad patterns of boilerplate code that
inflate the coverage denominator without representing testable logic:

- Whole-crate exclusions: rs-sdk, rs-dapi, rs-dapi-client, wasm-drive-verify,
  proc-macro crates, CLI tools, context provider, platform wallet
- Accessor pattern: all **/accessors/** and **/accessors.rs across crates
- Batch transition factories: signing boilerplate in document transitions
- Proof verifier types/error definitions
- JSON schema compatibility validator
- Consolidated redundant individual file exclusions into broader patterns

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added this to the v3.1.0 milestone Apr 7, 2026
@thepastaclaw
Copy link
Copy Markdown
Collaborator

thepastaclaw commented Apr 7, 2026

⏳ Review in progress (commit 1c0d1e8)

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 7, 2026

📝 Walkthrough

Walkthrough

Updated Codecov configuration to replace specific coverage ignore patterns with broader crate-level exclusions for SDK, DAPI, and related packages, while expanding wildcard patterns for accessor-related files and adding new ignored directories for platform wallet and additional tooling components.

Changes

Cohort / File(s) Summary
Codecov Configuration
.codecov.yml
Broadened coverage ignore patterns by replacing narrower SDK/DAPI-specific paths (rs-sdk platform submodules, rs-dapi service handlers, server/client/streaming) with crate-level ignores (packages/rs-sdk/src/**, packages/rs-dapi/src/**, packages/rs-dapi-client/**). Expanded accessor ignores from explicit files to wildcard patterns (**/accessors/**, accessors.rs). Added new exclusions for platform wallet, WASM bindings, proc-macro crates, batch transition signing factories, and drive-proof-verifier components.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐰 A rabbit hops through coverage lines so bright,
Ignoring paths that needn't see the light,
Broader patterns, wildcards in place,
Coverage now flows with elegant grace! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: expanding codecov exclusions for non-unit-testable code, which is directly reflected in the .codecov.yml configuration updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/codecov-exclusions-round2

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
.codecov.yml (1)

55-60: Sanity-check the components that now point at ignored crates.

packages/rs-sdk/src/**, packages/rs-dapi-client/**, and packages/rs-platform-wallet/src/** overlap the sdk, dapi-client, and platform-wallet components declared below. Once CI finishes, please confirm Codecov does not turn those components into empty/N/A buckets; if it does, retarget or remove the matching component_management entries.

Also applies to: 101-102

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.codecov.yml around lines 55 - 60, The ignore globs packages/rs-sdk/src/**,
packages/rs-dapi-client/**, and packages/rs-platform-wallet/src/** overlap the
defined components sdk, dapi-client, and platform-wallet and may cause those
components to become empty in Codecov; after CI runs, verify Codecov did not
mark sdk, dapi-client, or platform-wallet as empty/N/A, and if it did, either
remove or retarget the matching ignore globs (packages/rs-sdk/src/**,
packages/rs-dapi-client/**, packages/rs-platform-wallet/src/**) or adjust the
component_management entries for sdk, dapi-client, and platform-wallet so their
source paths no longer conflict. Ensure the final .codecov.yml maps each
component to non-ignored paths and re-run CI to confirm coverage buckets are
populated.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.codecov.yml:
- Around line 55-60: The ignore globs packages/rs-sdk/src/**,
packages/rs-dapi-client/**, and packages/rs-platform-wallet/src/** overlap the
defined components sdk, dapi-client, and platform-wallet and may cause those
components to become empty in Codecov; after CI runs, verify Codecov did not
mark sdk, dapi-client, or platform-wallet as empty/N/A, and if it did, either
remove or retarget the matching ignore globs (packages/rs-sdk/src/**,
packages/rs-dapi-client/**, packages/rs-platform-wallet/src/**) or adjust the
component_management entries for sdk, dapi-client, and platform-wallet so their
source paths no longer conflict. Ensure the final .codecov.yml maps each
component to non-ignored paths and re-run CI to confirm coverage buckets are
populated.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6a7c5b04-4d0f-4adc-9a6b-91657fb3e9f4

📥 Commits

Reviewing files that changed from the base of the PR and between dbc2bdf and 1c0d1e8.

📒 Files selected for processing (1)
  • .codecov.yml

@QuantumExplorer QuantumExplorer merged commit a17916c into v3.1-dev Apr 7, 2026
67 of 68 checks passed
@QuantumExplorer QuantumExplorer deleted the chore/codecov-exclusions-round2 branch April 7, 2026 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants