From 39f145ae72c621536418dd5f40d9322011daa5f7 Mon Sep 17 00:00:00 2001 From: NorthRealm <155140859+NorthRealm@users.noreply.github.com> Date: Fri, 18 Jul 2025 02:12:02 +0800 Subject: [PATCH] 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 --- models/actions/run_job.go | 4 ++-- 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},