diff options
author | Matija Čupić <matteeyah@gmail.com> | 2018-09-07 22:03:05 +0200 |
---|---|---|
committer | Matija Čupić <matteeyah@gmail.com> | 2018-09-07 22:03:05 +0200 |
commit | 3149b5cfea4d8f14d69bb2520974f588454a0762 (patch) | |
tree | 8cb9fac721255e2ecf2c21ac1b18f1af430f252a /lib/gitlab/ci/config.rb | |
parent | 1a53f017b4c2106da3425f3dcbe40fb95fd44bbf (diff) | |
download | gitlab-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.rb | 16 |
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 |