name: CI on: push: branches: [main] pull_request: branches: [main] jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v6 with: python-version: "3.12" - run: uv sync --frozen - name: Ruff check run: uv run ruff check - name: Ruff format check run: uv run ruff format --check typecheck: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v6 with: python-version: "3.12" - run: uv sync --frozen - name: Type check run: uv run ty check test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v6 with: python-version: "3.12" - run: uv sync --frozen - name: Run tests run: uv run pytest --cov