name: Tests

on:
  workflow_call:

jobs:
  tests:
    strategy:
      matrix:
        version: 
          - "14.17.0"
          - "16.17.1"
          - "18.10.0"
    runs-on: ubuntu-latest
    steps:
      - name: Checkout branch
        uses: actions/checkout@v3
      - name: Use Node.js
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.version }}
      - name: Install dependencies
        run: yarn --immutable
      - name: Run Tests
        run: yarn test
      - name: Run Garbage Collection Tests
        run: yarn test:gc
      - name: Run Build
        run: yarn build
