Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec/lib
diff options
context:
space:
mode:
authordrew <dscimino@gmail.com>2019-07-31 15:06:01 +0300
committerKamil TrzciƄski <ayufan@ayufan.eu>2019-07-31 15:06:01 +0300
commit5eb3c4af38959c3e9414053c954e397c0b03a26b (patch)
treefd0f6ba96bd21b223ece93ba6a7d37d329e719f8 /spec/lib
parent252a0b0faa07160214e46e696cbfb0761e6f2a3d (diff)
Default dependency job stage index to Infinity, and correctly report it as undefined in prior stages
Diffstat (limited to 'spec/lib')
-rw-r--r--spec/lib/gitlab/ci/yaml_processor_spec.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/lib/gitlab/ci/yaml_processor_spec.rb b/spec/lib/gitlab/ci/yaml_processor_spec.rb
index fc9d4f97bda..d3676ee03bf 100644
--- a/spec/lib/gitlab/ci/yaml_processor_spec.rb
+++ b/spec/lib/gitlab/ci/yaml_processor_spec.rb
@@ -1085,6 +1085,31 @@ module Gitlab
it { expect { subject }.to raise_error(Gitlab::Ci::YamlProcessor::ValidationError, 'test1 job: dependency deploy is not defined in prior stages') }
end
+
+ context 'when a job depends on another job that references a not-yet defined stage' do
+ let(:config) do
+ {
+ "stages" => [
+ "version"
+ ],
+ "version" => {
+ "stage" => "version",
+ "dependencies" => ["release:components:versioning"],
+ "script" => ["./versioning/versioning"]
+ },
+ ".release_go" => {
+ "stage" => "build",
+ "script" => ["cd versioning"]
+ },
+ "release:components:versioning" => {
+ "stage" => "build",
+ "script" => ["cd versioning"]
+ }
+ }
+ end
+
+ it { expect { subject }.to raise_error(Gitlab::Ci::YamlProcessor::ValidationError, /is not defined in prior stages/) }
+ end
end
describe "Hidden jobs" do