Skip to content

Standalone Vagrantfile

@mvdan @CiaranG as a follow up on our work moving to a 64-bit build server VM, this moves the buildserver config to a standalone YAML file and commits a static Vagrantfile to git. This makes it a lot easier to work with, especially for people who normally use git. The buildserver config is already a Python dict, and its trivial to export a dict to a YAML file. Vagrantfile is a Ruby script, where its trivial to load a YAML file. This moves some of the logic into Vagrantfile itself. This means that someone can mess with Yagrantfile.yaml and/or Vagrantfile to work on the buildserver setup, without having to run ./makebuildserver. Then once something is working, it can be ported to the current ./makebuildserver setup that generates Vagrantfile.yaml.

This is important for working on getting this whole thing running in a KVM instance like jenkins.debian.net and elsewhere. From what I read, VirtualBox in KVM is only possible if VirtualBox is running in 32-bit mode, so that's a dead end for us. We need to be able to run the buildserver as KVM in KVM #190 (closed). This merge request doesn't get us there yet, but it makes the process a lot easier.

This also moves everything but Kivy to provisioning shell scripts, since the existing chef scripts were really just shell scripts wrapped in Chef wrapped in Vagrant wrapped in ./makebuildserver.

This passes the gpjenkins CI build that creates the buildserver from scratch, then builds F-Droid and AdAway: http://qssio5fppcrojdh3.onion:8080/job/fdroidserver-makebuildserver-eighthave/602/

I tried adding Amaze and Retrolambda as test apps for the buildserver too, we'll see how that goes: http://qssio5fppcrojdh3.onion:8080/job/fdroidserver-makebuildserver-eighthave

Merge request reports