Releases: actions/setup-node
v3.0.0
In scope of this release we changed version of the runtime Node.js for the setup-node action and updated package-lock.json file to v2.
Breaking Changes
Fix logic of error handling for npm warning and uncaught exception
In scope of this release we fix logic of error handling related to caching (#358) and (#359).
In the previous behaviour we relied on stderr
output to throw error. The warning messages from package managers can be written to the stderr's output. For now the action will throw an error only if exit code differs from zero. Besides, we add logic to сatch and log unhandled exceptions.
Adding Node.js version file support
In scope of this release we add the node-version-file
input and update actions/cache
dependency to the latest version.
Adding Node.js version file support
The new input (node-version-file
) provides functionality to specify the path to the file containing Node.js's version with such behaviour:
- If the file does not exist the action will throw an error.
- If you specify both
node-version
andnode-version-file
inputs, the action will use value from thenode-version
input and throw the following warning:Both node-version and node-version-file inputs are specified, only node-version will be used
. - For now the action does not support all of the variety of values for Node.js version files. The action can handle values according to the documentation and values with
v
prefix (v14
)
steps:
- uses: actions/checkout@v2
- name: Setup node from node version file
uses: actions/setup-node@v2
with:
node-version-file: '.nvmrc'
- run: npm install
- run: npm test
Update actions/cache dependency to 1.0.8 version.
We updated actions/cache dependency to the latest version (1.0.8). For more information please refer to the toolkit/cache.
Add "cache-hit" output
This release introduces a new output: cache-hit
(#327).
The cache-hit
output contains boolean value indicating that an exact match was found for the key. It shows that the action uses already existing cache or not. The output is available only if cache is enabled.
Support caching for mono repos and repositories with complex structure
This release introduces dependency caching support for mono repos and repositories with complex structure (#305).
By default, the action searches for the dependency file (package-lock.json
or yarn.lock
) in the repository root. Use the cache-dependency-path
input for cases when multiple dependency files are used, or they are located in different subdirectories. This input supports wildcards or a list of file names for caching multiple dependencies.
Yaml example:
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 14
cache: npm
cache-dependency-path: 'sub-project/package-lock.json'
For more examples of using cache-dependency-path
input, see the Advanced usage guide.
Revert temporary fix
We had to disable pre-cached Node.js usage in the previous version due to the broken image cache. Now cache is fixed, so we can safely enable its usage again.
Thank you for understanding.
Revert temporary fix for v1
We had to disable pre-cached Node.js usage in the previous version due to the broken image cache. Now cache is fixed, so we can safely enable its usage again.
Thank you for understanding.
Temporary maintenance fix.
Temporarily disabled usage of pre-cached Node.js.
Temporary maintenance fix
Temporarily disabled usage of pre-cached Node.js
Support caching pnpm dependencies
This release introduces dependency caching support for the pnpm
package manager (#278).
Caching pnpm dependencies:
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
steps:
- uses: actions/checkout@v2
- uses: pnpm/action-setup@646cdf48217256a3d0b80361c5a50727664284f2
with:
version: 6.10.0
- uses: actions/setup-node@v2
with:
node-version: '14'
cache: 'pnpm'
- run: pnpm install
- run: pnpm test
NOTE: pnpm caching support requires pnpm version >= 6.10.0