Skip to content

Commit 39f145a

Browse files
authored
Fix job status aggregation logic (#35000)
For a run (assume 2 jobs) that has a failed job and a waiting job, the run status should be waiting, **as the run is not done yet.** Related #34823
1 parent 8ee9603 commit 39f145a

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

models/actions/run_job.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,10 +187,10 @@ func AggregateJobStatus(jobs []*ActionRunJob) Status {
187187
return StatusCancelled
188188
case hasRunning:
189189
return StatusRunning
190-
case hasFailure:
191-
return StatusFailure
192190
case hasWaiting:
193191
return StatusWaiting
192+
case hasFailure:
193+
return StatusFailure
194194
case hasBlocked:
195195
return StatusBlocked
196196
default:

models/actions/run_job_status_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func TestAggregateJobStatus(t *testing.T) {
6464
{[]Status{StatusFailure, StatusSuccess}, StatusFailure},
6565
{[]Status{StatusFailure, StatusSkipped}, StatusFailure},
6666
{[]Status{StatusFailure, StatusCancelled}, StatusCancelled},
67-
{[]Status{StatusFailure, StatusWaiting}, StatusFailure},
67+
{[]Status{StatusFailure, StatusWaiting}, StatusWaiting},
6868
{[]Status{StatusFailure, StatusRunning}, StatusRunning},
6969
{[]Status{StatusFailure, StatusBlocked}, StatusFailure},
7070

0 commit comments

Comments
 (0)