Skip to content

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
  • 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
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information