From a3e0a765b9334c5654694491e8dc45f7bb924ac7 Mon Sep 17 00:00:00 2001 From: Artur Shiriev Date: Sun, 3 May 2026 23:06:59 +0300 Subject: [PATCH] Run pytest matrix across Python 3.13 and 3.14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mirrors the lite-bootstrap CI shape: matrix on supported Python versions (per pyproject.toml `requires-python = ">=3.13,<4"`), codecov upload tagged per matrix cell, uv cache enabled, and checkout bumped to v4. Lint job is unchanged — already pins 3.13 since style/type rules are version-independent. --- .github/workflows/ci.yml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c2f61dc..02f3c43 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,6 +25,12 @@ jobs: pytest: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: + - "3.13" + - "3.14" services: redis: image: redis:8 @@ -37,9 +43,12 @@ jobs: --health-timeout 5s --health-retries 5 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v3 - - run: uv python install 3.13 + with: + enable-cache: true + cache-dependency-glob: "**/pyproject.toml" + - run: uv python install ${{ matrix.python-version }} - run: | uv sync --all-extras --no-install-project uv run --no-sync pytest . --cov=. --cov-report xml @@ -47,3 +56,10 @@ jobs: PYTHONDONTWRITEBYTECODE: 1 PYTHONUNBUFFERED: 1 REDIS_URL: redis://127.0.0.1:6379/0 + - uses: codecov/codecov-action@v4.0.1 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + with: + files: ./coverage.xml + flags: unittests + name: codecov-${{ matrix.python-version }}