github-action icon indicating copy to clipboard operation
github-action copied to clipboard

Update action to run under Node.js 24

Open MikeMcC399 opened this issue 4 months ago • 5 comments

What would you like?

Update the action, and examples, to run under Node.js 24, when:

  • [x] Node.js 24 has entered Active LTS status
  • [x] node24 is a documented option for runs.using for JavaScript actions
  • [x] GitHub Actions has migrated to a Node.js 24 LTS version >=24.11.0 in https://github.com/actions/runner/blob/main/src/Misc/externals.sh
  • [x] Cypress Docker images are available for Node.js 24 LTS - done through PR https://github.com/cypress-io/github-action/pull/1560
  • [ ] required GitHub Actions are available in a node24 major version

Why is this needed?

The node20 option for GitHub JavaScript Actions is tied to Node.js 20 that is planned for End-of-life on Apr 30, 2026. It currently has the status of "Maintenance LTS".

GitHub has deprecated the use of node20 and will force runners to use node24 beginning on Mar 4, 2026 - see Deprecation of Node 20 on GitHub Actions runners.

Other

GitHub Actions is not planning to support a node22 option, and this version is being skipped.

MikeMcC399 avatar Aug 14 '25 17:08 MikeMcC399

https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/ has now announced:

Node20 will reach end-of-life (EOL) in April of 2026. As a result we have started the deprecation process of Node20 for GitHub Actions. We plan to migrate all actions to run on Node24 in the fall of 2025.

MikeMcC399 avatar Sep 21 '25 11:09 MikeMcC399

@MikeMcC399 Cypress 15 dropped support for Node 20. So could it be a problem to use Cypress 15 with cypress-io/github-action? Maybe it works?

wesleybl avatar Oct 24 '25 15:10 wesleybl

@wesleybl

Cypress 15 dropped support for Node 20. So could it be a problem to use Cypress 15 with cypress-io/github-action? Maybe it works?

If you are having a problem to run Cypress 15 using cypress-io/github-action, then please open a separate issue. Cypress 15 supports

  "engines": {
    "node": "^20.1.0 || ^22.0.0 || >=24.0.0"
  }

[email protected] changelog says only:

Removed support for Node.js 18 and Node.js 23.

There is no mention of dropping support for Node.js 20.

If you check the examples in this repo, they are all using [email protected].

MikeMcC399 avatar Oct 24 '25 15:10 MikeMcC399

@MikeMcC399 I checked here:

https://github.com/cypress-io/cypress/blob/5f756c4c1cb33a18f71cd9b69c81e64fb3bc41ba/package.json#L221

wesleybl avatar Oct 24 '25 15:10 wesleybl

@wesleybl

@MikeMcC399 I checked here:

https://github.com/cypress-io/cypress/blob/5f756c4c1cb33a18f71cd9b69c81e64fb3bc41ba/package.json#L221

That is the wrong place to check and only applies if you are building Cypress from source. This would only apply if you are contributing to enhancements or fixing bugs in Cypress.

Please read the documentation https://docs.cypress.io/app/get-started/install-cypress#System-requirements

Image

MikeMcC399 avatar Oct 24 '25 15:10 MikeMcC399