name: Run tests
on: [push, pull_request]

jobs:
  test:
    name: Run tests
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - uses: pnpm/action-setup@v2
        with:
            version: latest

      - name: Set up Node
        uses: actions/setup-node@v3
        with:
          node-version: 16
          cache: 'pnpm'
          cache-dependency-path: frontend/pnpm-lock.yaml

      - name: Build frontend
        run: |
            cd frontend
            pnpm install --frozen-lockfile
            pnpm run build

      - name: Set up Go
        uses: actions/setup-go@v4
        with:
          go-version: '1.20'

      - name: Build
        run: |
            go mod download
            go build .

      - name: Test
        run: go test ./...