chore: harden CI quality gates - remove --passWithNoTests, add typech… - #116
chore: harden CI quality gates - remove --passWithNoTests, add typech…#116OmniZlatoon wants to merge 2 commits into
Conversation
…eck and test:coverage scripts, enforce 75% coverage threshold, update README
|
Good day sir @cybermax4200 , please I have completed the task for this issue. please kindly review the PR and if any changes, I am open to make changes |
6 similar comments
|
Good day sir @cybermax4200 , please I have completed the task for this issue. please kindly review the PR and if any changes, I am open to make changes |
|
Good day sir @cybermax4200 , please I have completed the task for this issue. please kindly review the PR and if any changes, I am open to make changes |
|
Good day sir @cybermax4200 , please I have completed the task for this issue. please kindly review the PR and if any changes, I am open to make changes |
|
Good day sir @cybermax4200 , please I have completed the task for this issue. please kindly review the PR and if any changes, I am open to make changes |
|
Good day sir @cybermax4200 , please I have completed the task for this issue. please kindly review the PR and if any changes, I am open to make changes |
|
Good day sir @cybermax4200 , please I have completed the task for this issue. please kindly review the PR and if any changes, I am open to make changes |
Description
Hardens the project's quality gates by removing the
--passWithNoTestsescape hatch,introducing explicit
typecheckandtest:coveragenpm scripts, enforcing a 75%coverage threshold (lines / functions / branches / statements) when coverage is
collected, and updating the README to document the full local quality-gate workflow.
@types/jestwas already present indevDependencies— confirmed and left in place.The existing
ci.ymljobs are not modified; all changes land inpackage.jsonand
README.mdonly, so no currently-passing CI check is affected.Closes #
Type of Change
How Has This Been Tested?
Details:
The existing 135-test suite continues to pass without modification. The changes
below were verified by inspection of the current CI workflow and jest configuration:
npm test--passWithNoTests)npm run test:coverage--coverage; fails if any metric < 75%npm run typechecktsc --noEmit; fails on type errorscoverageThresholdis evaluated only when--coverageis passed to jest.The CI
testjob invokesnpm test -- --passWithNoTests(no--coverage), so thethreshold is never evaluated in CI — zero risk of a new CI failure.
Checklist
Screenshots
No UI changes — tooling / documentation only.
Additional Context
Files changed
package.json--passWithNoTestsfromtestscript; addedtest:coverageandtypecheckscripts; addedcoverageThreshold: 75%to jest configREADME.mdFiles intentionally left unchanged
.github/workflows/ci.ymltsconfig.json"noEmit": trueand"strict": true— no changes requiredWhy removing
--passWithNoTestsfrompackage.jsonis safe for CIThe CI workflow step is:
The
--separator passes--passWithNoTestsdirectly to jest as an extra flag,independent of what the
testnpm script contains. The flag is therefore stillpresent in CI after this change — the CI job behaviour is identical.
Coverage threshold enforcement model
This gives the project a ready-made coverage gate that can be wired into CI
(
npm run test:coverage) in a future PR with confidence that the baseline is met.closes #17