name: ci on: push: branches: [main] pull_request: permissions: contents: read jobs: test: name: test (py${{ matrix.python-version }}) runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: ["3.10", "3.11", "3.12", "3.13"] steps: - uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v3 with: enable-cache: true - name: Install Python ${{ matrix.python-version }} run: uv python install ${{ matrix.python-version }} - name: Sync dependencies run: uv sync --python ${{ matrix.python-version }} - name: Lint (ruff) run: uv run ruff check . - name: Format check (ruff) run: uv run ruff format --check . - name: Type check (pyright) run: uv run pyright - name: Unit tests run: uv run pytest tests/unit -v