on:
  push:
    branches:
      - main
  pull_request:
name: ci
jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node: [20]
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node }}
      # The first installation step ensures that all of our production
      # dependencies work on the given Node.js version, this helps us find
      # dependencies that don't match our engines field:
      - run: npm install --production --engine-strict --ignore-scripts --no-package-lock
      # Clean up the production install, before installing dev/production:
      - run: rm -rf node_modules
      - run: npm ci
      - run: npm test
  windows:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: 20
      - run: npm ci
      - run: npm test
  build-dist:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node: [20]
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node }}
      - run: npm ci
      - run: npm run build
