Skip to content

ORC-2179: Add RISC-V Docker image and GitHub Actions support#2644

Open
zhanchangbao-sanechips wants to merge 3 commits into
apache:mainfrom
zhanchangbao-sanechips:ORC-2179-riscv-docker
Open

ORC-2179: Add RISC-V Docker image and GitHub Actions support#2644
zhanchangbao-sanechips wants to merge 3 commits into
apache:mainfrom
zhanchangbao-sanechips:ORC-2179-riscv-docker

Conversation

@zhanchangbao-sanechips

@zhanchangbao-sanechips zhanchangbao-sanechips commented Jun 16, 2026

Copy link
Copy Markdown

What this PR does

Adds a RISC-V (riscv64) Docker image for Ubuntu 24.04 and wires it into GitHub Actions so we can continuously build ORC on RISC-V.

Changes

  • docker/riscv64-ubuntu24/Dockerfile: new image based on the existing Ubuntu 24.04 Dockerfile. Supports both cc=gcc (default) and cc=clang build args.
  • docker/os-list.txt: registered the new image.
  • .github/workflows/build_and_test.yml: added a riscv64 job running under QEMU on ubuntu-latest.

Notes

  • The job currently only builds ORC. RVV-specific tests will be added in follow-up PRs after the RVV decoder implementation is in.
  • I followed the same pattern as the existing aarch64 / ubuntu24 Docker images to keep things consistent.
  • Local verification was done with docker buildx on a host with QEMU user-static registered.

ScreenShot

1 2

This patch adds a riscv64 Ubuntu 24.04 Docker image and a corresponding GitHub Actions job to build ORC on RISC-V.

@dongjoon-hyun dongjoon-hyun left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use riscv64/ubuntu:26.04 because 26.04 is the latest LTS.

@zhanchangbao-sanechips

Copy link
Copy Markdown
Author

Please use riscv64/ubuntu:26.04 because 26.04 is the latest LTS.

Thanks for the review. Updated to use riscv64/ubuntu:26.04 as suggested.

Changes made:

Renamed docker/riscv64-ubuntu24/ to docker/riscv64-ubuntu26/
Updated FROM --platform=linux/riscv64 ubuntu:26.04
Updated docker/os-list.txt
Updated the GitHub Actions matrix and cache scope to riscv64-ubuntu26
Please take another look when you have time.

Comment thread .github/workflows/build_and_test.yml Outdated
-t orc-riscv64 .
- name: Build ORC with RVV
run: |
docker run --platform linux/riscv64 --rm -v $(pwd):/root/orc orc-riscv64 /bin/bash -c \

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should make sure v extension is enable

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should make sure v extension is enable

I have updated the docker run command to include the environment variable QEMU_CPU=rv64,v=on,vlen=128,vext_spec=v1.0, and verified that RVV is working correctly.

The vext_spec=v1.0 explicitly specifies the vector extension version to suppress the warning: "vector version is not specified, use the default value v1.0".

PixPin_2026-06-18_11-01-21

Set QEMU_CPU=rv64,v=on,vlen=128,vext_spec=v1.0 in the riscv64 CI job
and pass it into the Docker container via -e QEMU_CPU. This ensures
the emulated RISC-V CPU has the V extension enabled so that ORC's
RVV code path can be exercised in CI.
@zhanchangbao-sanechips zhanchangbao-sanechips force-pushed the ORC-2179-riscv-docker branch 2 times, most recently from 10db7dd to 8fba229 Compare June 18, 2026 05:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants