diff options
author | Jacob Vosmaer (GitLab) <jacob@gitlab.com> | 2017-08-03 10:15:08 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-08-03 10:15:08 +0000 |
commit | 06165fa0afa843ada266b2f453eb723c8174b5bd (patch) | |
tree | 257dd7a2d839b3f0cb11e8c10dbdfe4ee45c326e | |
parent | beaa0723b864371421bf4b07dbba09c5a17277e2 (diff) | |
download | gitlab-ce-06165fa0afa843ada266b2f453eb723c8174b5bd.tar.gz |
Remove test gitaly when older than version file
-rwxr-xr-x | scripts/gitaly-test-build | 11 | ||||
-rw-r--r-- | spec/support/test_env.rb | 11 |
2 files changed, 21 insertions, 1 deletions
diff --git a/scripts/gitaly-test-build b/scripts/gitaly-test-build index 44d314009e2..95d9fe0f176 100755 --- a/scripts/gitaly-test-build +++ b/scripts/gitaly-test-build @@ -1,5 +1,7 @@ #!/usr/bin/env ruby +require 'fileutils' + # This script assumes tmp/tests/gitaly already contains the correct # Gitaly version. We just have to compile it and run its 'bundle # install'. We have this separate script for that because weird things @@ -7,4 +9,11 @@ # called 'bundle install' using a different Gemfile, as happens with # gitlab-ce and gitaly. -abort 'gitaly build failed' unless system('make', chdir: 'tmp/tests/gitaly') +dir = 'tmp/tests/gitaly' + +abort 'gitaly build failed' unless system('make', chdir: 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)) diff --git a/spec/support/test_env.rb b/spec/support/test_env.rb index f0603dfadde..7995b5893e2 100644 --- a/spec/support/test_env.rb +++ b/spec/support/test_env.rb @@ -133,6 +133,12 @@ module TestEnv def setup_gitaly socket_path = Gitlab::GitalyClient.address('default').sub(/\Aunix:/, '') gitaly_dir = File.dirname(socket_path) + + if gitaly_dir_stale?(gitaly_dir) + puts "rm -rf #{gitaly_dir}" + FileUtils.rm_rf(gitaly_dir) + end + gitaly_needs_update = component_needs_update?(gitaly_dir, Gitlab::GitalyClient.expected_server_version) @@ -143,6 +149,11 @@ module TestEnv start_gitaly(gitaly_dir) end + def gitaly_dir_stale?(dir) + gitaly_executable = File.join(dir, 'gitaly') + !File.exist?(gitaly_executable) || (File.mtime(gitaly_executable) < File.mtime(Rails.root.join('GITALY_SERVER_VERSION'))) + end + def start_gitaly(gitaly_dir) if ENV['CI'].present? # Gitaly has been spawned outside this process already |