Set up your GitHub Actions workflow with a specific version of node.js
Go to file
Bryan MacFarlane e434342e4e
download from node-versions and fallback to node dist (#147)
* download LTS versions from releases

* support upcoiming ghes 

Co-authored-by: eric sciple <ericsciple@users.noreply.github.com>
2020-05-19 09:25:54 -04:00
__tests__ download from node-versions and fallback to node dist (#147) 2020-05-19 09:25:54 -04:00
.github download from node-versions and fallback to node dist (#147) 2020-05-19 09:25:54 -04:00
.vscode download from node-versions and fallback to node dist (#147) 2020-05-19 09:25:54 -04:00
dist download from node-versions and fallback to node dist (#147) 2020-05-19 09:25:54 -04:00
docs Initial Import 2019-08-03 21:49:54 -04:00
externals Initial Import 2019-08-03 21:49:54 -04:00
src download from node-versions and fallback to node dist (#147) 2020-05-19 09:25:54 -04:00
validate download from node-versions and fallback to node dist (#147) 2020-05-19 09:25:54 -04:00
.gitignore download from node-versions and fallback to node dist (#147) 2020-05-19 09:25:54 -04:00
.prettierrc.json Initial Import 2019-08-03 21:49:54 -04:00
action.yml download from node-versions and fallback to node dist (#147) 2020-05-19 09:25:54 -04:00
CONDUCT add code of conduct 2020-04-16 14:00:00 -04:00
jest.config.js Initial Import 2019-08-03 21:49:54 -04:00
LICENSE Initial Import 2019-08-03 21:49:54 -04:00
package-lock.json download from node-versions and fallback to node dist (#147) 2020-05-19 09:25:54 -04:00
package.json download from node-versions and fallback to node dist (#147) 2020-05-19 09:25:54 -04:00
README.md Update README.md 2020-05-06 09:58:52 -04:00
tsconfig.json download from node-versions and fallback to node dist (#147) 2020-05-19 09:25:54 -04:00

setup-node

GitHub Actions status

This action sets by node environment for use in actions by:

  • optionally downloading and caching a version of node - npm by version spec and add to PATH
  • registering problem matchers for error output
  • configuring authentication for GPR or npm

Usage

See action.yml

Basic:

steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
  with:
    node-version: '12'
- run: npm install
- run: npm test

Matrix Testing:

jobs:
  build:
    runs-on: ubuntu-16.04
    strategy:
      matrix:
        node: [ '10', '12' ]
    name: Node ${{ matrix.node }} sample
    steps:
      - uses: actions/checkout@v2
      - name: Setup node
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node }}
      - run: npm install
      - run: npm test

Publish to npmjs and GPR with npm:

steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
  with:
    node-version: '10.x'
    registry-url: 'https://registry.npmjs.org'
- run: npm install
- run: npm publish
  env:
    NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- uses: actions/setup-node@v1
  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:

steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
  with:
    node-version: '10.x'
    registry-url: <registry url>
- run: yarn install
- run: yarn publish
  env:
    NODE_AUTH_TOKEN: ${{ secrets.YARN_TOKEN }}
- uses: actions/setup-node@v1
  with:
    registry-url: 'https://npm.pkg.github.com'
- run: yarn publish
  env:
    NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Use private packages:

steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
  with:
    node-version: '10.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

License

The scripts and documentation in this project are released under the MIT License

Contributions

Contributions are welcome! See Contributor's Guide

Code of Conduct

👋 Be nice. See our code of conduct