diff options
author | Matija Čupić <matteeyah@gmail.com> | 2018-11-01 01:05:42 +0100 |
---|---|---|
committer | Matija Čupić <matteeyah@gmail.com> | 2018-11-01 01:05:42 +0100 |
commit | 56a08d233fe18892ae7a7c723662007e260a2c2d (patch) | |
tree | 1c2bc3ba48b74d6ebbd57638bd68161f81da4ffe /lib | |
parent | 3c8dd4ccbfcbb20de88005d43c93cd476de6d5c7 (diff) | |
download | gitlab-ce-56a08d233fe18892ae7a7c723662007e260a2c2d.tar.gz |
Parallelize jobs in Gitlab::Ci::YamlProcessor
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/ci/config/entry/jobs.rb | 2 | ||||
-rw-r--r-- | lib/gitlab/ci/config/normalizer.rb | 4 | ||||
-rw-r--r-- | lib/gitlab/ci/yaml_processor.rb | 2 |
3 files changed, 3 insertions, 5 deletions
diff --git a/lib/gitlab/ci/config/entry/jobs.rb b/lib/gitlab/ci/config/entry/jobs.rb index 1eab5927b56..96b6f2e5d6c 100644 --- a/lib/gitlab/ci/config/entry/jobs.rb +++ b/lib/gitlab/ci/config/entry/jobs.rb @@ -29,8 +29,6 @@ module Gitlab # rubocop: disable CodeReuse/ActiveRecord def compose!(deps = nil) super do - @config = Ci::Config::Normalizer.normalize_jobs(@config) - @config.each do |name, config| node = hidden?(name) ? Entry::Hidden : Entry::Job diff --git a/lib/gitlab/ci/config/normalizer.rb b/lib/gitlab/ci/config/normalizer.rb index aa69dd44c5f..55efc7439c1 100644 --- a/lib/gitlab/ci/config/normalizer.rb +++ b/lib/gitlab/ci/config/normalizer.rb @@ -7,11 +7,11 @@ module Gitlab parallelized_jobs = {} parallelized_config = jobs_config.map do |name, config| - if config&.[](:parallel) + if config[:parallel] total = config[:parallel] names = parallelize_job_names(name, total) parallelized_jobs[name] = names - Hash[names.collect { |job_name| [job_name.to_sym, config] }] + Hash[names.collect { |job_name| [job_name.to_sym, config.merge(name: job_name)] }] else { name => config } end diff --git a/lib/gitlab/ci/yaml_processor.rb b/lib/gitlab/ci/yaml_processor.rb index 612d733ad49..4977fa2ae24 100644 --- a/lib/gitlab/ci/yaml_processor.rb +++ b/lib/gitlab/ci/yaml_processor.rb @@ -103,7 +103,7 @@ module Gitlab ## # Jobs # - @jobs = @ci_config.jobs + @jobs = Ci::Config::Normalizer.normalize_jobs(@ci_config.jobs) @jobs.each do |name, job| # logical validation for job |