summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authordrew <dscimino@gmail.com>2019-07-31 12:06:01 +0000
committerKamil TrzciƄski <ayufan@ayufan.eu>2019-07-31 12:06:01 +0000
commit5eb3c4af38959c3e9414053c954e397c0b03a26b (patch)
treefd0f6ba96bd21b223ece93ba6a7d37d329e719f8 /lib
parent252a0b0faa07160214e46e696cbfb0761e6f2a3d (diff)
downloadgitlab-ce-5eb3c4af38959c3e9414053c954e397c0b03a26b.tar.gz
Default dependency job stage index to Infinity, and correctly report it as undefined in prior stages
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/ci/yaml_processor.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/gitlab/ci/yaml_processor.rb b/lib/gitlab/ci/yaml_processor.rb
index a5693dc4f81..a0bbf3c23a2 100644
--- a/lib/gitlab/ci/yaml_processor.rb
+++ b/lib/gitlab/ci/yaml_processor.rb
@@ -144,7 +144,9 @@ module Gitlab
job[:dependencies].each do |dependency|
raise ValidationError, "#{name} job: undefined dependency: #{dependency}" unless @jobs[dependency.to_sym]
- unless @stages.index(@jobs[dependency.to_sym][:stage]) < stage_index
+ dependency_stage_index = @stages.index(@jobs[dependency.to_sym][:stage])
+
+ unless dependency_stage_index.present? && dependency_stage_index < stage_index
raise ValidationError, "#{name} job: dependency #{dependency} is not defined in prior stages"
end
end