diff options
author | Rémy Coutable <remy@rymai.me> | 2018-01-22 13:13:33 +0300 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2018-01-23 17:29:20 +0300 |
commit | fca2a75266cfeefb2497a0a43b7bca127c970597 (patch) | |
tree | e61d1234258052ae1e99f1fe8bf213b47dace1bc /scripts/gitaly-test-build | |
parent | ea14c1e6963f4411666804aed084344916e49ad9 (diff) |
Ensure Gitaly Ruby gems are installed using the correct Gemfile and at the correct location
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'scripts/gitaly-test-build')
-rwxr-xr-x | scripts/gitaly-test-build | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/scripts/gitaly-test-build b/scripts/gitaly-test-build index 95d9fe0f176..b42ae2a2595 100755 --- a/scripts/gitaly-test-build +++ b/scripts/gitaly-test-build @@ -9,11 +9,21 @@ require 'fileutils' # called 'bundle install' using a different Gemfile, as happens with # gitlab-ce and gitaly. -dir = 'tmp/tests/gitaly' +tmp_tests_gitaly_dir = File.expand_path('../tmp/tests/gitaly', __dir__) -abort 'gitaly build failed' unless system('make', chdir: dir) +# Use the top-level bundle vendor folder so that we don't reinstall gems twice +bundle_vendor_path = File.expand_path('../vendor', __dir__) + +env = { + # This ensure the `clean` config set in `scripts/prepare_build.sh` isn't taken into account + 'BUNDLE_IGNORE_CONFIG' => 'true', + 'BUNDLE_GEMFILE' => File.join(tmp_tests_gitaly_dir, 'ruby', 'Gemfile'), + 'BUNDLE_FLAGS' => "--jobs=4 --path=#{bundle_vendor_path} --retry=3" +} + +abort 'gitaly build failed' unless system(env, 'make', chdir: tmp_tests_gitaly_dir) # Make the 'gitaly' executable look newer than 'GITALY_SERVER_VERSION'. # Without this a gitaly executable created in the setup-test-env job # will look stale compared to GITALY_SERVER_VERSION. -FileUtils.touch(File.join(dir, 'gitaly'), mtime: Time.now + (1 << 24)) +FileUtils.touch(File.join(tmp_tests_gitaly_dir, 'gitaly'), mtime: Time.now + (1 << 24)) |