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
This commit is contained in:
NorthRealm
2025-07-18 02:12:02 +08:00
committed by GitHub
parent 8ee96039aa
commit 39f145ae72
2 changed files with 3 additions and 3 deletions

View File

@@ -187,10 +187,10 @@ func AggregateJobStatus(jobs []*ActionRunJob) Status {
return StatusCancelled return StatusCancelled
case hasRunning: case hasRunning:
return StatusRunning return StatusRunning
case hasFailure:
return StatusFailure
case hasWaiting: case hasWaiting:
return StatusWaiting return StatusWaiting
case hasFailure:
return StatusFailure
case hasBlocked: case hasBlocked:
return StatusBlocked return StatusBlocked
default: default:

View File

@@ -64,7 +64,7 @@ func TestAggregateJobStatus(t *testing.T) {
{[]Status{StatusFailure, StatusSuccess}, StatusFailure}, {[]Status{StatusFailure, StatusSuccess}, StatusFailure},
{[]Status{StatusFailure, StatusSkipped}, StatusFailure}, {[]Status{StatusFailure, StatusSkipped}, StatusFailure},
{[]Status{StatusFailure, StatusCancelled}, StatusCancelled}, {[]Status{StatusFailure, StatusCancelled}, StatusCancelled},
{[]Status{StatusFailure, StatusWaiting}, StatusFailure}, {[]Status{StatusFailure, StatusWaiting}, StatusWaiting},
{[]Status{StatusFailure, StatusRunning}, StatusRunning}, {[]Status{StatusFailure, StatusRunning}, StatusRunning},
{[]Status{StatusFailure, StatusBlocked}, StatusFailure}, {[]Status{StatusFailure, StatusBlocked}, StatusFailure},