(PUP-2828) puppet-win32-ruby acceptance ver config
- Previously, Jenkins acceptance jobs on Windows would clone Windows source for puppet-win32-ruby, the vendored Ruby that we ship as part of Windows MSI builds. This comes from an internal git mirror.
- At present, a simple checkout is performed against whatever is the 'default' branch (typically the 1.9.3 branch). Unfortunately, this will not work for any acceptance jobs that intend to use 2.0, and it currently doesn't work for jobs that need new versions of gems.
- Rather than take a 'clone the repo and hope it works' approach, make use of Beaker's :rev option when calling install_from_git. https://github.com/puppetlabs/beaker/blob/beaker1.11.2/lib/beaker/dsl/install_utils.rb#L106
- Using :rev allows us to pin the repo version by using an environment variable that can be setup in the Jenkins job. Track the relevant SHAs with the modified code so that dependent versions are tracked in the source tree, rather than through transient Jenkins jobs.
- To allow the jobs to build a particular architecture, introduce a new environment variable called WIN32_RUBY_ARCH that can be used to select either 'x86' or 'x64'. If an arch is not specified, fall back to 'x86', but if the appropriate :rev is not specified, kill the setup step.