Commit 46146e33 authored by Kamil Trzciński's avatar Kamil Trzciński

Merge branch 'fix/gb/pipeline-intermittent-running-status' into 'master'

Fix pipeline status for transition between stages

Closes #29699

See merge request !10094
parents 4146be04 0b5e1392
...@@ -31,6 +31,7 @@ module HasStatus ...@@ -31,6 +31,7 @@ module HasStatus
WHEN (#{builds})=(#{created})+(#{skipped})+(#{pending}) THEN 'pending' WHEN (#{builds})=(#{created})+(#{skipped})+(#{pending}) THEN 'pending'
WHEN (#{running})+(#{pending})>0 THEN 'running' WHEN (#{running})+(#{pending})>0 THEN 'running'
WHEN (#{manual})>0 THEN 'manual' WHEN (#{manual})>0 THEN 'manual'
WHEN (#{created})>0 THEN 'running'
ELSE 'failed' ELSE 'failed'
END)" END)"
end end
......
...@@ -110,6 +110,24 @@ describe HasStatus do ...@@ -110,6 +110,24 @@ describe HasStatus do
it { is_expected.to eq 'running' } it { is_expected.to eq 'running' }
end end
context 'when one status finished and second is still created' do
let!(:statuses) do
[create(type, status: :success), create(type, status: :created)]
end
it { is_expected.to eq 'running' }
end
context 'when there is a manual status before created status' do
let!(:statuses) do
[create(type, status: :success),
create(type, status: :manual, allow_failure: false),
create(type, status: :created)]
end
it { is_expected.to eq 'manual' }
end
context 'when one status is a blocking manual action' do context 'when one status is a blocking manual action' do
let!(:statuses) do let!(:statuses) do
[create(type, status: :failed), [create(type, status: :failed),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment