diff --git a/models/actions/run_job.go b/models/actions/run_job.go index f0d41ef4b4..37d762ecd8 100644 --- a/models/actions/run_job.go +++ b/models/actions/run_job.go @@ -12,6 +12,7 @@ import ( "code.gitea.io/gitea/models/db" repo_model "code.gitea.io/gitea/models/repo" "code.gitea.io/gitea/modules/actions/jobparser" + "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/timeutil" "code.gitea.io/gitea/modules/util" @@ -215,6 +216,12 @@ func GetRunJobsByRunAndAttemptID(ctx context.Context, runID, runAttemptID int64) if err := db.GetEngine(ctx).Where("run_id=? AND run_attempt_id=?", runID, runAttemptID).OrderBy("id").Find(&jobs); err != nil { return nil, err } + slices.SortStableFunc(jobs, func(a, b *ActionRunJob) int { + if cmp := base.NaturalSortCompare(a.JobID, b.JobID); cmp != 0 { + return cmp + } + return base.NaturalSortCompare(a.Name, b.Name) + }) return jobs, nil }