Skip to content

ci: test the full supported Python range (3.10-3.13), not just 3.12 - #16

Merged
dcj merged 1 commit into
mainfrom
ci/test-matrix-py310-py313
Aug 2, 2026
Merged

ci: test the full supported Python range (3.10-3.13), not just 3.12#16
dcj merged 1 commit into
mainfrom
ci/test-matrix-py310-py313

Conversation

@dcj

@dcj dcj commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Bill noted (in the discussion #7 area) that CI pins Python 3.12 while we mandate 3.10+ support. Confirmed, and it is a bit wider than the version pin.

  • pyproject.toml: requires-python = ">=3.10", classifiers through 3.13; homie.py polyfills StrEnum for <3.11 (:51-54). So 3.10 support is deliberate.
  • CI (lint.yml, publish.yml) ran only ruff on 3.12. There was no pytest job at all and no version matrix, so 3.10 / 3.11 / 3.13, and the test suite generally, were unverified.

This adds a Test workflow that runs pytest across 3.10, 3.11, 3.12, 3.13 (fail-fast: false). The suite is 500 tests, ~1s per version locally. Action SHAs match lint.yml.

Out of scope, tracked as follow-ups:

  • a mypy gate (the codebase is not mypy-clean yet, so it cannot be a blocking check without cleanup first), and
  • running ruff across the matrix (ruff behavior is effectively version-independent, so lint stays single-version).

🤖 Generated with Claude Code

pyproject declares requires-python >=3.10 with classifiers through 3.13,
and homie.py carries a StrEnum polyfill specifically for <3.11, but CI ran
pytest on no version at all (only ruff, on 3.12). Add a Test workflow that
runs the suite across 3.10/3.11/3.12/3.13 so the declared support is
actually verified.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@dcj
dcj merged commit b6ca9ae into main Aug 2, 2026
5 checks passed
@dcj
dcj deleted the ci/test-matrix-py310-py313 branch August 2, 2026 21:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant