googleapis / googleapis/google-cloud-python

Add riscv64 (RISC-V) manylinux wheel builds

未关闭
#16,517 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
api: storage priority: p3 type: feature request
主要语言
Python
星标
5.4k
派生
1.8k
平均合并
3 天 4 小时
30 天内合并 PR
122

描述

**Is your feature request related to a problem? Please describe.**

There are no pre-built wheels for the `linux_riscv64` platform. Users on RISC-V hardware (e.g., SiFive boards, StarFive VisionFive 2, Milk-V) must compile google-crc32c from source, which requires a working C toolchain, cmake, and the google/crc32c submodule. This is a significant barrier for RISC-V adoption since many users expect `pip install google-crc32c` to just work.

**Describe the solution you'd like**

Add `riscv64` to the manylinux wheel build matrix using `quay.io/pypa/manylinux_2_28_riscv64` (the official PyPA manylinux image for RISC-V). The existing `build_on_centos.sh` script already works inside manylinux_2_28 containers, and QEMU user-mode emulation makes cross-building straightforward.

Additionally, add a GitHub Actions workflow that builds and tests riscv64 wheels via QEMU, so CI coverage is visible on pull requests.

**Describe alternatives you've considered**

- Building from source on native riscv64 hardware: works but is slow and requires users to have build tools installed.
- Cross-compiling with a riscv64 GCC toolchain outside Docker: more complex setup and harder to produce manylinux-compliant wheels.

**Additional context**

- The `manylinux_2_28_riscv64` image is officially maintained by PyPA: https://quay.io/repository/pypa/manylinux_2_28_riscv64
- The google/crc32c C library builds cleanly on riscv64 with cmake
- Several Python ecosystem packages (numpy, scipy, etc.) are adding riscv64 wheel support

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。