feat: add RISC-V 64-bit platform support#375
Conversation
Add riscv64gc-unknown-linux-gnu target to the release pipeline: - CI build matrix entry using cross-compilation on ubuntu:20.04 - JReleaser platform replacement and distribution artifact - README supported architectures list Closes sdkman#367 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Hey @gounthar, I'm happy to accept your pull requests (many coming through, I see), but we need to think this through first. It seems you haven't read our contributing guidelines, which ask for conversation on Discord before implementation. I'll hold off with merging anything until we've had that crucial chat. |
|
Of course, sorry. I saw a discussion started by another contributor on Discord, but there were no replies, so I mistakenly assumed that nobody was against it. 🤷 |
|
Yeah sorry, I've been super busy, but I've answered now. Happy to take the chat there if you like. I see you've been burning them tokens 🔥 😆 |
marc0der
left a comment
There was a problem hiding this comment.
Going to merge this first one, because it can't do any harm. We'll be careful to merge and deploy the related PRs to ensure that we don't break anything.
|
Thank you so much! |
Summary
riscv64gc-unknown-linux-gnuto the CI release build matrix, using the sameubuntu:20.04container +taiki-e/setup-cross-toolchain-action@v1cross-compilation approach as the existing aarch64 and i686 targetslinux-riscv_64) and distribution artifact mappingDetails
No Rust code changes needed —
std::env::consts::ARCHalready returns"riscv64"natively. The gap was only in the build/release pipeline.The
gcc-riscv64-linux-gnucross-compiler is available in Ubuntu 20.04 (Focal), so the existing container image works without changes.Closes #367
Test plan
linux-riscv_64followslinux-x86_64,linux-x86_32,linux-aarch_64convention)riscv64gc-unknown-linux-gnuis a valid Rust target triple