feat(google-crc32c): add riscv64 manylinux wheel builds#1
feat(google-crc32c): add riscv64 manylinux wheel builds#1
Conversation
Add riscv64 to the manylinux wheel build matrix using the manylinux_2_39_riscv64 image (the correct tag for riscv64; manylinux2014 has no riscv64 variant). Changes: - scripts/manylinux/build.sh: add riscv64 docker run block - .github/workflows/riscv64-wheels.yml: CI workflow to build and upload riscv64 wheels on pull_request/push to main The build uses QEMU emulation on ubuntu-latest, matching the approach used for the existing aarch64 builds. Follows up on googleapis/python-crc32c#337 (closed when repo was archived; maintainer asked to re-open here). Signed-off-by: Bruno Verachten <gounthar@gmail.com>
📝 WalkthroughWalkthroughThese changes add RISC-V 64-bit (riscv64) architecture support to the google-crc32c package's build pipeline. A new GitHub Actions workflow handles riscv64 wheel builds via QEMU emulation, while the build script is extended to include the riscv64 build step alongside existing architectures. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request introduces a GitHub Actions workflow for building riscv64 wheels and updates the manylinux build script to support the new architecture. Feedback identifies an unnecessary interactive flag and missing variable quotes in the build script, as well as a discrepancy where the BUILD_PYTHON environment variable is omitted in the CI workflow.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@packages/google-crc32c/scripts/manylinux/build.sh`:
- Around line 59-60: The docker run invocation in build.sh uses unquoted
variable expansions (e.g., --volume ${REPO_ROOT}:/var/code/python-crc32c/ and
--env BUILD_PYTHON=${BUILD_PYTHON}), which can break with spaces or glob
characters; update the docker run args to wrap expansions in double quotes (for
example quote the --volume and --env values as "--volume
\"${REPO_ROOT}:/var/code/python-crc32c/\"" and "--env
\"BUILD_PYTHON=${BUILD_PYTHON}\"") and audit any other docker run arguments in
the script for similar unquoted expansions.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 10319551-f913-452d-aea1-30045e9a3d32
📒 Files selected for processing (2)
packages/google-crc32c/.github/workflows/riscv64-wheels.ymlpackages/google-crc32c/scripts/manylinux/build.sh
Intra-fork PR to validate CI before upstream googleapis#16559 is reviewed.
Summary by CodeRabbit