Skip to content

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

Description

@piyushsinghgaur1

Describe the bug

GitHub Actions runs in this repository are annotated with:

Node.js 20 is deprecated. Please update to a supported Node.js version. For more information see: https://github.blog/changelog/2025-09-19-github-actions-transitioning-from-node-20-to-node-24/

The workflows in .github/workflows/ pin actions/checkout@v4 and actions/setup-node@v4. Both of those majors declare using: node20 in their action.yml, so the runner executes them on the deprecated Node 20 runtime and emits the deprecation annotation on every run. actions/checkout@v5 and actions/setup-node@v5 declare using: node24.

Separately, release.yaml still sets up Node '22' for the npm publish job, while the CI matrix in main.yaml already covers Node 22 and 24. The release job should build and publish on the current LTS (24).

To Reproduce

Steps to reproduce the behavior:

  1. Open any recent workflow run for this repository (e.g. the CI or Trivy Scan workflow).
  2. Look at the run summary / annotations section.
  3. See the "Node.js 20 is deprecated" warning.

Expected behavior

No Node.js runtime deprecation annotations on workflow runs. All first-party actions/* steps should run on a node24 action runtime, and the release job should use Node 24.

Additional context

Fix needed:

  • Bump actions/checkout@v4 -> @v5 in main.yaml, release.yaml, sync-docs.yaml (x2) and trivy.yaml.
  • Bump actions/setup-node@v4 -> @v5 in main.yaml and release.yaml.
  • Set node-version: '22' -> '24' in release.yaml.
  • Leave the CI matrix node-version: [22, 24] in main.yaml as-is; it already covers Node 24 and dropping 22 would reduce test coverage.
  • Leave the SHA-pinned aquasecurity/trivy-action@57a97c7... alone; it is a deliberate third-party SHA pin and is not the source of this annotation.

Reference: https://github.blog/changelog/2025-09-19-github-actions-transitioning-from-node-20-to-node-24/

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