From: Tom Clegg Date: Tue, 8 Feb 2022 19:09:16 +0000 (-0500) Subject: 17492: Clean up bundler version check/install. X-Git-Tag: 2.4.0~95^2 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/fba386bcea1c003760fa23daff1ecabc14a476ca 17492: Clean up bundler version check/install. Apparently gem installs bundler in $HOME, not in $GEM_HOME like we expected. The broken code continued working as long as it was using a pre-existing run-tests temp dir that also installed a version of bundler in $GEM_HOME because bundler was listed in a Gemfile.lock. Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- diff --git a/build/run-tests.sh b/build/run-tests.sh index 9cd38784b9..f716cb35f2 100755 --- a/build/run-tests.sh +++ b/build/run-tests.sh @@ -544,13 +544,12 @@ setup_ruby_environment() { echo "Will install dependencies to $(gem env gemdir)" echo "Will install bundler and arvados gems to $tmpdir_gem_home" echo "Gem search path is GEM_PATH=$GEM_PATH" - bundle="$tmpdir_gem_home/bin/bundle" + bundle="bundle" ( export HOME=$GEMHOME - bundlers="$(gem list --details bundler)" versions=(2.2.19) for v in ${versions[@]}; do - if ! echo "$bundlers" | fgrep -q "($v)"; then + if ! gem list --installed --version "${v}" bundler >/dev/null; then gem install --no-document --user $(for v in ${versions[@]}; do echo bundler:${v}; done) break fi