name: Frontend Test

on:
  push:
    branches: [main]
  pull_request:
    branches:
      - main
      - "release/*.*.*"
    paths:
      - "web/**"

jobs:
  static-checks:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: pnpm/action-setup@v3.0.0
        with:
          version: 8
      - uses: actions/setup-node@v4
        with:
          node-version: "20"
          cache: pnpm
          cache-dependency-path: "web/pnpm-lock.yaml"
      - run: pnpm install
        working-directory: web
      - name: Run eslint check
        run: pnpm lint
        working-directory: web
      - name: Run type checks
        run: pnpm type-check
        working-directory: web

  frontend-build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: pnpm/action-setup@v3.0.0
        with:
          version: 8
      - uses: actions/setup-node@v4
        with:
          node-version: "20"
          cache: pnpm
          cache-dependency-path: "web/pnpm-lock.yaml"
      - run: pnpm install
        working-directory: web
      - name: Run frontend build
        run: pnpm build
        working-directory: web
