Skip to content

Add compile-time Rust build stage for rpds-py on s390x/ppc64le architecturesΒ #1724

@coderabbitai

Description

@coderabbitai

Problem

The rpds-py Python package (>=0.27.0) is a Rust extension that provides manylinux wheels for x86_64 and aarch64, but not for s390x or ppc64le. When building notebook images for s390x or ppc64le, pip falls back to a slow source build, requiring the Rust toolchain and potentially polluting the final image with build dependencies.

Affected images

  • All images that install rpds-py and are intended to support s390x or ppc64le architectures (e.g., jupyter/pytorch+llmcompressor/ubi9-python-3.11, and any others using rpds-py).

Solution proposal

  • Add a compile-time Rust build stage to the Dockerfiles for affected images, triggered only for s390x and ppc64le builds.
  • Use a multi-stage Docker build: install Rust and build rpds-py from source in a builder stage, then copy only the resulting Python environment/wheels into the final image, omitting the Rust toolchain and build dependencies.
  • Document the conditional logic and update CI to test s390x/ppc64le builds if possible.

Acceptance criteria

  • rpds-py is installed successfully on s390x and ppc64le images without leaving Rust toolchain artifacts in the final image.
  • x86_64 and aarch64 images continue to use prebuilt wheels (no Rust build required).
  • CI covers all supported architectures.
  • Implementation and documentation follow repository multi-arch patterns.

References

Assigned to @jiridanek for triage and tracking.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

πŸ“‹ Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions