summaryrefslogtreecommitdiff
path: root/lib/gitlab/ci/config.rb
diff options
context:
space:
mode:
authorMatija Čupić <matteeyah@gmail.com>2018-09-07 22:03:05 +0200
committerMatija Čupić <matteeyah@gmail.com>2018-09-07 22:03:05 +0200
commit3149b5cfea4d8f14d69bb2520974f588454a0762 (patch)
tree8cb9fac721255e2ecf2c21ac1b18f1af430f252a /lib/gitlab/ci/config.rb
parent1a53f017b4c2106da3425f3dcbe40fb95fd44bbf (diff)
downloadgitlab-ce-3149b5cfea4d8f14d69bb2520974f588454a0762.tar.gz
Improve external architecture
CE mirror of 4f17c7b2c30188302e6a73421acbf5a09fb2c823
Diffstat (limited to 'lib/gitlab/ci/config.rb')
-rw-r--r--lib/gitlab/ci/config.rb16
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/gitlab/ci/config.rb b/lib/gitlab/ci/config.rb
index 4a0d67720a9..1779fbb2a39 100644
--- a/lib/gitlab/ci/config.rb
+++ b/lib/gitlab/ci/config.rb
@@ -6,7 +6,7 @@ module Gitlab
class Config
ConfigError = Class.new(StandardError)
- def initialize(config, project = nil, opts = {})
+ def initialize(config, opts = {})
@config = Config::Extendable
.new(build_config(config, opts))
.to_hash
@@ -64,17 +64,21 @@ module Gitlab
@global.jobs_value
end
- # 'opts' argument is used in EE see /ee/lib/ee/gitlab/ci/config.rb
- def build_config(config, project, opts = {})
+ def build_config(config, opts = {})
initial_config = Loader.new(config).load!
+ project = opts.fetch(:project, nil)
- if project.present?
- processor = ::Gitlab::Ci::ExternalFiles::Processor.new(initial_config, project)
- processor.perform
+ if project
+ process_external_files(initial_config, project, opts)
else
initial_config
end
end
+
+ def process_external_files(config, project, opts)
+ branch_name = opts.fetch(:branch_name, project.default_branch)
+ ::Gitlab::Ci::External::Processor.new(config, project, branch_name).perform
+ end
end
end
end