rust-lang / rust-lang/mdBook

Add riscv64 CI build and release assets

Open
#3,055 0 comments 0 reactions 0 assignees View on GitHub

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:

  1. CI (main.yml): add a riscv64gc-unknown-linux-gnu cross-build job (similar to the existing aarch64-cross-builds job), or use native RISE riscv64 runners (ubuntu-24.04-riscv) for build + test.

  2. Release (deploy.yml): add riscv64gc-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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.