Merge branch 'shell-test-rebuild' into 'master'
Reinstall shell on the test env if it's outdated See merge request !12285
This commit is contained in:
commit
6e37e69671
2 changed files with 17 additions and 12 deletions
|
@ -1,6 +1,8 @@
|
||||||
required_version = Gitlab::VersionInfo.parse(Gitlab::Shell.version_required)
|
unless Rails.env.test?
|
||||||
current_version = Gitlab::VersionInfo.parse(Gitlab::Shell.new.version)
|
required_version = Gitlab::VersionInfo.parse(Gitlab::Shell.version_required)
|
||||||
|
current_version = Gitlab::VersionInfo.parse(Gitlab::Shell.new.version)
|
||||||
|
|
||||||
unless current_version.valid? && required_version <= current_version
|
unless current_version.valid? && required_version <= current_version
|
||||||
warn "WARNING: This version of GitLab depends on gitlab-shell #{required_version}, but you're running #{current_version}. Please update gitlab-shell."
|
warn "WARNING: This version of GitLab depends on gitlab-shell #{required_version}, but you're running #{current_version}. Please update gitlab-shell."
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -120,18 +120,21 @@ module TestEnv
|
||||||
end
|
end
|
||||||
|
|
||||||
def setup_gitlab_shell
|
def setup_gitlab_shell
|
||||||
unless File.directory?(Gitlab.config.gitlab_shell.path)
|
shell_needs_update = component_needs_update?(Gitlab.config.gitlab_shell.path,
|
||||||
unless system('rake', 'gitlab:shell:install')
|
Gitlab::Shell.version_required)
|
||||||
raise 'Can`t clone gitlab-shell'
|
|
||||||
end
|
unless !shell_needs_update || system('rake', 'gitlab:shell:install')
|
||||||
|
raise 'Can`t clone gitlab-shell'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def setup_gitaly
|
def setup_gitaly
|
||||||
socket_path = Gitlab::GitalyClient.address('default').sub(/\Aunix:/, '')
|
socket_path = Gitlab::GitalyClient.address('default').sub(/\Aunix:/, '')
|
||||||
gitaly_dir = File.dirname(socket_path)
|
gitaly_dir = File.dirname(socket_path)
|
||||||
|
gitaly_needs_update = component_needs_update?(gitaly_dir,
|
||||||
|
Gitlab::GitalyClient.expected_server_version)
|
||||||
|
|
||||||
unless !gitaly_needs_update?(gitaly_dir) || system('rake', "gitlab:gitaly:install[#{gitaly_dir}]")
|
unless !gitaly_needs_update || system('rake', "gitlab:gitaly:install[#{gitaly_dir}]")
|
||||||
raise "Can't clone gitaly"
|
raise "Can't clone gitaly"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -261,13 +264,13 @@ module TestEnv
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def gitaly_needs_update?(gitaly_dir)
|
def component_needs_update?(component_folder, expected_version)
|
||||||
gitaly_version = File.read(File.join(gitaly_dir, 'VERSION')).strip
|
version = File.read(File.join(component_folder, 'VERSION')).strip
|
||||||
|
|
||||||
# Notice that this will always yield true when using branch versions
|
# Notice that this will always yield true when using branch versions
|
||||||
# (`=branch_name`), but that actually makes sure the server is always based
|
# (`=branch_name`), but that actually makes sure the server is always based
|
||||||
# on the latest branch revision.
|
# on the latest branch revision.
|
||||||
gitaly_version != Gitlab::GitalyClient.expected_server_version
|
version != expected_version
|
||||||
rescue Errno::ENOENT
|
rescue Errno::ENOENT
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue