Skip to content

ci: make CI EBADENGINE-free (Node 20-only jobs, codecov v5)#43

Merged
pchuri merged 3 commits into
mainfrom
chore/ci-warnings-cleanup
Jun 18, 2026
Merged

ci: make CI EBADENGINE-free (Node 20-only jobs, codecov v5)#43
pchuri merged 3 commits into
mainfrom
chore/ci-warnings-cleanup

Conversation

@pchuri

@pchuri pchuri commented Jun 18, 2026

Copy link
Copy Markdown
Owner

Drives the CI logs down to zero install/engine warnings. CI was already green; this is warning cleanup.

Root cause

The overrides-pinned npm@11.6.2 (and its @npmcli/*/@isaacs/* sub-deps) requires Node ^20.17 || >=22.9. Every job running on Node 16/18 therefore flooded npm ci with npm warn EBADENGINE. Node 16 (EOL 2023-09) and Node 18 (EOL 2025-04) are both past end-of-life.

Changes

  • All jobs now run on Node 20security and commitlint bumped from 18 → 20; test matrix reduced to [20.x] (was [16.x, 18.x, 20.x]). Eliminates EBADENGINE across every job.
  • codecov/codecov-action@v3@v5 (clears its Node 20 action-runtime deprecation; renamed input filefiles; moved the upload to the 20.x job).

Verified

  • EBADENGINE: 0 across all jobs (lint, test, security, commitlint).
  • All checks green.

Not actionable here (left as-is)

  • actions/github-script Node 20 deprecation — emitted from inside codecov-action@v5 (already latest); needs a Codecov upstream fix.
  • Node-internal DEP0040 punycode / DEP0169 url.parse — from transitive dependencies, not our code.
  • engines stays >=14.0.0; CI now only exercises Node 20, so tightening the supported range is a separate support-policy decision.

🤖 Generated with Claude Code

pchuri and others added 3 commits June 18, 2026 17:50
Two remaining CI log warnings:
- `codecov/codecov-action@v3` targets the deprecated Node 20 action
  runtime. Bump to v5 (and rename the now-`files` input).
- Installing devDependencies (commitlint@18, eslint@9, both Node 18+) on
  the Node 16 matrix entry emitted `npm warn EBADENGINE`. Node 16 is EOL
  (2023-09), so drop it; the matrix now covers 18.x and 20.x.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
These tooling jobs ran on Node 18, where the npm@11.6.2 override (needs
Node ^20.17 || >=22.9) floods install with EBADENGINE warnings. They are
environment-independent, so move them to Node 20. Only the test matrix's
18.x entry still emits EBADENGINE now.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Node 18 reached EOL on 2025-04-30 and was the last job emitting
EBADENGINE (npm@11.6.2 override requires Node 20+). Test only on 20.x and
move the Codecov upload to the 20.x job. CI is now EBADENGINE-free.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@pchuri pchuri changed the title ci: drop EOL Node 16 from test matrix and bump codecov-action to v5 ci: make CI EBADENGINE-free (Node 20-only jobs, codecov v5) Jun 18, 2026
@pchuri pchuri merged commit 8b10eb7 into main Jun 18, 2026
4 checks passed
@pchuri pchuri deleted the chore/ci-warnings-cleanup branch June 18, 2026 08:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant