chore: switch to PostgreSQL (Supabase) and fix dialect compatibility #117
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 | |
| workflow_dispatch: | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| # Required for tests that need LLM configuration | |
| LLM_MODEL: gpt-4o-mini | |
| LLM_PROVIDER: openai | |
| # Use official PyPI in CI (override any mirror settings) | |
| UV_INDEX_URL: "https://pypi.org/simple/" | |
| jobs: | |
| backend: | |
| name: Backend Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| enable-cache: true | |
| - name: Install backend dependencies | |
| run: | | |
| # Replace Tsinghua mirror URLs with official PyPI for CI compatibility | |
| sed -i 's|https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/|https://pypi.org/simple/|g' uv.lock | |
| sed -i 's|https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/|https://files.pythonhosted.org/packages/|g' uv.lock | |
| uv sync --locked | |
| - name: Run backend tests (skip LLM tests) | |
| run: uv run python -m pytest tests/ -v -m "not requires_llm" | |
| frontend: | |
| name: Frontend Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| cache: pnpm | |
| cache-dependency-path: ui/pnpm-lock.yaml | |
| - name: Install frontend dependencies | |
| working-directory: ui | |
| run: pnpm install --frozen-lockfile | |
| - name: Run typecheck | |
| working-directory: ui | |
| run: pnpm run typecheck | |
| - name: Run production build | |
| working-directory: ui | |
| run: npx vite build |