summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValery Sizov <vsv2711@gmail.com>2015-05-28 10:31:36 +0300
committerValery Sizov <vsv2711@gmail.com>2015-05-28 10:31:36 +0300
commitc9637daa9e679b40e4153d5c08deabba930f975a (patch)
treef2e62a42bac0f428bf69a6f95faf4c2f61d71972
parent560c7feb0af8c8358bc248493df35d523e8cd3b2 (diff)
downloadgitlab-ci-travis-ci.tar.gz
refactoring STEP 5travis-ci
-rw-r--r--app/models/build.rb12
-rw-r--r--app/models/jobs/travis_job.rb6
-rw-r--r--app/services/create_travis_jobs_service.rb20
3 files changed, 13 insertions, 25 deletions
diff --git a/app/models/build.rb b/app/models/build.rb
index d951a66..63ea016 100644
--- a/app/models/build.rb
+++ b/app/models/build.rb
@@ -67,17 +67,11 @@ class Build < ActiveRecord::Base
def retry(build)
new_build = Build.new(status: :pending)
new_build.job_id = build.job_id
+
new_build.commit_id = build.commit_id
new_build.project_id = build.project_id
- new_build.save
-
- if build.job
- new_build.commands = build.job.build_commands(build)
- new_build.tag_list = build.job.tag_list
- else
- new_build.commands = build.commands
- end
-
+ new_build.commands = build.commands
+ new_build.tag_list = build.job.tag_list
new_build.save
new_build
end
diff --git a/app/models/jobs/travis_job.rb b/app/models/jobs/travis_job.rb
index 0667c30..4bb9aff 100644
--- a/app/models/jobs/travis_job.rb
+++ b/app/models/jobs/travis_job.rb
@@ -39,10 +39,6 @@ eos
nil
end
- def build_commands(build)
- commands
- end
-
def tag_list
tag_list = ['travis', config[:language] || 'ruby', config[:os] || 'linux']
tag_list << "xcode-#{config[:xcode_version] || 'default'}" if config[:language] == 'objective-c'
@@ -103,7 +99,7 @@ eos
branch: build.ref,
commit: commit.sha,
commit_range: "#{commit.short_before_sha}..#{commit.short_sha}",
- pull_request: false, # not yet supported
+ pull_request: false,
secure_env_enabled: true,
tag: build.for_tag? ? build.ref : nil
}
diff --git a/app/services/create_travis_jobs_service.rb b/app/services/create_travis_jobs_service.rb
index 4df1b2a..8fef4bd 100644
--- a/app/services/create_travis_jobs_service.rb
+++ b/app/services/create_travis_jobs_service.rb
@@ -6,12 +6,9 @@ class CreateTravisJobsService
ref = origin_ref.gsub(/\Arefs\/(tags|heads)\//, '')
tag = origin_ref.start_with?('refs/tags/')
- raise 'Missing .travis.yml' unless commit.push_data[:ci_yaml_file]
- build_config_params = YAML.load commit.push_data[:ci_yaml_file]
-
ActiveRecord::Base.transaction do
begin
- generate_builds(build_config_params, commit.push_data) do |new_data, new_attributes|
+ generate_builds(commit.push_data) do |new_data, new_attributes|
new_job = find_or_create_job(project, new_attributes)
new_job.execute(commit)
end
@@ -36,7 +33,7 @@ class CreateTravisJobsService
job = find_job(project, new_attributes)
unless job
- job = project.travis_jobs.new()
+ job = project.travis_jobs.new
job.variables = new_attributes[:env_vars] || []
job.config = new_attributes[:config] || {}
job.matrix_config = new_attributes[:matrix_config] || {}
@@ -56,21 +53,22 @@ class CreateTravisJobsService
private
- def generate_builds(build_config_params, data, &block)
- raise 'block must be specified' unless block_given?
+ def generate_builds(push_data, &block)
+ raise 'Missing .travis.yml' unless commit.push_data[:ci_yaml_file]
+ build_config_params = YAML.load commit.push_data[:ci_yaml_file]
build_config = ::Travis::Model::Build::Config.new(build_config_params, default_options).normalize
if branches = build_config[:branches]
if branches[:only]
- return unless branches[:only].include? data[:ref]
+ return unless branches[:only].include? push_data[:ref]
elsif branches[:except]
- return if branches[:except].include? data[:ref]
+ return if branches[:except].include? push_data[:ref]
end
end
# omit gh-pages unless specified in branches.only
- return if data[:ref] == 'gh-pages' unless build_config[:branches] and build_config[:branches][:only]
+ return if push_data[:ref] == 'gh-pages' unless build_config[:branches] and build_config[:branches][:only]
matrix_build = ::Travis::Model::Build::Config::Matrix.new(build_config, default_options)
matrix_build.expand.each do |expanded_config|
@@ -84,7 +82,7 @@ class CreateTravisJobsService
env_vars: []
}
- block.call(data.dup, matrix_build_data)
+ block.call(push_data.dup, matrix_build_data)
end
end