guidesmiths/prepper

View on GitHub
.github/workflows/node-js-publish.yml

Summary

Maintainability
Test Coverage
name: Node.js Publish

on:
  release:
    types: [created]

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [6.x, 8.x, 10.x, 14.x, 16.x]
    steps:
    - uses: actions/checkout@v2
    - name: Set up Node.js version ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
        cache: 'npm'

    - run: npm install
    - run: npm run lint
    - run: npm run test

  publish-npm:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: '16.x'
          registry-url: https://registry.npmjs.org/
      - run: npm ci
      - run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}