Open
Conversation
Add manylinux_2_28 riscv64 entries to both libyaml and pyyaml build matrices. QEMU emulation is already configured for non-x86_64/non-aarch64 architectures, so riscv64 builds work without additional setup steps. Targets CPython 3.10-3.14 (including free-threaded). Marked as slow jobs to allow skipping during CI for PRs and pushes. Closes yaml#924
38 tasks
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.
Summary
Add
linux_riscv64wheels to the CI workflow for both libyaml and pyyaml builds.Changes
{ platform: manylinux_2_28, arch: riscv64 }to the libyaml build matrixmanylinux_2_28riscv64 entries for CPython 3.10–3.14 (including free-threaded) to the pyyaml build matrixCIBW_MANYLINUX_RISCV64_IMAGEenvironment variable for cibuildwheelomit: skip_slow_jobs) to avoid running on every PR/pushHow it works
The existing workflow already handles riscv64 correctly:
ubuntu-24.04(non-aarch64 fallback)matrix.arch != 'x86_64' && matrix.arch != 'aarch64'quay.io/pypa/manylinux_2_28_riscv64exists and worksEvidence
A tested riscv64 wheel is available in our community index:
https://gounthar.github.io/riscv64-python-wheels/simple/pyyaml/
Built natively on BananaPi F3 (SpacemiT K1, rv64imafdcv, 8 cores @ 1.6 GHz, 16 GB RAM).
Context
manylinux_2_28_riscv64is available in pypa/manylinuxCloses #924
Note: this work is part of the RISE Project effort to improve Python ecosystem support on riscv64 platforms. Native riscv64 CI runners are available for free via RISE RISC-V runners.