v1.1.0 target
NOIP has no CI pipeline in v1.0.0. Add a GitHub Actions workflow that enforces the full validation gate on every PR and push to main.
Scope:
.github/workflows/ci.yml — triggered on push/PR to main
- Jobs:
typecheck → lint → test (with coverage gate) → build
- Matrix: Node 22 LTS
- Cache:
npm ci with node_modules cache
- Services: MongoDB and Redis containers for integration tests
Workflow gates (must all pass):
tsc --noEmit # 0 errors
eslint . --ext .ts # 0 errors
jest --coverage # 0 failures, ≥80% coverage (v1.1.0 threshold)
tsc # build exits 0
Acceptance criteria:
- PR badge shows CI status in README
- Merges to main blocked if any gate fails
- Pipeline runs in < 5 minutes on a standard GitHub runner
Context: v1.0.0 release notes list this as the first v1.1.0 target. Validation commands are already defined in package.json scripts.
v1.1.0 target
NOIP has no CI pipeline in v1.0.0. Add a GitHub Actions workflow that enforces the full validation gate on every PR and push to main.
Scope:
.github/workflows/ci.yml— triggered on push/PR tomaintypecheck→lint→test(with coverage gate) →buildnpm ciwith node_modules cacheWorkflow gates (must all pass):
Acceptance criteria:
Context: v1.0.0 release notes list this as the first v1.1.0 target. Validation commands are already defined in
package.jsonscripts.