Repository navigation
fix(pymeshfix): build cp310/cp311 wheels, not just cp312-abi3 - #3222
Merged
Merged
Conversation
CIBW_BUILD was "cp312-* cp313-* cp314-*", collapsing every interpreter
into the single forward-compatible abi3 wheel and never producing the
cp310/cp311 wheels upstream's own [tool.cibuildwheel] build matrix
("cp310-* cp311-* cp312-*") actually ships. Downstream consumers that
test against pymeshfix on cp310/cp311 (e.g. tetgen) can't install it
there since no compatible wheel is published for those interpreters.
Matches upstream's matrix exactly; generalizes the post-build check
and artifact naming since a build now produces more than one wheel.
Member
Author
|
Same mechanic as #3221/#3223/#3224/#3225:
Generated by Claude Code |
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.
Package:
pymeshfix(already published, PR #2551)Bug:
CIBW_BUILDwas"cp312-* cp313-* cp314-*", which collapses every one of those glob entries into the same single forward-compatiblecp312-abi3wheel (confirmed: our registry hosts exactly one file,pymeshfix-0.18.1-cp312-abi3-manylinux_2_39_riscv64.whl). That silently dropped thecp310andcp311wheels that upstream's own[tool.cibuildwheel]build matrix actually produces (build = "cp310-* cp311-* cp312-*" # 3.12+ are abi3 wheels), so pymeshfix has never had an installable wheel on riscv64 for Python 3.10/3.11.Why it matters now: PR #3081 (tetgen) builds and tests on cp310 per upstream's own matrix, and upstream's own
test-requirespulls inpymeshfixfor that test. On cp310 there is no compatible pymeshfix wheel in the index, sopip install ... pymeshfixfails withCould not find a version that satisfies the requirement pymeshfix (from versions: none)— not a registry-staleness issue, a genuine gap in this port's build matrix.Fix: match upstream's matrix exactly (
cp310-* cp311-* cp312-*), and generalize the post-build sanity check and artifact/publish naming since a single build job now produces more than one wheel file instead of one.Differs from upstream: nothing beyond the riscv64 image (same as the original port).
Next step after merge: trigger
workflow_dispatchonmainwithversion: 0.18.1to rebuild and publish the missing cp310/cp311 wheels for the already-declared 0.18.1 release (perupdate_doc.py's documented rebuild path: tag/files get replaced under a new immutable release tag).