# Runs on every push and pull request. # Fast checks only — no Docker build. Second runs take ~30s due to caching. name: CI on: push: pull_request: jobs: typecheck: name: TypeScript typecheck runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: "20" cache: "npm" cache-dependency-path: frontend/package-lock.json - name: Install dependencies run: npm ci working-directory: frontend - name: Type check run: npx vue-tsc --noEmit working-directory: frontend lint: name: Python lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.12" - name: Install ruff run: pip install ruff - name: Lint run: ruff check src/ test: name: Python tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.12" cache: "pip" cache-dependency-path: pyproject.toml - name: Install package with dev deps run: pip install -e ".[dev]" - name: Run tests run: pytest tests/ -v