name: 🛠

on:
  push:
    branches: [main]
  pull_request: # run on all PRs, not just PRs to a particular branch

jobs:
  basics:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node: [ 'latest', 'lts/*', 'lts/-1' ]
    name: basics (node ${{ matrix.node }})

    steps:
    - name: git clone
      uses: actions/checkout@v3

    - name: Setup node
      uses: actions/setup-node@v3
      with:
        node-version: ${{ matrix.node }}
        cache: 'yarn'

    - run: yarn --frozen-lockfile --network-timeout 1000000
    - run: yarn build

    - run: yarn test-formatting
    - run: yarn type-check

