Skip to content

Build Python wheels for manylinux 2.28 - #180

Open
jsturtevant wants to merge 1 commit into
mainfrom
jsturtevant-build-manylinux-2-28-wheels
Open

Build Python wheels for manylinux 2.28#180
jsturtevant wants to merge 1 commit into
mainfrom
jsturtevant-build-manylinux-2-28-wheels

Conversation

@jsturtevant

Copy link
Copy Markdown
Contributor

Issue #141 requests Python backend wheels that install on HPC systems using glibc 2.28. The current Ubuntu-hosted builds produce manylinux_2_34 wheels, excluding those systems.

This updates CI and publishing to run the existing just python-dist flow inside a digest-pinned official PyPA manylinux_2_28 environment. The Justfile passes the requested manylinux policy to maturin, and both workflows reject native wheels without the expected manylinux_2_28_x86_64 tag. A single 2.28 wheel set remains compatible with glibc 2.34 and newer.

Closes #141

Signed-off-by: James Sturtevant <jsturtevant@gmail.com>
@jsturtevant
jsturtevant force-pushed the jsturtevant-build-manylinux-2-28-wheels branch from 48b9477 to 86f0496 Compare August 14, 2026 21:35
@jsturtevant
jsturtevant requested a lite review from Copilot August 14, 2026 21:44

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Python wheel build/release pipelines so Linux backend wheels are produced with the manylinux_2_28_x86_64 policy (glibc 2.28+), addressing installation failures on older-HPC glibc environments by moving the existing just python-dist build into a digest-pinned PyPA manylinux container and enforcing tag validation.

Changes:

  • Add MANYLINUX support to the Python SDK Justfile and pass --manylinux through to maturin build.
  • Run Linux wheel builds in CI and publish workflows inside a pinned quay.io/pypa/manylinux_2_28_x86_64 container.
  • Add a workflow verification step that fails the build if produced backend wheels are not tagged manylinux_2_28_x86_64.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
src/sdk/python/Justfile Adds MANYLINUX env wiring to pass a specific manylinux policy into maturin builds for backend wheels.
.github/workflows/publish.yml Builds Linux wheels inside the pinned manylinux_2_28 container and verifies resulting wheel tags before uploading artifacts for publishing.
.github/workflows/ci.yml Updates the Linux wheelhouse build job to run in the manylinux_2_28 container and enforces the expected manylinux wheel tag in CI.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

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.

Wheels for glibc 2.28

2 participants