Add riscv64 CI build and release assets
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 22.2k
- Forks
- 1.9k
- PR merge metrics
- PR metrics pending
Description
Problem
mdBook has no CI coverage for riscv64 and no pre-built riscv64 binaries in releases. The CI already cross-builds for aarch64-unknown-linux-musl; riscv64 is a natural extension. Users on riscv64 hardware (SBCs, cloud instances, RISC-V workstations) currently build from source without CI validation.
Proposed Solution
Two additions:
-
CI (
main.yml): add ariscv64gc-unknown-linux-gnucross-build job (similar to the existingaarch64-cross-buildsjob), or use native RISE riscv64 runners (ubuntu-24.04-riscv) for build + test. -
Release (
deploy.yml): addriscv64gc-unknown-linux-musl(or gnu) to the matrix so releases include a riscv64 binary.
Runner access for the rust-lang org: install the RISE GitHub App. These are native riscv64 machines - no emulation needed.
I can open a PR if this gets the E-Help-wanted or Feature accepted label. Per CONTRIBUTING.md, I understand only labeled issues receive reviews.
Notes
I've built mdBook successfully on riscv64 hardware (SpacemiT K1, Banana Pi F3). cargo build --release and cargo test pass without code changes; Rust's stdlib supports riscv64gc out of the box.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the existing aarch64-cross-builds job in main.yml and the target matrix in deploy.yml. Check the available riscv64 target and runner options, then verify cargo build --release and cargo test for riscv64. Done means CI validates the target and releases contain a riscv64 binary.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, rust
- Domain
- build-system, ci-cd, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100