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
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2017-05-09 13:20:58 +0300
committerKamil Trzciński <ayufan@ayufan.eu>2017-05-09 13:20:58 +0300
commiteb61b3b3aad9ff34d095a6ed2b5eda76170bef4f (patch)
tree8784c131da42e76e520e990ec915cdb73ee3f229 /spec
parent19c4aec32d8f4f12fe5573734a6d6b005086a3cf (diff)
parent694f31dd40b7bfcdab57f40802df715961f1cbe6 (diff)
Merge branch 'fix/gb/fix-skipped-manual-actions' into 'master'
Fix skipped manual actions issue in pipeline processing Closes #30212 See merge request !11164
Diffstat (limited to 'spec')
-rw-r--r--spec/services/ci/process_pipeline_service_spec.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/services/ci/process_pipeline_service_spec.rb b/spec/services/ci/process_pipeline_service_spec.rb
index cf773866a6f..1d0a28210fb 100644
--- a/spec/services/ci/process_pipeline_service_spec.rb
+++ b/spec/services/ci/process_pipeline_service_spec.rb
@@ -268,6 +268,24 @@ describe Ci::ProcessPipelineService, '#execute', :services do
end
end
+ context 'when there are only manual actions in stages' do
+ before do
+ create_build('image', stage_idx: 0, when: 'manual', allow_failure: true)
+ create_build('build', stage_idx: 1, when: 'manual', allow_failure: true)
+ create_build('deploy', stage_idx: 2, when: 'manual')
+ create_build('check', stage_idx: 3)
+
+ process_pipeline
+ end
+
+ it 'processes all jobs until blocking actions encountered' do
+ expect(all_builds_statuses).to eq(%w[manual manual manual created])
+ expect(all_builds_names).to eq(%w[image build deploy check])
+
+ expect(pipeline.reload).to be_blocked
+ end
+ end
+
context 'when blocking manual actions are defined' do
before do
create_build('code:test', stage_idx: 0)
@@ -441,6 +459,10 @@ describe Ci::ProcessPipelineService, '#execute', :services do
builds.pluck(:name)
end
+ def all_builds_names
+ all_builds.pluck(:name)
+ end
+
def builds_statuses
builds.pluck(:status)
end