Releases: actions/setup-node
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-versionandnode-version-fileinputs, the action will use value from thenode-versioninput 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
vprefix (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 testUpdate 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 testNOTE: pnpm caching support requires pnpm version >= 6.10.0
Support caching dependencies and LTS aliases
This release brings two major features:
Supported version syntax
The node-version input supports the following syntax:
major versions: 12, 14, 16
more specific versions: 10.15, 14.2.0, 16.3.0
nvm LTS syntax: lts/erbium, lts/fermium, lts/*
Caching dependencies
The action has a built-in functionality for caching and restoring npm/yarn dependencies. Supported package managers are npm, yarn. The cache input is optional, and caching is turned off by default.
Caching npm dependencies:
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '14'
cache: 'npm'
- run: npm install
- run: npm testCaching yarn dependencies:
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '14'
cache: 'yarn'
- run: yarn install
- run: yarn testYarn caching handles both yarn versions: 1 or 2.
At the moment, only
lockfiles in the project root are supported.
v2.1.5 Release
Improve error and warning line number handling (problem matcher regex)