Set up your GitHub Actions workflow with a specific version of node.js
Go to file
Edward Thomson 62fdfbb318
Update README to include yarn
A user indicated that it was not clear that the `setup-node` action took care of yarn, and tried using an incompatible third-party action.  Better specify that yarn is included above the fold.
2019-10-18 11:36:35 +01:00
__tests__ Add setting for always-auth (#48) 2019-09-03 10:57:45 -04:00
.github Initial Import 2019-08-03 21:49: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
lib Add setting for always-auth (#48) 2019-09-03 10:57:45 -04:00
node_modules Consume toolkit from npmjs (#36) 2019-08-20 10:29:19 -04:00
src Add setting for always-auth (#48) 2019-09-03 10:57:45 -04:00
.gitignore Update .gitignore (#40) 2019-08-26 10:54:54 -04:00
.prettierrc.json Initial Import 2019-08-03 21:49:54 -04:00
action.yml Deprecate version property (#54) 2019-09-12 10:30:15 -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 Bump lodash from 4.17.11 to 4.17.15 (#45) 2019-08-24 12:13:18 -04:00
package.json Consume toolkit from npmjs (#36) 2019-08-20 10:29:19 -04:00
README.md Update README to include yarn 2019-10-18 11:36:35 +01:00
tsconfig.json Add auth support (#21) 2019-08-06 18:26:04 -04:00

setup-node

GitHub Actions status

This action sets up a node environment for use in actions, including npm and yarn. It:

  • sets up the specified version of node (downloading it if it's not already available)
  • adds node, npm and yarn to the PATH
  • registers problem matchers for error output

Usage

See action.yml

Basic:

steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
  with:
    node-version: '10.x'
- run: npm install
- run: npm test

Matrix Testing:

jobs:
  build:
    runs-on: ubuntu-16.04
    strategy:
      matrix:
        node: [ '10', '8' ]
    name: Node ${{ matrix.node }} sample
    steps:
      - uses: actions/checkout@v1
      - 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@v1
- 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@v1
- 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@v1
- 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 scritps 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