name: CI on: push: branches: [main] pull_request: branches: [main] jobs: test: name: Test & Build runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@v4 - name: Use Python from .python-version uses: actions/setup-python@v5 with: python-version-file: ".python-version" - name: Install uv uses: astral-sh/setup-uv@v5 with: enable-cache: true - name: Install pnpm uses: pnpm/action-setup@v4 - name: Use Node.js 20 uses: actions/setup-node@v4 with: node-version: 20 cache: "pnpm" - name: Install dependencies run: pnpm install - name: Sync Python dependencies run: uv sync --locked --group dev - name: Run Python tests run: uv run pytest tests/python -q - name: Typecheck run: pnpm typecheck - name: Run tests run: pnpm test - name: Build run: pnpm build