diff --git a/acceptance/bin/ci-bootstrap-from-artifacts.sh b/acceptance/bin/ci-bootstrap-from-artifacts.sh index 06f886c12..2c3cac2af 100755 --- a/acceptance/bin/ci-bootstrap-from-artifacts.sh +++ b/acceptance/bin/ci-bootstrap-from-artifacts.sh @@ -1,49 +1,54 @@ #! /usr/bin/env bash ############################################################################### # Initial preparation for a ci acceptance job in Jenkins. Crucially, it # handles the untarring of the build artifact and bundle install, getting us to # a state where we can then bundle exec rake the particular ci:test we want to # run. # # Having this checked in in a script makes it much easier to have multiple # acceptance jobs. It must be kept agnostic between Linux/Solaris/Windows # builds, however. set -x # If $GEM_SOURCE is not set, fall back to rubygems.org if [ -z $GEM_SOURCE ]; then export GEM_SOURCE='https://rubygems.org' fi echo "SHA: ${SHA}" echo "FORK: ${FORK}" echo "BUILD_SELECTOR: ${BUILD_SELECTOR}" echo "PACKAGE_BUILD_STATUS: ${PACKAGE_BUILD_STATUS}" rm -rf acceptance mkdir acceptance cd acceptance tar -xzf ../acceptance-artifacts.tar.gz echo "===== This artifact is from =====" cat creator.txt bundle install --without=development --path=.bundle/gems if [[ "${platform}" =~ 'solaris' ]]; then repo_proxy=" :repo_proxy => false," fi +# If the platform is Windows, append $ruby_arch +if [[ "${platform}" =~ 'win' ]]; then + platform="${platform}-${ruby_arch}" +fi + cat > local_options.rb <<-EOF { :hosts_file => 'config/nodes/${platform}.yaml', :ssh => { :keys => ["${HOME}/.ssh/id_rsa-old.private"], }, ${repo_proxy} } EOF [[ (-z "${PACKAGE_BUILD_STATUS}") || ("${PACKAGE_BUILD_STATUS}" = "success") ]] || exit 1 diff --git a/acceptance/config/nodes/win2003-all.yaml b/acceptance/config/nodes/win2003-all.yaml deleted file mode 100644 index 1f27d0e72..000000000 --- a/acceptance/config/nodes/win2003-all.yaml +++ /dev/null @@ -1,38 +0,0 @@ -HOSTS: - master: - roles: - - master - - agent - platform: el-6-i386 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent-i386: - roles: - - agent - platform: windows-2003-32 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2003-i386 - agent-x86_64: - roles: - - agent - platform: windows-2003-64 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2003-x86_64 - agent-r2-i386: - roles: - - agent - platform: windows-2003r2-32 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2003r2-i386 - agent-r2-x86_64: - roles: - - agent - platform: windows-2003r2-64 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2003r2-x86_64 -CONFIG: - filecount: 12 - datastore: instance0 - resourcepool: delivery/Quality Assurance/FOSS/Dynamic - folder: Delivery/Quality Assurance/FOSS/Dynamic - pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/config/nodes/win2003r2.yaml b/acceptance/config/nodes/win2003r2x64-rubyx64.yaml similarity index 71% rename from acceptance/config/nodes/win2003r2.yaml rename to acceptance/config/nodes/win2003r2x64-rubyx64.yaml index d3c431736..5a94aab24 100644 --- a/acceptance/config/nodes/win2003r2.yaml +++ b/acceptance/config/nodes/win2003r2x64-rubyx64.yaml @@ -1,26 +1,20 @@ HOSTS: master: roles: - master - agent platform: el-6-i386 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent-r2-i386: - roles: - - agent - platform: windows-2003r2-32 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2003r2-i386 - agent-r2-x86_64: + agent-2003r2-x86_64-rubyx64: roles: - agent platform: windows-2003r2-64 + ruby_arch: x64 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/win-2003r2-x86_64 CONFIG: - filecount: 12 datastore: instance0 resourcepool: delivery/Quality Assurance/FOSS/Dynamic folder: Delivery/Quality Assurance/FOSS/Dynamic pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/config/nodes/win2008r2.yaml b/acceptance/config/nodes/win2003r2x64-rubyx86.yaml similarity index 83% copy from acceptance/config/nodes/win2008r2.yaml copy to acceptance/config/nodes/win2003r2x64-rubyx86.yaml index 56608a68a..d58429524 100644 --- a/acceptance/config/nodes/win2008r2.yaml +++ b/acceptance/config/nodes/win2003r2x64-rubyx86.yaml @@ -1,20 +1,20 @@ HOSTS: master: roles: - master - agent platform: el-6-i386 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent: + agent-2003r2-x86_64-rubyx86: roles: - agent - platform: windows-2008r2-64 + platform: windows-2003r2-64 + ruby_arch: x86 hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2008r2-x86_64 + template: Delivery/Quality Assurance/Templates/vCloud/win-2003r2-x86_64 CONFIG: - filecount: 12 datastore: instance0 resourcepool: delivery/Quality Assurance/FOSS/Dynamic folder: Delivery/Quality Assurance/FOSS/Dynamic pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/config/nodes/win2008r2.yaml b/acceptance/config/nodes/win2003r2x86-rubyx86.yaml similarity index 85% copy from acceptance/config/nodes/win2008r2.yaml copy to acceptance/config/nodes/win2003r2x86-rubyx86.yaml index 56608a68a..d91bc7385 100644 --- a/acceptance/config/nodes/win2008r2.yaml +++ b/acceptance/config/nodes/win2003r2x86-rubyx86.yaml @@ -1,20 +1,20 @@ HOSTS: master: roles: - master - agent platform: el-6-i386 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent: + agent-2003r2-i386: roles: - agent - platform: windows-2008r2-64 + platform: windows-2003r2-32 + ruby_arch: x86 hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2008r2-x86_64 + template: Delivery/Quality Assurance/Templates/vCloud/win-2003r2-i386 CONFIG: - filecount: 12 datastore: instance0 resourcepool: delivery/Quality Assurance/FOSS/Dynamic folder: Delivery/Quality Assurance/FOSS/Dynamic pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/config/nodes/win2003.yaml b/acceptance/config/nodes/win2003x64-rubyx64.yaml similarity index 72% rename from acceptance/config/nodes/win2003.yaml rename to acceptance/config/nodes/win2003x64-rubyx64.yaml index 3d61fb2d4..4f6f0754e 100644 --- a/acceptance/config/nodes/win2003.yaml +++ b/acceptance/config/nodes/win2003x64-rubyx64.yaml @@ -1,26 +1,20 @@ HOSTS: master: roles: - master - agent platform: el-6-i386 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent-i386: - roles: - - agent - platform: windows-2003-32 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2003-i386 - agent-x86_64: + agent-2003-x86_64-rubyx64: roles: - agent platform: windows-2003-64 + ruby_arch: x64 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/win-2003-x86_64 CONFIG: - filecount: 12 datastore: instance0 resourcepool: delivery/Quality Assurance/FOSS/Dynamic folder: Delivery/Quality Assurance/FOSS/Dynamic pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/config/nodes/win2008r2.yaml b/acceptance/config/nodes/win2003x64-rubyx86.yaml similarity index 84% copy from acceptance/config/nodes/win2008r2.yaml copy to acceptance/config/nodes/win2003x64-rubyx86.yaml index 56608a68a..5929ab47d 100644 --- a/acceptance/config/nodes/win2008r2.yaml +++ b/acceptance/config/nodes/win2003x64-rubyx86.yaml @@ -1,20 +1,20 @@ HOSTS: master: roles: - master - agent platform: el-6-i386 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent: + agent-2003-x86_64-rubyx86: roles: - agent - platform: windows-2008r2-64 + platform: windows-2003-64 + ruby_arch: x86 hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2008r2-x86_64 + template: Delivery/Quality Assurance/Templates/vCloud/win-2003-x86_64 CONFIG: - filecount: 12 datastore: instance0 resourcepool: delivery/Quality Assurance/FOSS/Dynamic folder: Delivery/Quality Assurance/FOSS/Dynamic pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/config/nodes/win2008r2.yaml b/acceptance/config/nodes/win2003x86-rubyx86.yaml similarity index 86% copy from acceptance/config/nodes/win2008r2.yaml copy to acceptance/config/nodes/win2003x86-rubyx86.yaml index 56608a68a..b558a5514 100644 --- a/acceptance/config/nodes/win2008r2.yaml +++ b/acceptance/config/nodes/win2003x86-rubyx86.yaml @@ -1,20 +1,20 @@ HOSTS: master: roles: - master - agent platform: el-6-i386 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent: + agent-2003-i386: roles: - agent - platform: windows-2008r2-64 + platform: windows-2003-32 + ruby_arch: x86 hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2008r2-x86_64 + template: Delivery/Quality Assurance/Templates/vCloud/win-2003-i386 CONFIG: - filecount: 12 datastore: instance0 resourcepool: delivery/Quality Assurance/FOSS/Dynamic folder: Delivery/Quality Assurance/FOSS/Dynamic pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/config/nodes/win2008r2.yaml b/acceptance/config/nodes/win2008-rubyx64.yaml similarity index 84% copy from acceptance/config/nodes/win2008r2.yaml copy to acceptance/config/nodes/win2008-rubyx64.yaml index 56608a68a..0892d7931 100644 --- a/acceptance/config/nodes/win2008r2.yaml +++ b/acceptance/config/nodes/win2008-rubyx64.yaml @@ -1,20 +1,20 @@ HOSTS: master: roles: - master - agent platform: el-6-i386 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent: + agent-2008-x86_64-rubyx64: roles: - agent - platform: windows-2008r2-64 + platform: windows-2008-64 + ruby_arch: x64 hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2008r2-x86_64 + template: Delivery/Quality Assurance/Templates/vCloud/win-2008-x86_64 CONFIG: - filecount: 12 datastore: instance0 resourcepool: delivery/Quality Assurance/FOSS/Dynamic folder: Delivery/Quality Assurance/FOSS/Dynamic pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/config/nodes/win2008r2.yaml b/acceptance/config/nodes/win2008-rubyx86.yaml similarity index 84% copy from acceptance/config/nodes/win2008r2.yaml copy to acceptance/config/nodes/win2008-rubyx86.yaml index 56608a68a..5de98710b 100644 --- a/acceptance/config/nodes/win2008r2.yaml +++ b/acceptance/config/nodes/win2008-rubyx86.yaml @@ -1,20 +1,20 @@ HOSTS: master: roles: - master - agent platform: el-6-i386 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent: + agent-2008-x86_64-rubyx86: roles: - agent - platform: windows-2008r2-64 + platform: windows-2008-64 + ruby_arch: x86 hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2008r2-x86_64 + template: Delivery/Quality Assurance/Templates/vCloud/win-2008-x86_64 CONFIG: - filecount: 12 datastore: instance0 resourcepool: delivery/Quality Assurance/FOSS/Dynamic folder: Delivery/Quality Assurance/FOSS/Dynamic pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/config/nodes/win2008r2.yaml b/acceptance/config/nodes/win2008r2-rubyx64.yaml similarity index 91% copy from acceptance/config/nodes/win2008r2.yaml copy to acceptance/config/nodes/win2008r2-rubyx64.yaml index 56608a68a..3de3f5db1 100644 --- a/acceptance/config/nodes/win2008r2.yaml +++ b/acceptance/config/nodes/win2008r2-rubyx64.yaml @@ -1,20 +1,20 @@ HOSTS: master: roles: - master - agent platform: el-6-i386 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent: + agent-2008r2-x86_64-rubyx64: roles: - agent platform: windows-2008r2-64 + ruby_arch: x64 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/win-2008r2-x86_64 CONFIG: - filecount: 12 datastore: instance0 resourcepool: delivery/Quality Assurance/FOSS/Dynamic folder: Delivery/Quality Assurance/FOSS/Dynamic pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/config/nodes/win2008-all.yaml b/acceptance/config/nodes/win2008r2-rubyx86.yaml similarity index 71% rename from acceptance/config/nodes/win2008-all.yaml rename to acceptance/config/nodes/win2008r2-rubyx86.yaml index b9e052224..2020cc6c6 100644 --- a/acceptance/config/nodes/win2008-all.yaml +++ b/acceptance/config/nodes/win2008r2-rubyx86.yaml @@ -1,26 +1,20 @@ HOSTS: master: roles: - master - agent platform: el-6-i386 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent-2008r2-x86_64: + agent-2008r2-x86_64-rubyx86: roles: - agent platform: windows-2008r2-64 + ruby_arch: x86 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/win-2008r2-x86_64 - agent-2008-x86_64: - roles: - - agent - platform: windows-2008-64 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2008-x86_64 CONFIG: - filecount: 12 datastore: instance0 resourcepool: delivery/Quality Assurance/FOSS/Dynamic folder: Delivery/Quality Assurance/FOSS/Dynamic pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/config/nodes/win2008r2.yaml b/acceptance/config/nodes/win2012-rubyx64.yaml similarity index 84% copy from acceptance/config/nodes/win2008r2.yaml copy to acceptance/config/nodes/win2012-rubyx64.yaml index 56608a68a..73b8488a1 100644 --- a/acceptance/config/nodes/win2008r2.yaml +++ b/acceptance/config/nodes/win2012-rubyx64.yaml @@ -1,20 +1,20 @@ HOSTS: master: roles: - master - agent platform: el-6-i386 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent: + agent-2012-x86_64-rubyx64: roles: - agent - platform: windows-2008r2-64 + platform: windows-2012-64 + ruby_arch: x64 hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2008r2-x86_64 + template: Delivery/Quality Assurance/Templates/vCloud/win-2012-x86_64 CONFIG: - filecount: 12 datastore: instance0 resourcepool: delivery/Quality Assurance/FOSS/Dynamic folder: Delivery/Quality Assurance/FOSS/Dynamic pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/config/nodes/win2008r2.yaml b/acceptance/config/nodes/win2012-rubyx86.yaml similarity index 84% copy from acceptance/config/nodes/win2008r2.yaml copy to acceptance/config/nodes/win2012-rubyx86.yaml index 56608a68a..9e18b234e 100644 --- a/acceptance/config/nodes/win2008r2.yaml +++ b/acceptance/config/nodes/win2012-rubyx86.yaml @@ -1,20 +1,20 @@ HOSTS: master: roles: - master - agent platform: el-6-i386 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent: + agent-2012-x86_64-rubyx86: roles: - agent - platform: windows-2008r2-64 + platform: windows-2012-64 + ruby_arch: x86 hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2008r2-x86_64 + template: Delivery/Quality Assurance/Templates/vCloud/win-2012-x86_64 CONFIG: - filecount: 12 datastore: instance0 resourcepool: delivery/Quality Assurance/FOSS/Dynamic folder: Delivery/Quality Assurance/FOSS/Dynamic pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/config/nodes/win2012-all.yaml b/acceptance/config/nodes/win2012r2-rubyx64.yaml similarity index 71% rename from acceptance/config/nodes/win2012-all.yaml rename to acceptance/config/nodes/win2012r2-rubyx64.yaml index 3e9a3d83f..59c35f4b9 100644 --- a/acceptance/config/nodes/win2012-all.yaml +++ b/acceptance/config/nodes/win2012r2-rubyx64.yaml @@ -1,26 +1,20 @@ HOSTS: master: roles: - master - agent platform: el-6-i386 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent-2012r2-x86_64: + agent-2012r2-x86_64-rubyx64: roles: - agent platform: windows-2012r2-64 + ruby_arch: x64 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/win-2012r2-x86_64 - agent-2012-x86_64: - roles: - - agent - platform: windows-2012-64 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2012-x86_64 CONFIG: - filecount: 12 datastore: instance0 resourcepool: delivery/Quality Assurance/FOSS/Dynamic folder: Delivery/Quality Assurance/FOSS/Dynamic pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/config/nodes/win2008r2.yaml b/acceptance/config/nodes/win2012r2-rubyx86.yaml similarity index 83% rename from acceptance/config/nodes/win2008r2.yaml rename to acceptance/config/nodes/win2012r2-rubyx86.yaml index 56608a68a..2ebb2dc71 100644 --- a/acceptance/config/nodes/win2008r2.yaml +++ b/acceptance/config/nodes/win2012r2-rubyx86.yaml @@ -1,20 +1,20 @@ HOSTS: master: roles: - master - agent platform: el-6-i386 hypervisor: vcloud template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent: + agent-2012r2-x86_64-rubyx86: roles: - agent - platform: windows-2008r2-64 + platform: windows-2012r2-64 + ruby_arch: x86 hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2008r2-x86_64 + template: Delivery/Quality Assurance/Templates/vCloud/win-2012r2-x86_64 CONFIG: - filecount: 12 datastore: instance0 resourcepool: delivery/Quality Assurance/FOSS/Dynamic folder: Delivery/Quality Assurance/FOSS/Dynamic pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/config/nodes/windows-all.yaml b/acceptance/config/nodes/windows-all.yaml deleted file mode 100644 index d9d05ded5..000000000 --- a/acceptance/config/nodes/windows-all.yaml +++ /dev/null @@ -1,62 +0,0 @@ -HOSTS: - master: - roles: - - master - - agent - platform: el-6-i386 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/redhat-6-i386 - agent-2003-i386: - roles: - - agent - platform: windows-2003-32 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2003-i386 - agent-2003-x86_64: - roles: - - agent - platform: windows-2003-64 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2003-x86_64 - agent-2003r2-i386: - roles: - - agent - platform: windows-2003r2-32 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2003r2-i386 - agent-2003r2-x86_64: - roles: - - agent - platform: windows-2003r2-64 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2003r2-x86_64 - agent-2008r2-x86_64: - roles: - - agent - platform: windows-2008r2-64 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2008r2-x86_64 - agent-2008-x86_64: - roles: - - agent - platform: windows-2008-64 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2008-x86_64 - agent-2012r2-x86_64: - roles: - - agent - platform: windows-2012r2-64 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2012r2-x86_64 - agent-2012-x86_64: - roles: - - agent - platform: windows-2012-64 - hypervisor: vcloud - template: Delivery/Quality Assurance/Templates/vCloud/win-2012-x86_64 -CONFIG: - filecount: 12 - datastore: instance0 - resourcepool: delivery/Quality Assurance/FOSS/Dynamic - folder: Delivery/Quality Assurance/FOSS/Dynamic - pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/acceptance/setup/git/pre-suite/000_EnvSetup.rb b/acceptance/setup/git/pre-suite/000_EnvSetup.rb index f35428fff..5be74955b 100644 --- a/acceptance/setup/git/pre-suite/000_EnvSetup.rb +++ b/acceptance/setup/git/pre-suite/000_EnvSetup.rb @@ -1,65 +1,67 @@ test_name "Setup environment" step "Ensure Git and Ruby" require 'puppet/acceptance/install_utils' extend Puppet::Acceptance::InstallUtils require 'puppet/acceptance/git_utils' extend Puppet::Acceptance::GitUtils require 'beaker/dsl/install_utils' extend Beaker::DSL::InstallUtils PACKAGES = { :redhat => [ 'git', 'ruby', 'rubygem-json', ], :debian => [ ['git', 'git-core'], 'ruby', ], :debian_ruby18 => [ 'libjson-ruby', ], :solaris => [ ['git', 'developer/versioning/git'], ['ruby', 'runtime/ruby-18'], # there isn't a package for json, so it is installed later via gems ], :windows => [ 'git', # there isn't a need for json on windows because it is bundled in ruby 1.9 ], } install_packages_on(hosts, PACKAGES, :check_if_exists => true) hosts.each do |host| case host['platform'] when /windows/ - arch = lookup_in_env('WIN32_RUBY_ARCH', 'puppet-win32-ruby', 'x86') + arch = host[:ruby_arch] || 'x86' step "#{host} Selected architecture #{arch}" revision = if arch == 'x64' '2.0.0-x64' else '1.9.3-x86' end step "#{host} Install ruby from git using revision #{revision}" # TODO remove this step once we are installing puppet from msi packages install_from_git(host, "/opt/puppet-git-repos", :name => 'puppet-win32-ruby', :path => build_giturl('puppet-win32-ruby'), :rev => revision) on host, 'cd /opt/puppet-git-repos/puppet-win32-ruby; cp -r ruby/* /' on host, 'cd /lib; icacls ruby /grant "Everyone:(OI)(CI)(RX)"' on host, 'cd /lib; icacls ruby /reset /T' + on host, 'cd /; icacls bin /grant "Everyone:(OI)(CI)(RX)"' + on host, 'cd /; icacls bin /reset /T' on host, 'ruby --version' on host, 'cmd /c gem list' when /solaris/ step "#{host} Install json from rubygems" on host, 'gem install json' end end