Skip to content

Add RISC-V support

Aaron Dewes requested to merge gitlab-community/gitlab-runner:risc-v into main

What does this MR do?

Add experimental RISC-V builds of the gitlab-runner.

Why was this MR needed?

RISC-V is increasing in popularity, and being able to run CI on RISC-V will help various other projects utilize RISC-V.

What's the best way to test this MR?

Run the generated builds on a RISC-V device and then actually use CI with it (I'l create a sample workflow with a compatibile docker image soon).

What are the relevant issue numbers?

#27562 (closed)


Current state of this feature

Helper image

The helper image is only available with the alpine-edge flavor, which has been introduced by this MR. This image is the default for RISC-V.

Questions for reviewers: Is this acceptable, does it need to be documented somewhere?

Git LFS (in the helper image)

Git LFS does not provide prebuilts for RISC-V yet. For alpine-edge, I decided to just install it using APK, because it will still be the latest version in most cases, because edge receives updates quickly.

I submitted an upstream PR to include this change, but the next release 3.4.0 happened just after the PR was created, but it should : https://github.com/git-lfs/git-lfs/pull/5438.

Testing

After manually importing the image, this MR has been working for me and has successfully ran some CI jobs.

Usability

Most Docker images do not provide RISC-V builds, which make this hard to actually utilize.

Runner support will allow me and hopefully others to build Docker images on RISC-V though. I am planning to release a custom build of the docker container (Docker in Docker), which should be quite useful for CI soon (independent of this MR, but it will be built on Gitlab CI, so this MR would help).

Edited by Aaron Dewes

Merge request reports