Skip to content

fix(ci-cd): bump github actions to node 24 runtimes - #25

Merged
a-ganguly merged 3 commits into
masterfrom
GH-24
Aug 19, 2026
Merged

fix(ci-cd): bump github actions to node 24 runtimes#25
a-ganguly merged 3 commits into
masterfrom
GH-24

Conversation

@piyushsinghgaur1

Copy link
Copy Markdown
Contributor

Description

The workflows in this repo emit a Node.js 20 deprecation warning on every run:

Node.js 20 is deprecated. The following actions target Node.js 20 but are being
forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4

GitHub has removed Node 20 from its runners and force-runs Node 20 actions on Node 24. Builds still succeed, but the annotation appears on every run and becomes a hard failure once the compatibility shim is dropped.

This moves every affected first-party action onto a major that declares using: node24, and raises any node-version still below 24.

Action pins

File Was Now
.github/workflows/main.yaml actions/checkout@v4 actions/checkout@v5
.github/workflows/main.yaml actions/setup-node@v4 actions/setup-node@v5
.github/workflows/release.yml actions/checkout@v4 actions/checkout@v5
.github/workflows/release.yml actions/setup-node@v4 actions/setup-node@v5
.github/workflows/trivy.yml actions/checkout@v4 actions/checkout@v5

Node versions

File Was Now
.github/workflows/main.yaml '22.x' '24.x'
.github/workflows/release.yml '22' '24'

Each target major was verified to declare using: node24 by reading its action.yml at the pinned tag.

Deliberately unchanged

  • Multi-version test matrices that already include Node 24 are left as-is — collapsing them would drop Node 22 coverage rather than fix a deprecation.
  • SHA-pinned third-party actions (e.g. aquasecurity/trivy-action@<sha>) are untouched; SHA pinning is correct practice and unrelated to the Node runtime.

Fixes #24

Type of change

  • Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

  • All changed workflow files validated as parseable YAML
  • Each target action major confirmed to declare using: node24 in its action.yml
  • Bumps confirmed drop-in for the inputs actually used (no input renames or removals across these majors)
  • Local pre-commit hook (test + lint) run as part of committing

Scope of this change: 3 file(s) — 3 files changed, 7 insertions(+), 7 deletions(-). CI configuration only; no application source touched.

The warning can be confirmed gone by running a workflow and checking the run summary's Annotations section.

Checklist:

  • Performed a self-review of my own code
  • npm test passes on your machine
  • New tests added or existing tests modified to cover all changes — n/a, CI configuration only, no code paths changed
  • Code conforms with the style guide
  • API Documentation in code was updated — n/a
  • Any dependent changes have been merged and published in downstream modules

- bump actions/checkout from v4 to v5 in main.yaml, release.yml and trivy.yml
- bump actions/setup-node from v4 to v5 in main.yaml and release.yml
- set node-version from '22.x' to '24.x' in main.yaml
- set node-version from '22' to '24' in release.yml
- drop the stale "UPDATED to v4" comment on the setup-node step in release.yml
- leave the SHA-pinned aquasecurity/trivy-action in trivy.yml unchanged

actions/checkout@v4 and actions/setup-node@v4 declare using: node20, which
triggers the "Node.js 20 is deprecated" annotation on every workflow run. The v5
majors of both declare using: node24. Node 24 is already a supported runtime per
the "22 || 24" engines range in package.json.

GH-24
Regenerate package-lock.json from scratch and apply npm audit fix to clear
vulnerabilities reported by the Trivy scan.

GH-24
Pass --ignore-scripts before the package name and pin the exact
semantic-release version, so the release workflow no longer trips
SonarCloud rules githubactions:S6505 and githubactions:S8543.

GH-24
@sonarqubecloud

Copy link
Copy Markdown

npm config set provenance true

HUSKY=0 npx semantic-release
HUSKY=0 npx --ignore-scripts semantic-release@25.0.9
npm config set provenance true

HUSKY=0 npx semantic-release
HUSKY=0 npx --ignore-scripts semantic-release@25.0.9
@piyushsinghgaur1
piyushsinghgaur1 marked this pull request as ready for review August 18, 2026 08:51
@a-ganguly
a-ganguly merged commit b08c24c into master Aug 19, 2026
4 checks passed
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.

Node.js 20 is deprecated in GitHub Actions workflows

3 participants