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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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