Skip to content

Node.js 20 is deprecated warning in GitHub Actions workflows #280

Description

@piyushsinghgaur1

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.yamlactions/checkout@v4, actions/setup-node@v4
  • .github/workflows/release.yamlactions/checkout@v4, actions/setup-node@v4
  • .github/workflows/sync-docs.yamlactions/checkout@v4 (x2)
  • .github/workflows/trivy.yamlactions/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:

  1. Open any recent workflow run in the Actions tab (for example a CI or Trivy Scan run).
  2. Look at the run summary / annotations section.
  3. 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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions