Merged
Size
S
Change Breakdown
CI/CD45%
Config35%
Maintenance20%
#27756ci: Improve coverage reports

Coverage reports fixed across test runners

SH
shortstacked
·Mar 31, 2026

Coverage reports were broken for packages using different test runners. A fix across vitest and jest configurations ensures all test runs now generate proper cobertura format for accurate tracking.

Coverage reporting was inconsistent across n8n's test suite. Packages running on Vitest weren't producing the right coverage format, while others were missing test scripts entirely — leaving gaps in the coverage dashboard.

The fix standardizes how coverage data flows from both test runners into Codecov. Vitest configurations now use a shared base config, and CI upload steps explicitly target the cobertura-coverage.xml format that the coverage service expects. Jest-based packages get the same treatment: scripts added, coverage paths configured.

Coverage tracking now works across the entire monorepo, from the expression runtime to the CLI. The dashboard will show accurate numbers for all packages, letting maintainers see where tests need more depth.

View Original GitHub Description

Summary

Get correct coverage formats from both jest/vitest.

Related Linear tickets, Github issues, and Community forum posts

Review / Merge checklist

  • PR title and summary are descriptive. (conventions) <!-- **Remember, the title automatically goes into the changelog. Use `(no-changelog)` otherwise.** -->
  • Docs updated or follow-up ticket created.
  • Tests included. <!-- A bug is not considered fixed, unless a test is added to prevent it from happening again. A feature is not complete without tests. -->
  • PR Labeled with Backport to Beta, Backport to Stable, or Backport to v1 (if the PR is an urgent fix that needs to be backported)
© 2026 · via Gitpulse