Problem
The only GitHub Actions workflow in this repo is .github/workflows/npm-publish.yml, which triggers on tag pushes (v*) for releasing to npm. There is no PR-validation workflow — npm run lint, npm run build, and npm run test are never run by CI.
Consequences:
Proposed workflow
.github/workflows/ci.yml:
name: CIon:
pull_request:
push:
branches: [main]jobs:
test:
runs-on: ubuntu-lateststrategy:
matrix:
node-version: [18, 20, 22]steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4with: { node-version: ${{ matrix.node-version }} }
- run: npm ci
- run: npm run lint
- run: npm run build
- run: npm run testWhy three Node versions
- 18 — minimum supported per
package.json engines - 20 — current LTS
- 22 — current active
This catches Node-version-specific fetch/http behavior (the kind of thing PR #35#12 ran into) before merge.
Acceptance
Notes
This is one-file, additive, no code changes. Could fit under Wave 6 (polish / one-offs) in the roadmap alongside #14 and #2 — or land standalone whenever convenient.
Problem
The only GitHub Actions workflow in this repo is
.github/workflows/npm-publish.yml, which triggers on tag pushes (v*) for releasing to npm. There is no PR-validation workflow —npm run lint,npm run build, andnpm run testare never run by CI.Consequences:
mainis only caught when someone next runs the suite locally or when a release goes out broken.Proposed workflow
.github/workflows/ci.yml:Why three Node versions
package.jsonenginesThis catches Node-version-specific fetch/http behavior (the kind of thing PR #35#12 ran into) before merge.
Acceptance
ci.ymlworkflow file addedpull_requestandpushtomainNotes
This is one-file, additive, no code changes. Could fit under Wave 6 (polish / one-offs) in the roadmap alongside #14 and #2 — or land standalone whenever convenient.