summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-03-20 19:16:48 +0100
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-03-20 19:16:48 +0100
commitf441b95bb3f1101ff0812e72c20a040e344ae762 (patch)
tree26696b18a2bf035f5c32e37bb5c3052d6dec8881
parent9bfff603fe91f56b0355e102f5d62c8dccc1d9f8 (diff)
downloadgitlab-ce-f441b95bb3f1101ff0812e72c20a040e344ae762.tar.gz
Fix pipeline status for transition between stages
-rw-r--r--app/models/concerns/has_status.rb1
-rw-r--r--spec/models/concerns/has_status_spec.rb8
2 files changed, 9 insertions, 0 deletions
diff --git a/app/models/concerns/has_status.rb b/app/models/concerns/has_status.rb
index 5101cc7e687..0a1a65da05a 100644
--- a/app/models/concerns/has_status.rb
+++ b/app/models/concerns/has_status.rb
@@ -31,6 +31,7 @@ module HasStatus
WHEN (#{builds})=(#{created})+(#{skipped})+(#{pending}) THEN 'pending'
WHEN (#{running})+(#{pending})>0 THEN 'running'
WHEN (#{manual})>0 THEN 'manual'
+ WHEN (#{created})>0 THEN 'running'
ELSE 'failed'
END)"
end
diff --git a/spec/models/concerns/has_status_spec.rb b/spec/models/concerns/has_status_spec.rb
index f134da441c2..f4a7446e662 100644
--- a/spec/models/concerns/has_status_spec.rb
+++ b/spec/models/concerns/has_status_spec.rb
@@ -110,6 +110,14 @@ describe HasStatus do
it { is_expected.to eq 'running' }
end
+ context 'when pipeline is in transition between stages' do
+ let!(:statuses) do
+ [create(type, status: :success), create(type, status: :created)]
+ end
+
+ it { is_expected.to eq 'running' }
+ end
+
context 'when one status is a blocking manual action' do
let!(:statuses) do
[create(type, status: :failed),