Custom runner/executor for arch-boxes/archiso
arch-boxes and archiso need certain "features" (loop devices, filesystem mounting) which isn't accessible inside Docker nor can access be given safely.
Currently both project boot a TCG accelerated VM which is slow and it is a bit complicated. It would be more ideal if they could just run their script out-of-the-box.
I propose we add a custom runner which run the jobs inside a real KVM accelerated VM.
Technical:
- Install
libvirt
on the runners - Create a script which download the newest arch-boxes basic image once a day and:
- Boot it and wait for
pacman-init.service
to finish - Install all the relevant packages required by gitlab (
gitlab-runner,git,git-lfs
) - Set mirror to
https://mirror.pkgbuild.com
IgnorePkg = linux
- Boot it and wait for
- Create a custom executor (inspiration)
- It should copy the newest image prepared by the mentioned script
- Create a new VM (
virtio-rng
,virtio-balloon
, watchdog?) - Wait for it to boot and SSH into it
- Run the job
- Delete the VM
Related: !139 (closed)
Edited by Kristian Klausen