Xavier Claessens
November 06, 2018
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.
03/03/2021
In the embedded world, many modern SoCs such as the ST Microelectronics STM32MP1 now include coprocessor cores which can be used for a wide…
17/02/2021
Our recent efforts on the Hantro kernel driver have resulted in the addition of H.264 decoding support and multiple performance improvements.…
08/02/2021
Hwangsaeul, or H8L, a remote surveillance streaming solution, utilizes the capability of libsrt to collect statistics from open SRT sockets…
01/02/2021
Complex, real-world correctness tests and performance analysis are now possible thanks to gltrim, a new tool recently added to apitrace,…
28/01/2021
Earlier this week, WebRTC became an official W3C and IETF standard. GStreamer has a powerful and rapidly maturing WebRTC implementation.…
21/01/2021
Last year, from June to September, I worked on the kernel development tool Coccinelle under Collabora. I implemented a performance boosting…
Comments (0)
Add a Comment