Initial public release #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| python: | |
| name: Python | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| enable-cache: true | |
| - name: Install dependencies | |
| run: uv sync | |
| # The repository currently has ~65 pre-existing ruff violations. | |
| # Lint is reported but not enforced until that backlog is cleared; | |
| # tests are the blocking gate. Contributions welcome — see CONTRIBUTING.md. | |
| - name: Lint (ruff, advisory) | |
| run: uv run ruff check . | |
| continue-on-error: true | |
| # Pure-Python tests. These need no cloud credentials and no built frontend. | |
| - name: Run tests | |
| run: uv run pytest -q tests/ | |
| frontend: | |
| name: Frontend | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| cache-dependency-path: ui/package-lock.json | |
| - name: Install dependencies | |
| working-directory: ui | |
| run: npm ci | |
| - name: Type-check and build | |
| working-directory: ui | |
| run: npm run build | |
| # NOTE: ui/tests/ is deliberately not run here. Those tests need | |
| # ui/data/analysis.json — pipeline output that is gitignored and never | |
| # ships — and ui/tests/test_ui.py additionally needs Playwright browsers. | |
| # Neither is available on a fresh clone. Run them locally after a full | |
| # pipeline run: `uv run pytest ui/tests/`. Making these runnable in CI | |
| # (via committed fixtures) would be a welcome contribution. |