Create and provision a new Vagrant VM for every ISO build
… using the basebox encoded in the build branch + a set of APT snapshots derived from what’s encoded in Git.
First of all: benchmark how much it slows down the build, to ensure this is a viable option.
The branch this VM is made for must be encoded in the VM itself, and Vagrant should abort if one tries to reuse it to build another branch (rationale: that other branch may point to an older set of APT snapshots, and then the Vagrant provisioning will try to downgrade the entire system, which won’t work reliably enough for our needs). With this sanity check in, we can add an option to keep the VM running and not delete it (#11981 (closed)), for faster development builds when one works on a branch.
Feature Branch: feature/11980-static-build-env
Parent Task: #5630 (closed)