Skip to content
Snippets Groups Projects
Commit 9567778f authored by Ciro Santilli's avatar Ciro Santilli
Browse files

Fix version of test seed branches.

parent 88d3e97e
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -3,6 +3,16 @@ require 'rspec/mocks'
module TestEnv
extend self
 
# When developing the seed repository, comment out the branch you will modify.
BRANCH_SHA = {
'feature' => '0b4bc9a',
'feature_conflict' => 'bb5206f',
'fix' => '12d65c8',
'improve/awesome' => '5937ac0',
'markdown' => '0ed8c6c',
'master' => '5937ac0'
}
# Test environment
#
# See gitlab.yml.example test section for paths
Loading
Loading
@@ -18,13 +28,13 @@ module TestEnv
 
if File.directory?(tmp_test_path)
Dir.entries(tmp_test_path).each do |entry|
unless ['.', '..', 'gitlab-shell'].include?(entry)
unless ['.', '..', 'gitlab-shell', factory_repo_name].include?(entry)
FileUtils.rm_r(File.join(tmp_test_path, entry))
end
end
end
 
FileUtils.mkdir_p(tmp_test_path)
FileUtils.mkdir_p(repos_path)
 
# Setup GitLab shell for test instance
setup_gitlab_shell
Loading
Loading
@@ -49,13 +59,32 @@ module TestEnv
clone_url = "https://gitlab.com/gitlab-org/#{factory_repo_name}.git"
 
unless File.directory?(factory_repo_path)
git_cmd = %W(git clone --bare #{clone_url} #{factory_repo_path})
system(*git_cmd)
system(*%W(git clone #{clone_url} #{factory_repo_path}))
end
Dir.chdir(factory_repo_path) do
BRANCH_SHA.each do |branch, sha|
# Try to reset without fetching to avoid using the network.
reset = %W(git update-ref refs/heads/#{branch} #{sha})
unless system(*reset)
if system(*%w(git fetch origin))
unless system(*reset)
raise 'The fetched test seed '\
'does not contain the required revision.'
end
else
raise 'Could not fetch test seed repository.'
end
end
end
end
# We must copy bare repositories because we will push to them.
system(*%W(git clone --bare #{factory_repo_path} #{factory_repo_path_bare}))
end
 
def copy_repo(project)
base_repo_path = File.expand_path(factory_repo_path)
base_repo_path = File.expand_path(factory_repo_path_bare)
target_repo_path = File.expand_path(repos_path + "/#{project.namespace.path}/#{project.path}.git")
FileUtils.mkdir_p(target_repo_path)
FileUtils.cp_r("#{base_repo_path}/.", target_repo_path)
Loading
Loading
@@ -69,7 +98,11 @@ module TestEnv
private
 
def factory_repo_path
@factory_repo_path ||= repos_path + "/root/#{factory_repo_name}.git"
@factory_repo_path ||= Rails.root.join('tmp', 'tests', factory_repo_name)
end
def factory_repo_path_bare
factory_repo_path.to_s + '_bare'
end
 
def factory_repo_name
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment