Skip to content

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

Open
piyushsinghgaur1 wants to merge 3 commits into
masterfrom
GH-305
Open

fix(ci-cd): bump github actions to node 24 runtimes#306
piyushsinghgaur1 wants to merge 3 commits into
masterfrom
GH-305

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.yaml actions/checkout@v4 actions/checkout@v5
.github/workflows/release.yaml actions/setup-node@v4 actions/setup-node@v5
.github/workflows/stale.yml actions/stale@v1 actions/stale@v11
.github/workflows/sync-docs.yaml actions/checkout@v4 actions/checkout@v5
.github/workflows/sync-docs.yaml actions/checkout@v4 actions/checkout@v5
.github/workflows/trivy.yaml actions/checkout@v4 actions/checkout@v5

Node versions

File Was Now
.github/workflows/release.yaml '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 #305

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: 5 file(s) — 5 files changed, 9 insertions(+), 9 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

Clears the "Node.js 20 is deprecated" GitHub Actions annotation by moving
every first-party actions/* pin onto a major that declares using: node24.

- actions/checkout v4 -> v5 in main.yaml, release.yaml, sync-docs.yaml (x2)
  and trivy.yaml
- actions/setup-node v4 -> v5 in main.yaml and release.yaml
- actions/stale v1 -> v11 in stale.yml; all inputs in use are still supported
- release.yaml node-version '22' -> '24'
- dropped the now-inaccurate "UPDATED to v4" comment in release.yaml
- left the main.yaml test matrix at [22, 24] so Node 22 coverage is kept
- left the SHA-pinned aquasecurity/trivy-action untouched

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

GH-305
Regenerate the lockfile so nested @types/node entries required by
@loopback/build are present. npm ci rejected the previous lock as out
of sync with package.json. Verified with npm ci under npm 10 and 11.

GH-305
@sonarqubecloud

Copy link
Copy Markdown

@piyushsinghgaur1
piyushsinghgaur1 marked this pull request as ready for review August 18, 2026 10:03
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 deprecation: GitHub Actions pins need Node.js 24 runtimes

2 participants