diff options
author | NorthRealm <155140859+NorthRealm@users.noreply.github.com> | 2025-07-18 02:12:02 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-17 21:12:02 +0300 |
commit | 39f145ae72c621536418dd5f40d9322011daa5f7 (patch) | |
tree | db4176898a14abab01a4cf0ebd53219788347003 | |
parent | 8ee96039aa945b9eef1eb7dfc88113ec466558ff (diff) | |
download | gitea-39f145ae72c621536418dd5f40d9322011daa5f7.tar.gz gitea-39f145ae72c621536418dd5f40d9322011daa5f7.zip |
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
-rw-r--r-- | models/actions/run_job.go | 4 | ||||
-rw-r--r-- | models/actions/run_job_status_test.go | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/models/actions/run_job.go b/models/actions/run_job.go index bad895036d..e7fa21270c 100644 --- a/models/actions/run_job.go +++ b/models/actions/run_job.go @@ -187,10 +187,10 @@ func AggregateJobStatus(jobs []*ActionRunJob) Status { return StatusCancelled case hasRunning: return StatusRunning - case hasFailure: - return StatusFailure case hasWaiting: return StatusWaiting + case hasFailure: + return StatusFailure case hasBlocked: return StatusBlocked default: diff --git a/models/actions/run_job_status_test.go b/models/actions/run_job_status_test.go index 2a5eb00a6f..b9ae9f34bf 100644 --- a/models/actions/run_job_status_test.go +++ b/models/actions/run_job_status_test.go @@ -64,7 +64,7 @@ func TestAggregateJobStatus(t *testing.T) { {[]Status{StatusFailure, StatusSuccess}, StatusFailure}, {[]Status{StatusFailure, StatusSkipped}, StatusFailure}, {[]Status{StatusFailure, StatusCancelled}, StatusCancelled}, - {[]Status{StatusFailure, StatusWaiting}, StatusFailure}, + {[]Status{StatusFailure, StatusWaiting}, StatusWaiting}, {[]Status{StatusFailure, StatusRunning}, StatusRunning}, {[]Status{StatusFailure, StatusBlocked}, StatusFailure}, |