Xavier Claessens
November 06, 2018
Reading time:
GNOME GitLab has AWS runners, but they are used only when pushing code into a GNOME upstream repository, not when you push into your personal fork. For personal forks there is only one (AFAIK) shared runner and you could be waiting for hours before it picks your job.
But did you know you can register your own PC, or a spare laptop collecting dust in a drawer, to get instant continuous integration (CI) going? It's really easy to setup!
apt install docker.io
Follow the instructions here:
https://gitlab.com/gitlab-org/gitlab-runner/blob/master/docs/install/linux-repository.md#installing-the-runner
(Note: The Ubuntu 18.04 package doesn't seem to work.)
sudo gitlab-runner install
sudo gitlab-runner start
Go to your gitlab project page, settings -> CI/CD -> expand "runners"
sudo gitlab-runner register --non-interactive --url https://gitlab.gnome.org --executor docker --docker-image fedora:27 --registration-token ****
You can repeat step 5 with the registration token of all your personal forks in the same GitLab instance. To make this easier, here's a snippet I wrote in my ~/.bashrc to register my "builder.local" machine on a new project. Use it as gitlab-register <token>.
function gitlab-register {
host=$1
token=$2
case "$host" in
gnome)
host=https://gitlab.gnome.org
;;
fdo)
host=https://gitlab.freedesktop.org
;;
collabora)
host=https://gitlab.collabora.com
;;
*)
host=https://gitlab.gnome.org
token=$1
esac
cmd="sudo gitlab-runner register --non-interactive --url $host --executor docker --docker-image fedora:27 --registration-token $token"
#$cmd
ssh builder.local -t "$cmd"
}
Not only will you now get faster CI, but you'll also reduce the queue on the shared runner for others!
Visit Xavier's blog.
24/11/2025
LE Audio introduces a modern, low-power, low-latency Bluetooth® audio architecture that overcomes the limitations of classic Bluetooth®…
17/11/2025
Collabora’s long-term leadership in KernelCI has delivered a completely revamped architecture, new tooling, stronger infrastructure, and…
11/11/2025
Collabora extended the AdobeVFR dataset and trained a FasterViT-2 font recognition model on millions of samples. The result is a state-of-the-art…
31/10/2025
Collabora has advanced Monado's accessibility by making the OpenXR runtime supported by Google Cardboard and similar mobile VR viewers so…
27/10/2025
By resolving critical synchronization bugs in Zink’s Vulkan–OpenGL interop, Faith Ekstrand paved the way for Zink+NVK to become the default…
25/09/2025
Abandoned vendor-provided BSP roadblocks can be overcome when mainline Open Source projects like the Linux kernel are integrated directly.…
Comments (0)
Add a Comment