Skip to content

ci: add riscv64 to Linux integration test matrix#13124

Draft
gounthar wants to merge 1 commit intocontainerd:mainfrom
gounthar:ci/add-riscv64-to-ci
Draft

ci: add riscv64 to Linux integration test matrix#13124
gounthar wants to merge 1 commit intocontainerd:mainfrom
gounthar:ci/add-riscv64-to-ci

Conversation

@gounthar
Copy link
Copy Markdown

What

Adds ubuntu-24.04-riscv to the Linux integration test matrix in CI. containerd already ships riscv64 release binaries but the CI test matrix does not cover this architecture.

Changes

  • Add ubuntu-24.04-riscv to integration-linux OS matrix
  • Skip criu on riscv64 (not available for this architecture, criu#1702)
  • Skip erofs build and kernel module load on riscv64 (kernel module not available on current RISE runners)
  • Skip checkpoint/restore on riscv64 (depends on criu)
  • Install buildah/podman on riscv64 (not pre-installed, same as arm64)

The ubuntu-24.04-riscv runners are provided by the RISE Project, free for open source. Same setup as ubuntu-24.04-arm and ubuntu-24.04-s390x.

Test results

Fork CI run: https://github.com/gounthar/containerd/actions/runs/23548524366

1752 tests pass, 62 skipped, 1 failure on both cgroupfs and systemd drivers.

The single failure is TestSetPositiveOomScoreAdjustment (oom_linux_test.go:36): the test expects to set OOM score to 1000 and read it back, but the RISE runner's Kubernetes pod starts with OOM score 123, which affects the result. This is a runner environment difference, not an architecture issue. Reported upstream at riscv-runner-images#22.

Additionally, lsmod is missing on the runner image (riscv-runner-images#23), causing the "Kernel Message" step to fail on error. This does not affect test results.

Relates to #13020.

@gounthar
Copy link
Copy Markdown
Author

To enable the riscv64 runner on this repository, a containerd org admin would need to install the RISE GitHub App: https://github.com/apps/rise-risc-v-runners

Once installed, jobs with runs-on: ubuntu-24.04-riscv are picked up automatically. No configuration beyond the app install.

Add ubuntu-24.04-riscv to the integration-linux CI matrix.
Skip criu, erofs, and checkpoint/restore on riscv64 (not yet
available for this architecture). Install buildah/podman on
riscv64 (not pre-installed, same as arm64). Add private-repo
exclude for riscv64 matching the arm64 pattern.

Relates to containerd#13020.

Signed-off-by: Bruno Verachten <gounthar@gmail.com>
@gounthar gounthar force-pushed the ci/add-riscv64-to-ci branch from 48a8039 to 641387b Compare March 25, 2026 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Needs Triage

Development

Successfully merging this pull request may close these issues.

2 participants