diff options
author | drew <dscimino@gmail.com> | 2019-07-31 12:06:01 +0000 |
---|---|---|
committer | Kamil TrzciĆski <ayufan@ayufan.eu> | 2019-07-31 12:06:01 +0000 |
commit | 5eb3c4af38959c3e9414053c954e397c0b03a26b (patch) | |
tree | fd0f6ba96bd21b223ece93ba6a7d37d329e719f8 /lib | |
parent | 252a0b0faa07160214e46e696cbfb0761e6f2a3d (diff) | |
download | gitlab-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.rb | 4 |
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 |