puppet-openstack-integration/playbooks/run-unit-tests.yaml
Takashi Kajinami 0be086fef5 Explicitly set --bindir when isntalling bundle
... so that we can make sure that bundle command is installed in
GEM_HOME/bin directory.

Change-Id: I1ea78bbd2b7fe22d510e10b0c96c0ed7bdc9f8a3
Closes-Bug: #1866176
2020-03-10 06:09:34 +00:00

32 lines
1.4 KiB
YAML

- hosts: all
tasks:
- name: install ruby bundler and run it
shell:
cmd: |
if [ "{{ puppet_gem_version }}" != "latest" ]; then
export PUPPET_GEM_VERSION='~> {{ puppet_gem_version }}'
fi
# TODO(tobias-urdin): Remove when we dont pin rspec-puppet
export RSPEC_PUPPET_VERSION='{{ rspec_puppet_version }}'
# NOTE(aschultz): rspec-puppet 2.4+ has strict variables enabled
# which causes test failures. The problem is that the puppet modules
# have never worked with strict_variables = true due to backwards
# compatibility & import ordering. Since this has not been true,
# lets disable it in the unit testing for now. Perhaps some day
# we will be able to turn this back to true.
export STRICT_VARIABLES=no
mkdir .bundled_gems
export GEM_HOME=`pwd`/.bundled_gems
export GEM_BIN_DIR=$GEM_HOME/bin
ruby <<EOF
cmd = 'gem install bundler --no-rdoc --no-ri --verbose --no-user-install --bindir=${GEM_BIN_DIR}'
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3.0') then
cmd += ' -v 1.17.3'
end
system(cmd)
EOF
$GEM_BIN_DIR/bundle install --retry 3
$GEM_BIN_DIR/bundle exec rake spec SPEC_OPTS='--format documentation'
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'