Commit 21937a15 authored by Rémy Coutable's avatar Rémy Coutable

Print the setup steps and duration and fix an issue resulting in re-setuping...

Print the setup steps and duration and fix an issue resulting in re-setuping GitLab Shell on each test run
Signed-off-by: default avatarRémy Coutable <remy@rymai.me>
parent 201ce2cb
...@@ -21,7 +21,7 @@ namespace :gitlab do ...@@ -21,7 +21,7 @@ namespace :gitlab do
create_gitaly_configuration create_gitaly_configuration
# In CI we run scripts/gitaly-test-build instead of this command # In CI we run scripts/gitaly-test-build instead of this command
unless ENV['CI'].present? unless ENV['CI'].present?
Bundler.with_original_env { run_command!(%w[/usr/bin/env -u BUNDLE_GEMFILE -u RUBYOPT] + [command]) } Bundler.with_original_env { run_command!(%w[/usr/bin/env -u RUBYOPT] + [command]) }
end end
end end
end end
......
...@@ -122,23 +122,29 @@ module TestEnv ...@@ -122,23 +122,29 @@ module TestEnv
end end
def setup_gitlab_shell def setup_gitlab_shell
gitlab_shell_dir = File.dirname(Gitlab.config.gitlab_shell.path) puts "\n==> Setting up Gitlab Shell..."
start = Time.now
gitlab_shell_dir = Gitlab.config.gitlab_shell.path
shell_needs_update = component_needs_update?(gitlab_shell_dir, shell_needs_update = component_needs_update?(gitlab_shell_dir,
Gitlab::Shell.version_required) Gitlab::Shell.version_required)
unless !shell_needs_update || system('rake', 'gitlab:shell:install') unless !shell_needs_update || system('rake', 'gitlab:shell:install')
puts "rm -rf #{gitlab_shell_dir}" puts "\nGitLab Shell failed to install, cleaning up #{gitlab_shell_dir}!\n"
FileUtils.rm_rf(gitlab_shell_dir) FileUtils.rm_rf(gitlab_shell_dir)
raise "Can't install gitlab-shell" exit 1
end end
puts " GitLab Shell setup in #{Time.now - start} seconds...\n"
end end
def setup_gitaly def setup_gitaly
puts "\n==> Setting up Gitaly..."
start = Time.now
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)
if gitaly_dir_stale?(gitaly_dir) if gitaly_dir_stale?(gitaly_dir)
puts "rm -rf #{gitaly_dir}" puts " Gitaly is outdated, cleaning up #{gitaly_dir}!"
FileUtils.rm_rf(gitaly_dir) FileUtils.rm_rf(gitaly_dir)
end end
...@@ -146,17 +152,20 @@ module TestEnv ...@@ -146,17 +152,20 @@ module TestEnv
Gitlab::GitalyClient.expected_server_version) Gitlab::GitalyClient.expected_server_version)
unless !gitaly_needs_update || system('rake', "gitlab:gitaly:install[#{gitaly_dir}]") unless !gitaly_needs_update || system('rake', "gitlab:gitaly:install[#{gitaly_dir}]")
puts "rm -rf #{gitaly_dir}" puts "\nGitaly failed to install, cleaning up #{gitaly_dir}!\n"
FileUtils.rm_rf(gitaly_dir) FileUtils.rm_rf(gitaly_dir)
raise "Can't install gitaly" exit 1
end end
start_gitaly(gitaly_dir) start_gitaly(gitaly_dir)
puts " Gitaly setup in #{Time.now - start} seconds...\n"
end end
def gitaly_dir_stale?(dir) def gitaly_dir_stale?(dir)
gitaly_executable = File.join(dir, 'gitaly') gitaly_executable = File.join(dir, 'gitaly')
!File.exist?(gitaly_executable) || (File.mtime(gitaly_executable) < File.mtime(Rails.root.join('GITALY_SERVER_VERSION'))) return false unless File.exist?(gitaly_executable)
File.mtime(gitaly_executable) < File.mtime(Rails.root.join('GITALY_SERVER_VERSION'))
end end
def start_gitaly(gitaly_dir) def start_gitaly(gitaly_dir)
......
...@@ -41,7 +41,7 @@ describe 'gitlab:gitaly namespace rake task' do ...@@ -41,7 +41,7 @@ describe 'gitlab:gitaly namespace rake task' do
end end
describe 'gmake/make' do describe 'gmake/make' do
let(:command_preamble) { %w[/usr/bin/env -u BUNDLE_GEMFILE -u RUBYOPT] } let(:command_preamble) { %w[/usr/bin/env -u RUBYOPT] }
before(:all) do before(:all) do
@old_env_ci = ENV.delete('CI') @old_env_ci = ENV.delete('CI')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment