Skip to content

Commit 8726113

Browse files
nienjiuntainjt596
authored andcommitted
Enhance job status aggregation logic
- Updated the condition for returning `StatusFailure` to ensure it only occurs when all jobs are done.
1 parent 29b2800 commit 8726113

File tree

2 files changed

+3
-4
lines changed

2 files changed

+3
-4
lines changed

models/actions/run_job.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,10 +185,10 @@ func AggregateJobStatus(jobs []*ActionRunJob) Status {
185185
return StatusSuccess
186186
case hasCancelled:
187187
return StatusCancelled
188-
case hasFailure:
189-
return StatusFailure
190188
case hasRunning:
191189
return StatusRunning
190+
case hasFailure:
191+
return StatusFailure
192192
case hasWaiting:
193193
return StatusWaiting
194194
case hasBlocked:

models/actions/run_job_status_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,12 @@ func TestAggregateJobStatus(t *testing.T) {
5959
{[]Status{StatusCancelled, StatusBlocked}, StatusCancelled},
6060

6161
// failure with other status, fail fast
62-
// Should "running" win? Maybe no: old code does make "running" win, but GitHub does fail fast.
6362
{[]Status{StatusFailure}, StatusFailure},
6463
{[]Status{StatusFailure, StatusSuccess}, StatusFailure},
6564
{[]Status{StatusFailure, StatusSkipped}, StatusFailure},
6665
{[]Status{StatusFailure, StatusCancelled}, StatusCancelled},
6766
{[]Status{StatusFailure, StatusWaiting}, StatusFailure},
68-
{[]Status{StatusFailure, StatusRunning}, StatusFailure},
67+
{[]Status{StatusFailure, StatusRunning}, StatusRunning},
6968
{[]Status{StatusFailure, StatusBlocked}, StatusFailure},
7069

7170
// skipped with other status

0 commit comments

Comments
 (0)