name: CI on: push: branches: [main] pull_request: branches: [main] jobs: ci: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v6 with: enable-cache: true - name: Install dependencies run: uv sync --frozen - name: Format check run: uv run ruff format --check - name: Lint run: uv run ruff check - name: Type check run: uv run ty check - name: Test run: uv run pytest