Skip to content

feat(ci): merge multiple Go coverage reports before Codecov upload #2689

Description

@Unique-Divine

Summary

Restore multi-profile Go coverage aggregation in CI using gocovmerge.

The current workflow generates a single coverage.out with native Go tooling and uploads it directly to Codecov. As the test matrix grows, we want independent coverage reports for major test groups—such as the Cosmos 60k tests, WASM VM tests, and the remaining core/application tests—then merge those reports into one repository-wide profile.

Proposed approach

  • Generate separate Go coverage profiles for the selected test groups.
  • Install the pinned tool with:
    go install github.com/Unique-Divine/jiyuu/gocovmerge@v0.0.2
  • Merge the profiles with gocovmerge into coverage.out.
  • Upload the merged profile to Codecov.
  • Preserve clear group boundaries so coverage gaps can be attributed to the relevant test suite.

Acceptance criteria

  • CI produces at least three independently generated coverage profiles for the agreed test groups.
  • The profiles merge successfully into a single coverage.out.
  • Codecov receives the merged report without regressing existing coverage publishing.
  • The workflow uses a pinned gocovmerge version and documents the report grouping.
  • Local instructions explain how to reproduce or inspect the individual and merged reports.

Metadata

Metadata

Assignees

Labels

S-implStatus: Implementation-ready. Clear and fully specificedprio-p2-normalPriority: Normal

Type

No type

Projects

Status
⚡ Building 🧱

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions