Provide `allow-prereleases` option for Node.js 27 Alpha

Open
#1,657 2 comments 1 reaction 0 assignees View on GitHub

Maintainers usually reply within 3 days

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
62/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
github-actions, node.js, typescript
Domain
ci-cd, devops

Research direction

Read the version input handling and Node.js version resolution entry points, then compare how actions/setup-python handles allow-prereleases, as linked in the issue. Check the existing tests for version selection and add coverage for the default false behavior and enabling prerelease resolution. Done when node-version: 27 selects the available alpha only with the option enabled.

Written by the indexing model from the issue text.

Description

feature request

Description:

Add an option allow-prereleases, like in actions/setup-python, so that Node.js 27 Alpha can be selected simply using:

    - uses: actions/setup-node@v7
      with:
        node-version: 27
        allow-prereleases: true

allow-prereleases should default to false.

Justification:

Evolving the Node.js Release Schedule explains how Node.js has introduced a 6 month Alpha phase for new Node.js release lines. This is important for pre-testing and it replaces the previous system of odd- and even-numbered releases, where only the even-numbered release lines were promoted to LTS (Long Term Support).

For ongoing CI testing during the 6 month Alpha phase, GitHub Actions workflows need to be able to specify a generic version of Node.js 27 without having to update a workflow every time there is a new Alpha release (probably every 2 weeks):

None of the following are currently recognized:

  • 27
  • 27.0.0
  • 27.0.0-alpha

only the explicit 27.0.0-alpha.0.0.0 is working:

    - uses: actions/setup-node@v7
        with:
        node-version: 27.0.0-alpha.0.0.0

Are you willing to submit a PR?

No, I won't be able to do this.

Workaround

Specify the exact Node.js Alpha version or latest:

    - uses: actions/setup-node@v7
        with:
        node-version: 27.0.0-alpha.0.0.0
    - uses: actions/setup-node@v7
        with:
        node-version: latest

Logs

Run actions/setup-node@v7
Attempting to download 27.0.0-alpha.0.0.0...
Not found in manifest. Falling back to download directly from Node
Acquiring 27.0.0-alpha.0.0.0 - x64 from https://nodejs.org/dist/v27.0.0-alpha.0.0.0/node-v27.0.0-alpha.0.0.0-linux-x64.tar.gz
Extracting ...
/usr/bin/tar xz --strip 1 --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/c05d6fa5-ba28-44d7-91cc-40190b158d8f -f /home/runner/work/_temp/92c81dc9-5787-4156-bc71-a2b3900392cf
Adding to the cache ...
Done
Environment details
  node: v27.0.0-alpha.0.0.0
  npm: 12.1.0
  yarn: 1.22.22
Dominant language
TypeScript
Stars
5k
Forks
1.7k
Avg merge
2d 4h
Merged PRs (30d)
1

Getting set up

  • No Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from actions/setup-node

All issues in actions/setup-node

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.