Fix manylinux image - #62
Merged
Merged
Conversation
numpy dropped manylinux_2_17 wheels at 2.3.0, so inside the manylinux2014
container pip could no longer find a numpy wheel, fell back to the sdist, and
failed against the image's GCC 10.2.1:
../meson.build:25:4: ERROR: Problem encountered: NumPy requires GCC >= 10.3
Nothing real is lost by moving to glibc 2.28. numpy and pyarrow are both hard
runtime requirements of orso and both now publish manylinux_2_28 wheels only,
so a glibc 2.17 orso wheel could not have been installed in the first place.
manylinux_2_28 is AlmaLinux 8 with GCC 14 and ships CPython 3.9-3.15, so the
whole matrix is covered; wheels remain compatible with Debian 10+, Ubuntu
18.10+ and RHEL 8+.
The per-entry manylinux_image/plat only existed to special-case the 3.14t
build, and the pull-with-fallback block had degenerated into pulling the same
image twice; both are collapsed into job-level env.
Also set if-no-files-found: error on the linux and macOS artifacts, so an empty
build fails its job rather than quietly publishing an incomplete set - which is
how macOS cp314t went missing from 0.0.243.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
3.9 reached end of life in October 2025 and orso's own runtime dependencies have followed: pyarrow, numpy, pandas and ormsgpack all stopped publishing cp39 wheels, so a 3.9 user installing orso would have pip backtrack to years-old versions of every one of them. Removed from the release matrices (manylinux, macOS, Windows) and from the regression suite; the Windows regression entry moves 3.9 -> 3.10 so it still covers oldest and newest. The upload job's interpreter goes to 3.12 - it only needs something modern enough to build the sdist. Every other workflow was already on 3.10. Added python_requires=">=3.10" so pip refuses to serve new releases to 3.9 rather than handing over an sdist that cannot resolve its dependencies. Also bumps the version to 0.0.246. version.py still read 0.0.244 while tags 0.0.244 and 0.0.245 both exist, so the next successful release would have published artifacts named orso-0.0.244 whatever the tag said. Neither version reached PyPI, so 0.0.246 is the first clean number. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
This pull request updates the project's supported Python versions, removes Python 3.9 from all build and test workflows, and upgrades the manylinux build image to address compatibility issues with dependencies. It also bumps the package version and sets the minimum required Python version to 3.10.
Python version support updates:
.github/workflows/release.yamland.github/workflows/regression_suite.yaml, so only Python 3.10+ are now supported and tested. [1] [2] [3]setup.pyto require Python >=3.10, preventing installation on unsupported versions.Build system improvements:
manylinux2014(glibc 2.17) tomanylinux_2_28(glibc 2.28) in the release workflow, due to dependency requirements (e.g., numpy and pyarrow no longer supporting glibc 2.17). Simplified the Docker image selection logic accordingly. [1] [2]Version bump:
orso/version.pyfrom 0.0.244 to 0.0.246.