summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorRoberto Bertó <463349+robertoberto@users.noreply.github.com>2026-05-19 03:06:11 +0000
committerRoberto Bertó <463349+robertoberto@users.noreply.github.com>2026-05-19 03:06:11 +0000
commit7aa4989061950a336287cd8b581813ccd60b1832 (patch)
tree3a72b976bea9aaa1e7de403a16ea168a522c55fa /.github
parentb2f1765d286502307ea07a62648718d0414e4f39 (diff)
downloadpyvyos-7aa4989061950a336287cd8b581813ccd60b1832.tar.gz
pyvyos-7aa4989061950a336287cd8b581813ccd60b1832.zip
build: tighten runtime deps and lower Python floor to 3.11
- requires-python: >=3.13 -> >=3.11. The code does not use any 3.13-only feature. typing.List/Dict/Union/Optional throughout, no PEP 695 generics, no Self, no match. Classifiers updated to advertise 3.11/3.12/3.13. - runtime dependencies: trim to requests only. - python-dotenv is only used by examples; move to the dev extra. - urllib3 is never imported by pyvyos directly; it remains available transitively through requests. - pre-existing dev tooling (pytest, pytest-cov, pytest-env) untouched. - CI: PR validation runs on a 3.11/3.12/3.13 matrix. - README: reword the Python requirement. - .python-version: 3.13.0 -> 3.13 (CI uses the matrix). - Wheel build verified to include pyvyos/py.typed and to declare Requires-Python: >=3.11 with requests as the only runtime requirement.
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/python-pr-validation.yml12
1 files changed, 8 insertions, 4 deletions
diff --git a/.github/workflows/python-pr-validation.yml b/.github/workflows/python-pr-validation.yml
index 611372b..081f7a8 100644
--- a/.github/workflows/python-pr-validation.yml
+++ b/.github/workflows/python-pr-validation.yml
@@ -10,14 +10,18 @@ permissions:
jobs:
validate:
runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ python-version: ["3.11", "3.12", "3.13"]
steps:
- name: Checkout
uses: actions/checkout@v4
- - name: Set up Python 3.13
+ - name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
- python-version: "3.13"
+ python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v3
@@ -25,7 +29,7 @@ jobs:
enable-cache: true
- name: Install dependencies
- run: uv sync --extra dev
+ run: uv sync --extra dev --python ${{ matrix.python-version }}
- name: Run tests
- run: uv run pytest -v
+ run: uv run --python ${{ matrix.python-version }} pytest -v