name: Pull Request
on:
  pull_request:
    branches:
      - master
jobs:
  audit:
    name: Audit
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Set up Node.js runtime
        uses: actions/setup-node@v2
        with:
          node-version: 16.x
      - name: Set up Node.js runtime
        run: npm audit --production
  build:
    name: Build on supported Node.js versions
    runs-on: ubuntu-latest
    needs: audit
    strategy:
      matrix:
        node: [12, 14, 16]
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Set up Node.js runtime
        uses: actions/setup-node@v2
        with:
          node-version: ${{ matrix.node }}
      - name: Run Test
        run: npm ci && npm test
      - name: Build
        run: npm run build