name: Node.js CI

on:
  pull_request:

  workflow_dispatch:

jobs:
  build-flow:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/cache@v2
        with:
          path: |
            ~/cache
            !~/cache/exclude
            **/node_modules
          key: ${{ runner.os }}-cache-v4
      - uses: actions/setup-node@v2
        with:
          node-version: '16.x'
      - name: Run NPM tasks
        run: |
          npm install
          npm run build
          npm run lint
          npm run test
