diff options
author | Robert Speicher <robert@gitlab.com> | 2017-05-25 16:53:51 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2017-05-25 16:53:51 +0000 |
commit | 43c3614ebfd3a224b9db5718f19aa1e1eb7e7e61 (patch) | |
tree | 3e611c5f325ebc0e13ab8ef765212976bd7f2741 /spec/support | |
parent | 41441445a07649ce451bfffc546aaca87934655e (diff) | |
parent | eef12afc74cd93d3d59c2e33d562849694e9f6bb (diff) | |
download | gitlab-ce-43c3614ebfd3a224b9db5718f19aa1e1eb7e7e61.tar.gz |
Merge branch '32762-gitaly-should-be-recompiled-when-gitaly_server_version-changes' into 'master'
Recompile test env Gitaly when `GITALY_SERVER_VERSION` fails
Closes #32762
See merge request !11664
Diffstat (limited to 'spec/support')
-rw-r--r-- | spec/support/test_env.rb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/spec/support/test_env.rb b/spec/support/test_env.rb index b168098edea..3c000feba5d 100644 --- a/spec/support/test_env.rb +++ b/spec/support/test_env.rb @@ -123,7 +123,7 @@ module TestEnv socket_path = Gitlab::GitalyClient.address('default').sub(/\Aunix:/, '') gitaly_dir = File.dirname(socket_path) - unless File.directory?(gitaly_dir) || system('rake', "gitlab:gitaly:install[#{gitaly_dir}]") + unless !gitaly_needs_update?(gitaly_dir) || system('rake', "gitlab:gitaly:install[#{gitaly_dir}]") raise "Can't clone gitaly" end @@ -252,4 +252,15 @@ module TestEnv cleanup && init unless reset.call end end + + def gitaly_needs_update?(gitaly_dir) + gitaly_version = File.read(File.join(gitaly_dir, 'VERSION')).strip + + # Notice that this will always yield true when using branch versions + # (`=branch_name`), but that actually makes sure the server is always based + # on the latest branch revision. + gitaly_version != Gitlab::GitalyClient.expected_server_version + rescue Errno::ENOENT + true + end end |