summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/gitlab/ci/config/normalizer.rb6
-rw-r--r--spec/lib/gitlab/ci/config/normalizer_spec.rb8
2 files changed, 12 insertions, 2 deletions
diff --git a/lib/gitlab/ci/config/normalizer.rb b/lib/gitlab/ci/config/normalizer.rb
index 969ae093e8b..0717cbfa90e 100644
--- a/lib/gitlab/ci/config/normalizer.rb
+++ b/lib/gitlab/ci/config/normalizer.rb
@@ -9,14 +9,16 @@ module Gitlab
end
def normalize_jobs
- extract_parallelized_jobs
+ extract_parallelized_jobs!
+ return @jobs_config if @parallelized_jobs.empty?
+
parallelized_config = parallelize_jobs
parallelize_dependencies(parallelized_config)
end
private
- def extract_parallelized_jobs
+ def extract_parallelized_jobs!
@parallelized_jobs = {}
@jobs_config.each do |job_name, config|
diff --git a/spec/lib/gitlab/ci/config/normalizer_spec.rb b/spec/lib/gitlab/ci/config/normalizer_spec.rb
index 7c558cacdd5..97926695b6e 100644
--- a/spec/lib/gitlab/ci/config/normalizer_spec.rb
+++ b/spec/lib/gitlab/ci/config/normalizer_spec.rb
@@ -31,6 +31,14 @@ describe Gitlab::Ci::Config::Normalizer do
expect(configs).to all(eq(original_config))
end
+ context 'when the job is not parallelized' do
+ let(:job_config) { { script: 'rspec', name: 'rspec' } }
+
+ it 'returns the same hash' do
+ is_expected.to eq(config)
+ end
+ end
+
context 'when there is a job with a slash in it' do
let(:job_name) { :"rspec 35/2" }