googleapis / googleapis/google-cloud-python

Add riscv64 (RISC-V) manylinux wheel builds

Abierto
#16,517 1 comentario 0 reacciones 0 asignados Ver en GitHub
api: storage priority: p3 type: feature request
Lenguaje dominante
Python
Estrellas
5.4k
Forks
1.8k
Merge medio
3 d 4 h
PR fusionados (30 d)
122

Descripción

**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

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.