fix(ci): enable coverage with thresholds for integration tests - #3402
Draft
margaretjgu wants to merge 5 commits into
Draft
fix(ci): enable coverage with thresholds for integration tests#3402margaretjgu wants to merge 5 commits into
margaretjgu wants to merge 5 commits into
Conversation
margaretjgu
marked this pull request as draft
August 3, 2026 17:37
JoshMock
previously approved these changes
Aug 17, 2026
JoshMock
left a comment
Member
There was a problem hiding this comment.
This LGTM btw! Been sitting in draft for 2 weeks so I kept overlooking it.
margaretjgu
force-pushed
the
fix/integration-test-coverage
branch
from
August 24, 2026 19:19
e04fe43 to
98ae5b4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The integration tests were using
--disable-coveragewhich prevented coverage collection but caused tap to exit 1 anyway - tap's built-in report teardown always runs aftertap runand exits 1 when.tap/coverageis empty, regardless of--disable-coverage.This replaces the bypass with actual coverage:
--disable-coverage--coverage-excludeto exclude test files from measurement (we care about library code coverage, not test file coverage)--allow-incomplete-coveragesince integration tests won't load every source fileThe thresholds are conservative starting points to be tightened once we see actual numbers from the first green CI run. The unit test command (
npm test) tracks the same library code at 96/90/96/91 via c8; these are lower because integration tests cover happy paths but not error handling or retry logic.The OOM from a previous attempt came from wrapping tap with c8. This approach uses tap's native V8 coverage (each test file spawns its own process) which avoids that issue.