-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
commit 446068a Author: Alena Sviridenko <[email protected]> Date: Tue Jun 22 17:51:35 2021 +0300 updated headers commit d7e254e Author: Alena Sviridenko <[email protected]> Date: Thu Jun 17 17:35:34 2021 +0300 updated links commit ffd9956 Author: AlyonaSviridenko <[email protected]> Date: Thu Jun 17 17:33:41 2021 +0300 Added advanced usage commit 1e068f0 Author: AlyonaSviridenko <[email protected]> Date: Thu Jun 17 15:07:42 2021 +0300 Updated readme with caching commit 7528c33 Author: Maxim Lobanov <[email protected]> Date: Wed Jun 16 14:43:46 2021 +0300 Update versions.yml
- Loading branch information
1 parent
1088324
commit f2b87bb
Showing
3 changed files
with
165 additions
and
136 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,7 +6,7 @@ on: | |
- '**.md' | ||
push: | ||
branches: | ||
- main | ||
- main | ||
- releases/* | ||
paths-ignore: | ||
- '**.md' | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,132 @@ | ||
# Advanced usage | ||
|
||
### Check latest version: | ||
|
||
The `check-latest` flag defaults to `false`. When set to `false`, the action will first check the local cache for a semver match. If unable to find a specific version in the cache, the action will attempt to download a version of Node.js. It will pull LTS versions from [node-versions releases](https://github.com/actions/node-versions/releases) and on miss or failure will fall back to the previous behavior of downloading directly from [node dist](https://nodejs.org/dist/). Use the default or set `check-latest` to `false` if you prefer stability and if you want to ensure a specific version of Node.js is always used. | ||
|
||
If `check-latest` is set to `true`, the action first checks if the cached version is the latest one. If the locally cached version is not the most up-to-date, a version of Node.js will then be downloaded. Set `check-latest` to `true` it you want the most up-to-date version of Node.js to always be used. | ||
|
||
> Setting `check-latest` to `true` has performance implications as downloading versions of Node is slower than using cached versions. | ||
```yaml | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-node@v2 | ||
with: | ||
node-version: '14' | ||
check-latest: true | ||
- run: npm install | ||
- run: npm test | ||
``` | ||
### Architecture: | ||
You can use any of the [supported operating systems](https://docs.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners), and the compatible `architecture` can be selected using `architecture`. Values are `x86`, `x64`, `arm64`, `armv6l`, `armv7l`, `ppc64le`, `s390x` (not all of the architectures are available on all platforms). | ||
|
||
When using `architecture`, `node-version` must be provided as well. | ||
```yaml | ||
jobs: | ||
build: | ||
runs-on: windows-latest | ||
name: Node sample | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-node@v2 | ||
with: | ||
node-version: '14' | ||
architecture: 'x64' # optional, x64 or x86. If not specified, x64 will be used by default | ||
- run: npm install | ||
- run: npm test | ||
``` | ||
|
||
### Multiple Operating Systems and Architectures: | ||
|
||
```yaml | ||
jobs: | ||
build: | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: | ||
- ubuntu-latest | ||
- macos-latest | ||
- windows-latest | ||
node_version: | ||
- 10 | ||
- 12 | ||
- 14 | ||
architecture: | ||
- x64 | ||
# an extra windows-x86 run: | ||
include: | ||
- os: windows-2016 | ||
node_version: 12 | ||
architecture: x86 | ||
name: Node ${{ matrix.node_version }} - ${{ matrix.architecture }} on ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Setup node | ||
uses: actions/setup-node@v2 | ||
with: | ||
node-version: ${{ matrix.node_version }} | ||
architecture: ${{ matrix.architecture }} | ||
- run: npm install | ||
- run: npm test | ||
``` | ||
|
||
### Publish to npmjs and GPR with npm: | ||
```yaml | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-node@v2 | ||
with: | ||
node-version: '14.x' | ||
registry-url: 'https://registry.npmjs.org' | ||
- run: npm install | ||
- run: npm publish | ||
env: | ||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | ||
- uses: actions/setup-node@v2 | ||
with: | ||
registry-url: 'https://npm.pkg.github.com' | ||
- run: npm publish | ||
env: | ||
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
``` | ||
|
||
### Publish to npmjs and GPR with yarn: | ||
```yaml | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-node@v2 | ||
with: | ||
node-version: '14.x' | ||
registry-url: <registry url> | ||
- run: yarn install | ||
- run: yarn publish | ||
env: | ||
NODE_AUTH_TOKEN: ${{ secrets.YARN_TOKEN }} | ||
- uses: actions/setup-node@v2 | ||
with: | ||
registry-url: 'https://npm.pkg.github.com' | ||
- run: yarn publish | ||
env: | ||
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
``` | ||
|
||
### Use private packages: | ||
```yaml | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-node@v2 | ||
with: | ||
node-version: '14.x' | ||
registry-url: 'https://registry.npmjs.org' | ||
# Skip post-install scripts here, as a malicious | ||
# script could steal NODE_AUTH_TOKEN. | ||
- run: npm install --ignore-scripts | ||
env: | ||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | ||
# `npm rebuild` will run all those post-install scripts for us. | ||
- run: npm rebuild && npm run prepare --if-present | ||
``` |