name: Type Check

on:
  push:
  pull_request:

jobs:
  typecheck:
    name: Run type checkers
    runs-on: ubuntu-20.04

    steps:
      - uses: actions/checkout@v2 # Check out the repository first.

      - name: Install Python dependencies
        working-directory: backend
        run: |
          python -m pip install --upgrade pip
          [ -f requirements.txt ] && pip install -r requirements.txt

      - name: Install TypeScript dependencies
        working-directory: frontend
        run: |
          npm i -g pnpm
          pnpm i --frozen-lockfile

      - name: Run pyright (Python)
        uses: jakebailey/pyright-action@v1
        with:
          python-version: "3.10.6"
          no-comments: true
          working-directory: backend

      - name: Run tsc (TypeScript)
        working-directory: frontend
        run: $(pnpm bin)/tsc --noEmit