ci: run the floor as well as the latest Python - #20
Open
dani1005 wants to merge 1 commit into
Open
Conversation
CI has only ever run one interpreter — 3.14 — while the package declared a different one. That is how 1.0.0 and both 1.1.0 release candidates shipped a `python_requires` nobody had ever executed (in fact they shipped none at all: the constant was defined in the template and never passed to setup()). 1.1.0 fixes the metadata and sets the floor to 3.12, so run 3.12 alongside 3.14 and let the promise be tested. fail-fast is off so a break on one version still reports the other. Keep the matrix in step with templates/setup.mustache in the SDK factory.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Runs the version
python_requirespromises, not just the newest one.Why
CI has only ever run a single interpreter — 3.14 — while the package declared a different floor. That is how 1.0.0 and both 1.1.0 release candidates shipped a
Requires-Pythonnobody had executed. In fact they shipped none at all:PYTHON_REQUIRESwas defined in the factory'ssetup.mustacheand never passed tosetup(), so PyPI has noRequires-Pythonfor any release of this package to date. pip therefore installs it on any interpreter and the user meets a traceback instead of a clear message.The companion factory MR fixes that and sets the floor to 3.12. This makes the floor real by running it.
Change
python-version: "3.14"→ a["3.12", "3.14"]matrix,fail-fast: falseso a break on one version still reports the other. Nothing else moves.Verified locally, before this lands
Built from the 1.1.0 generated tree with the fixed template:
Requires-Python: >=3.12andpydantic<3,>=2;pip installon Python 3.10 refuses withrequires a different Python: 3.10.17 not in '>=3.12'— which is the entire point of the fix;tests/passes.Keep the matrix in step with
templates/setup.mustachein the SDK factory if the floor moves again.