ci: remove Node.js 16 from CI matrix (EOL Sep 2023)
- Dominant language
- Shell
- Stars
- 0
- Forks
- 1
- Avg merge
- 12h 40m
- Merged PRs (30d)
- 2
Description
## Summary
The `node.js.yml` `build` job currently runs a matrix across Node.js `[16, 20]`. Node.js 16 reached end-of-life in **September 2023** and should be removed.
The `lint` and `test` jobs already use `[20]` only — this only affects `build`.
## Change
**File:** `.github/workflows/node.js.yml`
```yaml
# Before
strategy:
matrix:
node-version: [16, 20]
# After
strategy:
matrix:
node-version: [20]
```
## Scope
`node.js.yml` is explicitly excluded from the `sync-workflows.yml` sync (to preserve per-repo benchmark customisations). After merging the canonical change here, all 35 downstream `frmscoe/rule-*` repos must be updated individually via script (see implementation plan in the comments).
## Acceptance Criteria
- [ ] `frmscoe/workflows` canonical `node.js.yml` has `node-version: [20]` only in the `build` job
- [ ] All active `frmscoe` rule repos (rule-001 through rule-091) have `node-version: [20]` only in `node.js.yml`
## Related
- Parallel track: [tazama-lf/workflows#23](https://github.com/tazama-lf/workflows/issues/23) (Track A — additional changes for tazama-lf service repos)
Contributor guide
Assessment
This issue has not been assessed yet.