I've been abusing Scaleway's C1 servers for this purpose for a while
now. Hopefully @edouardb and his team won't start decomissioning them as I don't
know what else I can use :).
* doing a full clone of the depot tools. I thought that I could save
some time, but it means that building the binaries is not idempotent
* using rvm instead of system ruby
I'm tired of our releases getting held up because building the binaries
is such a yak shave. We're in dire need of some automation. I tried
spiking some things out with Docker, but for the time being, it was
easier to just go with Vagrant.
Currently, our release process for binary gems involves
1. a source release at an even point (e.g. 3.16.14.8)
2. a version bump to serve as the basis for binary releases
3. a mish-mash of gem builds and pushes for osx, linux, freebsd, etc...
In order to make things eaiser for us to manage these binary builds, I'm
proposing a standardized build using Vagrant. For each supported
release, a Vagrant file goes into /release/<arch>/Vagrantfile
The vagrantfile is responsible for provisioning a modern
ruby toolchain including bundler, git, git-svn, ruby and ruby source and
headers.
It should also clone the libv8 source into the /libv8
This can then be used to build the binary gem for that platform.
This PR includes the Vagrantfile for x86_64-linux