aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNorthRealm <155140859+NorthRealm@users.noreply.github.com>2025-07-18 02:12:02 +0800
committerGitHub <noreply@github.com>2025-07-17 21:12:02 +0300
commit39f145ae72c621536418dd5f40d9322011daa5f7 (patch)
treedb4176898a14abab01a4cf0ebd53219788347003
parent8ee96039aa945b9eef1eb7dfc88113ec466558ff (diff)
downloadgitea-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.go4
-rw-r--r--models/actions/run_job_status_test.go2
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},