Skip to content

Node.js 20 is deprecated in GitHub Actions release workflow #27

Description

@piyushsinghgaur1

Describe the bug

Every GitHub Actions run in this repository is annotated with a Node.js runtime deprecation warning:

Node.js 20 actions are deprecated. Please update the following actions to use Node.js 24 instead: actions/checkout@v3, actions/setup-node@v3.

There is a single workflow in this repo, .github/workflows/release.yaml (Release [Manual]), and it is affected in two ways:

  1. It pins actions/checkout@v3 and actions/setup-node@v3. Both of those majors declare using: node20 in their action.yml, and the node20 runtime is deprecated on GitHub-hosted runners.
  2. It provisions Node 20 for the job itself (node-version: '20.x'). Node 20 is now end-of-life, so the release build runs on an unsupported Node.

To Reproduce

  1. Open the Actions tab of sourcefuse/loopback4-dynamic-datasource.
  2. Run (or open a recent run of) the Release [Manual] workflow.
  3. Look at the run summary / annotations section.
  4. See the Node.js 20 deprecation warning.

Expected behavior

The workflow completes with no Node.js runtime deprecation annotations, using action majors on the Node 24 runtime and a supported Node version.

Fix needed, in .github/workflows/release.yaml:

  • Bump actions/checkout from v3 to v5 (declares using: node24).
  • Bump actions/setup-node from v3 to v5 (declares using: 'node24').
  • Change node-version from '20.x' to '24.x'.

Additional context

  • Affected file: .github/workflows/release.yaml — the only workflow in this repository. There are no other actions/* pins and no SHA-pinned third-party actions to consider.
  • Once GitHub finishes the node20 to node24 transition, affected actions are force-migrated and may fail rather than warn, so this should land before the next release.
  • This mirrors the same fix applied in sourcefuse/loopback4-microservice-catalog (issue #2601 / PR #2602).
  • Note: package.json declares "engines": {"node": ">=20"}. That is satisfied by Node 24 so it does not block this change, but tightening it is tracked separately (see Does not support latest version of nodejs #21).

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