mirror of
				https://github.com/actions/setup-node.git
				synced 2025-11-04 19:38:22 +08:00 
			
		
		
		
	Upgrade action to use node24 (#1325)
* Change Node.js version to 24 Update Node.js version from 20 to 24 in action.yml * update and vulnerability fixes * update node version check * update licences * node version check update * update version for test * node version * update node version to 24.0.0 in tool-versions and package-volta.json * node 24 * update to 24 * update to specify engines * check failures fix * update package-lock.json * licensed update * check failure fix * documentation update --------- Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com>
This commit is contained in:
		
							
								
								
									
										2
									
								
								.github/workflows/basic-validation.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/basic-validation.yml
									
									
									
									
										vendored
									
									
								
							@@ -16,4 +16,4 @@ jobs:
 | 
			
		||||
    name: Basic validation
 | 
			
		||||
    uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main
 | 
			
		||||
    with:
 | 
			
		||||
      node-version: '20.x'
 | 
			
		||||
      node-version: '24.x'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										18
									
								
								.github/workflows/e2e-cache.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								.github/workflows/e2e-cache.yml
									
									
									
									
										vendored
									
									
								
							@@ -19,7 +19,7 @@ jobs:
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
      matrix:
 | 
			
		||||
        os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
 | 
			
		||||
        node-version: [18, 20, 22]
 | 
			
		||||
        node-version: [18, 20, 22, 24]
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - name: Clean global cache
 | 
			
		||||
@@ -42,7 +42,7 @@ jobs:
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
      matrix:
 | 
			
		||||
        os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
 | 
			
		||||
        node-version: [18, 20, 22]
 | 
			
		||||
        node-version: [18, 20, 22, 24]
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - name: Install pnpm
 | 
			
		||||
@@ -75,13 +75,13 @@ jobs:
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
      matrix:
 | 
			
		||||
        os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
 | 
			
		||||
        node-version: [18, 20]
 | 
			
		||||
        node-version: [18, 20, 24]
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - name: Yarn version
 | 
			
		||||
        run: yarn --version
 | 
			
		||||
      - name: Generate yarn file
 | 
			
		||||
        run: yarn install
 | 
			
		||||
        run: yarn install --ignore-engines
 | 
			
		||||
      - name: Remove dependencies
 | 
			
		||||
        shell: pwsh
 | 
			
		||||
        run: Remove-Item node_modules -Force -Recurse
 | 
			
		||||
@@ -107,7 +107,7 @@ jobs:
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
      matrix:
 | 
			
		||||
        os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
 | 
			
		||||
        node-version: [18, 20, 22]
 | 
			
		||||
        node-version: [18, 20, 22, 24]
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - name: Update yarn
 | 
			
		||||
@@ -139,7 +139,7 @@ jobs:
 | 
			
		||||
    name: Test yarn subprojects
 | 
			
		||||
    strategy:
 | 
			
		||||
      matrix:
 | 
			
		||||
        node-version: [18, 20, 22]
 | 
			
		||||
        node-version: [18, 20, 22, 24]
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
@@ -166,7 +166,7 @@ jobs:
 | 
			
		||||
    name: Test yarn subprojects all locally managed
 | 
			
		||||
    strategy:
 | 
			
		||||
      matrix:
 | 
			
		||||
        node-version: [18, 20, 22]
 | 
			
		||||
        node-version: [18, 20, 22, 24]
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
@@ -193,7 +193,7 @@ jobs:
 | 
			
		||||
    name: Test yarn subprojects some locally managed
 | 
			
		||||
    strategy:
 | 
			
		||||
      matrix:
 | 
			
		||||
        node-version: [18, 20, 22]
 | 
			
		||||
        node-version: [18, 20, 22, 24]
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
@@ -220,7 +220,7 @@ jobs:
 | 
			
		||||
    name: Test yarn subprojects managed by git
 | 
			
		||||
    strategy:
 | 
			
		||||
      matrix:
 | 
			
		||||
        node-version: [18, 20, 22]
 | 
			
		||||
        node-version: [18, 20, 22, 24]
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								.github/workflows/versions.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.github/workflows/versions.yml
									
									
									
									
										vendored
									
									
								
							@@ -18,7 +18,7 @@ jobs:
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
      matrix:
 | 
			
		||||
        os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
 | 
			
		||||
        node-version: [18, 20, 22]
 | 
			
		||||
        node-version: [18, 20, 22, 24]
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - name: Setup Node
 | 
			
		||||
@@ -139,7 +139,7 @@ jobs:
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
      matrix:
 | 
			
		||||
        os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
 | 
			
		||||
        node-version: [18, 20, 22]
 | 
			
		||||
        node-version: [18, 20, 22, 24]
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - name: Setup Node and check latest
 | 
			
		||||
@@ -166,7 +166,7 @@ jobs:
 | 
			
		||||
        with:
 | 
			
		||||
          node-version-file: '__tests__/data/${{ matrix.node-version-file }}'
 | 
			
		||||
      - name: Verify node
 | 
			
		||||
        run: __tests__/verify-node.sh 20
 | 
			
		||||
        run: __tests__/verify-node.sh 24
 | 
			
		||||
 | 
			
		||||
  version-file-volta:
 | 
			
		||||
    runs-on: ${{ matrix.os }}
 | 
			
		||||
@@ -181,7 +181,7 @@ jobs:
 | 
			
		||||
        with:
 | 
			
		||||
          node-version-file: '__tests__/data/package-volta.json'
 | 
			
		||||
      - name: Verify node
 | 
			
		||||
        run: __tests__/verify-node.sh 20
 | 
			
		||||
        run: __tests__/verify-node.sh 24
 | 
			
		||||
 | 
			
		||||
  version-file-volta-extends:
 | 
			
		||||
    runs-on: ${{ matrix.os }}
 | 
			
		||||
@@ -196,7 +196,7 @@ jobs:
 | 
			
		||||
        with:
 | 
			
		||||
          node-version-file: '__tests__/data/package-volta-extends.json'
 | 
			
		||||
      - name: Verify node
 | 
			
		||||
        run: __tests__/verify-node.sh 20
 | 
			
		||||
        run: __tests__/verify-node.sh 24
 | 
			
		||||
 | 
			
		||||
  node-dist:
 | 
			
		||||
    runs-on: ${{ matrix.os }}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								.licenses/npm/@types/node.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@types/node.dep.yml
									
									
									
										generated
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
---
 | 
			
		||||
name: "@types/node"
 | 
			
		||||
version: 20.11.25
 | 
			
		||||
version: 24.1.0
 | 
			
		||||
type: npm
 | 
			
		||||
summary: TypeScript definitions for node
 | 
			
		||||
homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								.licenses/npm/undici-types.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										6
									
								
								.licenses/npm/undici-types.dep.yml
									
									
									
										generated
									
									
									
								
							@@ -1,15 +1,17 @@
 | 
			
		||||
---
 | 
			
		||||
name: undici-types
 | 
			
		||||
version: 5.26.5
 | 
			
		||||
version: 7.8.0
 | 
			
		||||
type: npm
 | 
			
		||||
summary: A stand-alone types package for Undici
 | 
			
		||||
homepage: https://undici.nodejs.org
 | 
			
		||||
license: mit
 | 
			
		||||
licenses:
 | 
			
		||||
- sources: Auto-generated MIT license text
 | 
			
		||||
- sources: LICENSE
 | 
			
		||||
  text: |
 | 
			
		||||
    MIT License
 | 
			
		||||
 | 
			
		||||
    Copyright (c) Matteo Collina and Undici contributors
 | 
			
		||||
 | 
			
		||||
    Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
    of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
    in the Software without restriction, including without limitation the rights
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								README.md
									
									
									
									
									
								
							@@ -18,7 +18,7 @@ See [action.yml](action.yml)
 | 
			
		||||
 | 
			
		||||
<!-- start usage -->
 | 
			
		||||
```yaml
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    # Version Spec of the version to use in SemVer notation.
 | 
			
		||||
    # It also admits such aliases as lts/*, latest, nightly and canary builds
 | 
			
		||||
@@ -98,8 +98,8 @@ See [action.yml](action.yml)
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
- uses: actions/checkout@v4
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/checkout@v5
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    node-version: 18
 | 
			
		||||
- run: npm ci
 | 
			
		||||
@@ -159,8 +159,8 @@ See the examples of using cache for `yarn`/`pnpm` and `cache-dependency-path` in
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
- uses: actions/checkout@v4
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/checkout@v5
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    node-version: 20
 | 
			
		||||
    cache: 'npm'
 | 
			
		||||
@@ -172,8 +172,8 @@ steps:
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
- uses: actions/checkout@v4
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/checkout@v5
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    node-version: 20
 | 
			
		||||
    cache: 'npm'
 | 
			
		||||
@@ -193,9 +193,9 @@ jobs:
 | 
			
		||||
        node: [ 14, 16, 18 ]
 | 
			
		||||
    name: Node ${{ matrix.node }} sample
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - uses: actions/checkout@v5
 | 
			
		||||
      - name: Setup node
 | 
			
		||||
        uses: actions/setup-node@v4
 | 
			
		||||
        uses: actions/setup-node@v5
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: ${{ matrix.node }}
 | 
			
		||||
      - run: npm ci
 | 
			
		||||
@@ -209,7 +209,7 @@ jobs:
 | 
			
		||||
To get a higher rate limit, you can [generate a personal access token on github.com](https://github.com/settings/tokens/new) and pass it as the `token` input for the action:
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
uses: actions/setup-node@v4
 | 
			
		||||
uses: actions/setup-node@v5
 | 
			
		||||
with:
 | 
			
		||||
  token: ${{ secrets.GH_DOTCOM_TOKEN }}
 | 
			
		||||
  node-version: 20
 | 
			
		||||
 
 | 
			
		||||
@@ -1 +1 @@
 | 
			
		||||
v20
 | 
			
		||||
v24
 | 
			
		||||
 
 | 
			
		||||
@@ -1 +1 @@
 | 
			
		||||
nodejs 20.0.0
 | 
			
		||||
nodejs 24.0.0
 | 
			
		||||
 
 | 
			
		||||
@@ -1 +1 @@
 | 
			
		||||
node 20.0.0
 | 
			
		||||
node 24.0.0
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,6 @@
 | 
			
		||||
    "node": "^14.0.0"
 | 
			
		||||
  },
 | 
			
		||||
  "volta": {
 | 
			
		||||
    "node": "20.0.0"
 | 
			
		||||
    "node": "24.0.0"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
  "engines": {
 | 
			
		||||
    "node": "^20.0.0"
 | 
			
		||||
    "node": "^24.0.0"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -7,8 +7,13 @@ fi
 | 
			
		||||
 | 
			
		||||
node_version="$(node --version)"
 | 
			
		||||
echo "Found node version '$node_version'"
 | 
			
		||||
if [ -z "$(echo $node_version | grep --fixed-strings v$1)" ]; then
 | 
			
		||||
  echo "Unexpected version"
 | 
			
		||||
 | 
			
		||||
# Extract the major version from the node version (remove the 'v' prefix)
 | 
			
		||||
actual_major_version=$(echo $node_version | sed -E 's/^v([0-9]+)\..*/\1/')
 | 
			
		||||
expected_major_version=$(echo $1 | sed -E 's/^([0-9]+)\..*/\1/') # Extract major version from argument
 | 
			
		||||
 | 
			
		||||
if [ "$actual_major_version" != "$expected_major_version" ]; then
 | 
			
		||||
  echo "Expected Node.js $expected_major_version.x.x but found $node_version"
 | 
			
		||||
  exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ outputs:
 | 
			
		||||
  node-version:
 | 
			
		||||
    description: 'The installed node version.'
 | 
			
		||||
runs:
 | 
			
		||||
  using: 'node20'
 | 
			
		||||
  using: 'node24'
 | 
			
		||||
  main: 'dist/setup/index.js'
 | 
			
		||||
  post: 'dist/cache-save/index.js'
 | 
			
		||||
  post-if: success()
 | 
			
		||||
 
 | 
			
		||||
@@ -45,8 +45,8 @@ If `check-latest` is set to `true`, the action first checks if the cached versio
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
- uses: actions/checkout@v4
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/checkout@v5
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    node-version: '16'
 | 
			
		||||
    check-latest: true
 | 
			
		||||
@@ -63,8 +63,8 @@ See [supported version syntax](https://github.com/actions/setup-node#supported-v
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
- uses: actions/checkout@v4
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/checkout@v5
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    node-version-file: '.nvmrc'
 | 
			
		||||
- run: npm ci
 | 
			
		||||
@@ -97,8 +97,8 @@ jobs:
 | 
			
		||||
    runs-on: windows-latest
 | 
			
		||||
    name: Node sample
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - uses: actions/setup-node@v4
 | 
			
		||||
      - uses: actions/checkout@v5
 | 
			
		||||
      - uses: actions/setup-node@v5
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: '14'
 | 
			
		||||
          architecture: 'x64' # optional, x64 or x86. If not specified, x64 will be used by default
 | 
			
		||||
@@ -118,8 +118,8 @@ jobs:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    name: Node sample
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - uses: actions/setup-node@v4
 | 
			
		||||
      - uses: actions/checkout@v5
 | 
			
		||||
      - uses: actions/setup-node@v5
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: '20.0.0-v8-canary' # it will install the latest v8 canary release for node 20.0.0
 | 
			
		||||
      - run: npm ci
 | 
			
		||||
@@ -133,8 +133,8 @@ jobs:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    name: Node sample
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - uses: actions/setup-node@v4
 | 
			
		||||
      - uses: actions/checkout@v5
 | 
			
		||||
      - uses: actions/setup-node@v5
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: '20-v8-canary' # it will install the latest v8 canary release for node 20
 | 
			
		||||
      - run: npm ci
 | 
			
		||||
@@ -149,8 +149,8 @@ jobs:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    name: Node sample
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - uses: actions/setup-node@v4
 | 
			
		||||
      - uses: actions/checkout@v5
 | 
			
		||||
      - uses: actions/setup-node@v5
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: 'v20.1.1-v8-canary20221103f7e2421e91'
 | 
			
		||||
      - run: npm ci
 | 
			
		||||
@@ -169,8 +169,8 @@ jobs:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    name: Node sample
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - uses: actions/setup-node@v4
 | 
			
		||||
      - uses: actions/checkout@v5
 | 
			
		||||
      - uses: actions/setup-node@v5
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: '16-nightly' # it will install the latest nightly release for node 16
 | 
			
		||||
      - run: npm ci
 | 
			
		||||
@@ -185,8 +185,8 @@ jobs:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    name: Node sample
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - uses: actions/setup-node@v4
 | 
			
		||||
      - uses: actions/checkout@v5
 | 
			
		||||
      - uses: actions/setup-node@v5
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: '16.0.0-nightly' # it will install the latest nightly release for node 16.0.0
 | 
			
		||||
      - run: npm ci
 | 
			
		||||
@@ -201,8 +201,8 @@ jobs:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    name: Node sample
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - uses: actions/setup-node@v4
 | 
			
		||||
      - uses: actions/checkout@v5
 | 
			
		||||
      - uses: actions/setup-node@v5
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: '16.0.0-nightly20210420a0261d231c'
 | 
			
		||||
      - run: npm ci
 | 
			
		||||
@@ -219,8 +219,8 @@ jobs:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    name: Node sample
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - uses: actions/setup-node@v4
 | 
			
		||||
      - uses: actions/checkout@v5
 | 
			
		||||
      - uses: actions/setup-node@v5
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: '16.0.0-rc.1'
 | 
			
		||||
      - run: npm ci
 | 
			
		||||
@@ -236,8 +236,8 @@ The action follows [actions/cache](https://github.com/actions/cache/blob/main/ex
 | 
			
		||||
Yarn caching handles both yarn versions: 1 or 2.
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
- uses: actions/checkout@v4
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/checkout@v5
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    node-version: '14'
 | 
			
		||||
    cache: 'yarn'
 | 
			
		||||
@@ -255,11 +255,11 @@ steps:
 | 
			
		||||
# NOTE: pnpm caching support requires pnpm version >= 6.10.0
 | 
			
		||||
 | 
			
		||||
steps:
 | 
			
		||||
- uses: actions/checkout@v4
 | 
			
		||||
- uses: actions/checkout@v5
 | 
			
		||||
- uses: pnpm/action-setup@v2
 | 
			
		||||
  with:
 | 
			
		||||
    version: 6.32.9
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    node-version: '14'
 | 
			
		||||
    cache: 'pnpm'
 | 
			
		||||
@@ -274,8 +274,8 @@ steps:
 | 
			
		||||
**Using wildcard patterns to cache dependencies**
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
- uses: actions/checkout@v4
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/checkout@v5
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    node-version: '14'
 | 
			
		||||
    cache: 'npm'
 | 
			
		||||
@@ -287,8 +287,8 @@ steps:
 | 
			
		||||
**Using a list of file paths to cache dependencies**
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
- uses: actions/checkout@v4
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/checkout@v5
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    node-version: '14'
 | 
			
		||||
    cache: 'npm'
 | 
			
		||||
@@ -324,9 +324,9 @@ jobs:
 | 
			
		||||
            architecture: x86
 | 
			
		||||
    name: Node ${{ matrix.node_version }} - ${{ matrix.architecture }} on ${{ matrix.os }}
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - uses: actions/checkout@v5
 | 
			
		||||
      - name: Setup node
 | 
			
		||||
        uses: actions/setup-node@v4
 | 
			
		||||
        uses: actions/setup-node@v5
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: ${{ matrix.node_version }}
 | 
			
		||||
          architecture: ${{ matrix.architecture }}
 | 
			
		||||
@@ -337,8 +337,8 @@ jobs:
 | 
			
		||||
## Publish to npmjs and GPR with npm
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
- uses: actions/checkout@v4
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/checkout@v5
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    node-version: '14.x'
 | 
			
		||||
    registry-url: 'https://registry.npmjs.org'
 | 
			
		||||
@@ -346,7 +346,7 @@ steps:
 | 
			
		||||
- run: npm publish
 | 
			
		||||
  env:
 | 
			
		||||
    NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    registry-url: 'https://npm.pkg.github.com'
 | 
			
		||||
- run: npm publish
 | 
			
		||||
@@ -357,8 +357,8 @@ steps:
 | 
			
		||||
## Publish to npmjs and GPR with yarn
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
- uses: actions/checkout@v4
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/checkout@v5
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    node-version: '14.x'
 | 
			
		||||
    registry-url: <registry url>
 | 
			
		||||
@@ -366,7 +366,7 @@ steps:
 | 
			
		||||
- run: yarn publish
 | 
			
		||||
  env:
 | 
			
		||||
    NODE_AUTH_TOKEN: ${{ secrets.YARN_TOKEN }}
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    registry-url: 'https://npm.pkg.github.com'
 | 
			
		||||
- run: yarn publish
 | 
			
		||||
@@ -377,8 +377,8 @@ steps:
 | 
			
		||||
## Use private packages
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
- uses: actions/checkout@v4
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/checkout@v5
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    node-version: '14.x'
 | 
			
		||||
    registry-url: 'https://registry.npmjs.org'
 | 
			
		||||
@@ -397,8 +397,8 @@ Below you can find a sample "Setup .yarnrc.yml" step, that is going to allow you
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
- uses: actions/checkout@v4
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/checkout@v5
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    node-version: '14.x'
 | 
			
		||||
- name: Setup .yarnrc.yml
 | 
			
		||||
@@ -427,7 +427,7 @@ It is possible to specify a token to authenticate with the mirror using the `mir
 | 
			
		||||
The token will be passed as a bearer token in the `Authorization` header.
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
- uses: actions/setup-node@v4
 | 
			
		||||
- uses: actions/setup-node@v5
 | 
			
		||||
  with:
 | 
			
		||||
    node-version: '14.x'
 | 
			
		||||
    mirror: 'https://nodejs.org/dist'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										25
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										25
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -1,12 +1,12 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "setup-node",
 | 
			
		||||
  "version": "4.0.0",
 | 
			
		||||
  "version": "5.0.0",
 | 
			
		||||
  "lockfileVersion": 3,
 | 
			
		||||
  "requires": true,
 | 
			
		||||
  "packages": {
 | 
			
		||||
    "": {
 | 
			
		||||
      "name": "setup-node",
 | 
			
		||||
      "version": "4.0.0",
 | 
			
		||||
      "version": "5.0.0",
 | 
			
		||||
      "license": "MIT",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@actions/cache": "^4.0.3",
 | 
			
		||||
@@ -22,7 +22,7 @@
 | 
			
		||||
      },
 | 
			
		||||
      "devDependencies": {
 | 
			
		||||
        "@types/jest": "^29.5.14",
 | 
			
		||||
        "@types/node": "^20.11.25",
 | 
			
		||||
        "@types/node": "^24.1.0",
 | 
			
		||||
        "@types/semver": "^7.5.8",
 | 
			
		||||
        "@typescript-eslint/eslint-plugin": "^5.54.0",
 | 
			
		||||
        "@typescript-eslint/parser": "^5.54.0",
 | 
			
		||||
@@ -37,6 +37,9 @@
 | 
			
		||||
        "prettier": "^2.8.4",
 | 
			
		||||
        "ts-jest": "^29.1.2",
 | 
			
		||||
        "typescript": "^5.4.2"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=24.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@aashutoshrathi/word-wrap": {
 | 
			
		||||
@@ -1780,11 +1783,12 @@
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@types/node": {
 | 
			
		||||
      "version": "20.11.25",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.25.tgz",
 | 
			
		||||
      "integrity": "sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==",
 | 
			
		||||
      "version": "24.1.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz",
 | 
			
		||||
      "integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==",
 | 
			
		||||
      "license": "MIT",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "undici-types": "~5.26.4"
 | 
			
		||||
        "undici-types": "~7.8.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@types/node-fetch": {
 | 
			
		||||
@@ -5552,9 +5556,10 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/undici-types": {
 | 
			
		||||
      "version": "5.26.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
 | 
			
		||||
      "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
 | 
			
		||||
      "version": "7.8.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz",
 | 
			
		||||
      "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==",
 | 
			
		||||
      "license": "MIT"
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/universal-user-agent": {
 | 
			
		||||
      "version": "6.0.1",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,12 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "setup-node",
 | 
			
		||||
  "version": "4.0.0",
 | 
			
		||||
  "version": "5.0.0",
 | 
			
		||||
  "private": true,
 | 
			
		||||
  "description": "setup node action",
 | 
			
		||||
  "main": "lib/setup-node.js",
 | 
			
		||||
  "engines": {
 | 
			
		||||
    "node": ">=24.0.0"
 | 
			
		||||
  },
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "build": "ncc build -o dist/setup src/setup-node.ts && ncc build -o dist/cache-save src/cache-save.ts",
 | 
			
		||||
    "format": "prettier --no-error-on-unmatched-pattern --config ./.prettierrc.js --write \"**/*.{ts,yml,yaml}\"",
 | 
			
		||||
@@ -38,7 +41,7 @@
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@types/jest": "^29.5.14",
 | 
			
		||||
    "@types/node": "^20.11.25",
 | 
			
		||||
    "@types/node": "^24.1.0",
 | 
			
		||||
    "@types/semver": "^7.5.8",
 | 
			
		||||
    "@typescript-eslint/eslint-plugin": "^5.54.0",
 | 
			
		||||
    "@typescript-eslint/parser": "^5.54.0",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user