From 9066430a8b7b440fef139a0fb294da91a97f365a Mon Sep 17 00:00:00 2001 From: Artur Shiriev Date: Thu, 24 Sep 2026 01:35:39 +0300 Subject: [PATCH] fix: floor PyYAML per interpreter and gate every matrix entry --- .github/workflows/_checks.yml | 2 +- pyproject.toml | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/_checks.yml b/.github/workflows/_checks.yml index 84ab4cc..028984f 100644 --- a/.github/workflows/_checks.yml +++ b/.github/workflows/_checks.yml @@ -46,7 +46,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.10", "3.14"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v6 - uses: astral-sh/setup-uv@v8.2.0 diff --git a/pyproject.toml b/pyproject.toml index 2b34746..d5265cc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,10 +22,13 @@ classifiers = [ version = "0" [project.optional-dependencies] -# Split rather than raised: 6.0.3 is the first PyYAML with a cp314 wheel, and 6.0's sdist -# does not build on 3.14, but an older interpreter has no reason to lose the lower floor. +# Split per interpreter because PyYAML's wheel coverage is: 6.0.1 is the first with a cp312 +# wheel, 6.0.2 the first with cp313 and 6.0.3 the first with cp314, whose sdist 6.0 cannot +# build. An older interpreter has no reason to lose the lower floor. yaml = [ - "PyYAML>=6; python_version < '3.14'", + "PyYAML>=6; python_version < '3.12'", + "PyYAML>=6.0.1; python_version == '3.12'", + "PyYAML>=6.0.2; python_version == '3.13'", "PyYAML>=6.0.3; python_version >= '3.14'", ]