@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
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