name: Tests

on:
  push:
    branches: [master, v2]
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        nodejs: [12.x, 14.x, 16.x]

    name: Tests (Node.js ${{ matrix.nodejs }})

    steps:
      - uses: actions/checkout@v2
      - name: Use Node.js ${{ matrix.nodejs }}
        uses: actions/setup-node@v2
        with:
          node-version: ${{ matrix.nodejs }}


      - name: Install dependencies
        run: npm i

      - name: Unit tests
        run: npm run test:unit

      - name: Feature tests
        env:
          NODE_OPTIONS: "--max-old-space-size=8192"
        run: npm run test:feature