name: Test

on: [push, pull_request]

jobs:
  test:
    runs-on: ${{ matrix.os }}
    timeout-minutes: 60

    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest]

    steps:
      # Windows fix. See https://github.com/actions/checkout/issues/226
      - run: git config --global core.autocrlf false

      - uses: actions/checkout@v4

      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: 'yarn'

      - run: yarn install --immutable
      - run: yarn dedupe --check
      - run: yarn test
      - run: yarn tsc
      - run: yarn lint
