Describe the bug
GitHub Actions runs in this repository emit the deprecation annotation:
Node.js 20 is deprecated. Please update your workflows to use a version of Node.js that is currently supported.
The workflows in .github/workflows/ still pin actions/checkout@v4 and actions/setup-node@v4. Both of those majors declare using: node20 in their action.yml, so every job that uses them runs the action code on the deprecated Node 20 runtime and GitHub flags the run.
Affected workflows:
.github/workflows/main.yaml — actions/checkout@v4, actions/setup-node@v4
.github/workflows/release.yaml — actions/checkout@v4, actions/setup-node@v4
.github/workflows/sync-docs.yaml — actions/checkout@v4 (x2)
.github/workflows/trivy.yaml — actions/checkout@v4
Separately, release.yaml still sets up node-version: '22' for the publish job, while package.json declares engines.node: "22 || 24" and CI already tests on both. The release job should publish on the newest supported major.
To Reproduce
Steps to reproduce the behavior:
- Open any recent workflow run in the Actions tab (for example a
CI or Trivy Scan run).
- Look at the run summary / annotations section.
- See the "Node.js 20 is deprecated" warning.
Expected behavior
Workflow runs complete without any Node runtime deprecation annotations. All first-party actions/* pins should be on a major whose action.yml declares using: node24.
Additional context
Required fix:
- Bump
actions/checkout from v4 to v5 (using: node24) in all four workflows.
- Bump
actions/setup-node from v4 to v5 (using: node24) in main.yaml and release.yaml.
- Bump the
release.yaml node-version from '22' to '24'.
Deliberately out of scope:
- The
main.yaml test matrix is already ['22', '24'] and should stay as-is — dropping 22 would reduce the support matrix that engines.node promises.
aquasecurity/trivy-action is SHA-pinned for supply-chain reasons and is a third-party action; its pin should not be touched as part of this change.
This mirrors the same fix applied in sourcefuse/loopback4-microservice-catalog (issue #2601 / PR #2602).
Describe the bug
GitHub Actions runs in this repository emit the deprecation annotation:
The workflows in
.github/workflows/still pinactions/checkout@v4andactions/setup-node@v4. Both of those majors declareusing: node20in theiraction.yml, so every job that uses them runs the action code on the deprecated Node 20 runtime and GitHub flags the run.Affected workflows:
.github/workflows/main.yaml—actions/checkout@v4,actions/setup-node@v4.github/workflows/release.yaml—actions/checkout@v4,actions/setup-node@v4.github/workflows/sync-docs.yaml—actions/checkout@v4(x2).github/workflows/trivy.yaml—actions/checkout@v4Separately,
release.yamlstill sets upnode-version: '22'for the publish job, whilepackage.jsondeclaresengines.node: "22 || 24"and CI already tests on both. The release job should publish on the newest supported major.To Reproduce
Steps to reproduce the behavior:
CIorTrivy Scanrun).Expected behavior
Workflow runs complete without any Node runtime deprecation annotations. All first-party
actions/*pins should be on a major whoseaction.ymldeclaresusing: node24.Additional context
Required fix:
actions/checkoutfromv4tov5(using: node24) in all four workflows.actions/setup-nodefromv4tov5(using: node24) inmain.yamlandrelease.yaml.release.yamlnode-versionfrom'22'to'24'.Deliberately out of scope:
main.yamltest matrix is already['22', '24']and should stay as-is — dropping 22 would reduce the support matrix thatengines.nodepromises.aquasecurity/trivy-actionis SHA-pinned for supply-chain reasons and is a third-party action; its pin should not be touched as part of this change.This mirrors the same fix applied in
sourcefuse/loopback4-microservice-catalog(issue #2601 / PR #2602).