👷 Gate CI at 100% coverage
test:ci now runs c8 with --all --include "src/**/*.ts" --100, so the build job fails when any runtime file under src/ is untested. --all is what makes the gate non-vacuous: without it c8 counts only the files the suite happened to load, and a new untested module stays invisible. Add src/index.test.ts to load the public barrel, which was previously never imported at runtime and so read as 0% under --all. matcher-shared.ts is types-only (an empty runtime image) and carries a file-level c8 ignore with the reason. Why 100% and the rejected alternatives: development/ci.md § Coverage threshold.
This commit is contained in:
1 parent
76327a8c47
commit
52ce655d8e
9 files changed
+75
-7
No files matched your search
@@ -77,6 +77,9 @@ jobs:
|
||||
- run: npm ci
|
||||
- run: npm run build
|
||||
- run: npm run check
|
||||
# Fails the build below 100% coverage on `src/` (`c8 --all --100`);
|
||||
# the same run produces the report published below. See
|
||||
# development/ci.md § Coverage threshold.
|
||||
- run: npm run test:ci
|
||||
# Publish this tag's coverage to the self-hosted pages server,
|
||||
# served read-only at
|
||||
|
||||
Reference in new issue
Block a user