name: CI

# Frontend quality gates (lint, typecheck, test, build-check).
# One job on purpose: the runner fetches each action from github.com,
# which is flaky (connection resets), so we check out once instead of
# re-cloning per job. The real hub build + deploy is build-dev.yaml.

on:
  push:
    branches: [dev, main]
  pull_request:
    branches: [dev, main]

jobs:
  quality:
    runs-on: go-react
    steps:
      - uses: actions/checkout@v4
      - run: npm ci
      - run: npm run lint
      - run: npx tsc --noEmit
      - run: npm test
      - run: npm run build
