From 211f81bc762342dd44dbe9dc0ce67545ad538351 Mon Sep 17 00:00:00 2001 From: oppiliappan Date: Thu, 31 Jul 2025 14:51:12 +0100 Subject: [PATCH] appview/pages: show CI status in all pulls view Change-Id: pvpnsqvvzukyololzmktzskuzxnwwrsm Signed-off-by: oppiliappan --- appview/pages/pages.go | 1 + .../pulls/fragments/summarizedPullHeader.html | 12 +++++------ appview/pages/templates/repo/pulls/pulls.html | 13 +++++++++--- appview/pulls/pulls.go | 21 +++++++++++++++++++ 4 files changed, 37 insertions(+), 10 deletions(-) diff --git a/appview/pages/pages.go b/appview/pages/pages.go index eeea3f7..70c407c 100644 --- a/appview/pages/pages.go +++ b/appview/pages/pages.go @@ -810,6 +810,7 @@ type RepoPullsParams struct { DidHandleMap map[string]string FilteringBy db.PullState Stacks map[string]db.Stack + Pipelines map[string]db.Pipeline } func (p *Pages) RepoPulls(w io.Writer, params RepoPullsParams) error { diff --git a/appview/pages/templates/repo/pulls/fragments/summarizedPullHeader.html b/appview/pages/templates/repo/pulls/fragments/summarizedPullHeader.html index dd2c786..f6dc6db 100644 --- a/appview/pages/templates/repo/pulls/fragments/summarizedPullHeader.html +++ b/appview/pages/templates/repo/pulls/fragments/summarizedPullHeader.html @@ -13,24 +13,22 @@ -
+
{{ $latestRound := .LastRoundNumber }} {{ $lastSubmission := index .Submissions $latestRound }} {{ $commentCount := len $lastSubmission.Comments }} {{ if and $pipeline $pipeline.Id }} -
- {{ template "repo/pipelines/fragments/pipelineSymbol" $pipeline }} - -
+ {{ template "repo/pipelines/fragments/pipelineSymbol" $pipeline }} + {{ end }} -
+
{{ i "message-square" "w-3 h-3 md:hidden" }} {{ $commentCount }}
- + #{{ $latestRound }} diff --git a/appview/pages/templates/repo/pulls/pulls.html b/appview/pages/templates/repo/pulls/pulls.html index 43d35fd..840372c 100644 --- a/appview/pages/templates/repo/pulls/pulls.html +++ b/appview/pages/templates/repo/pulls/pulls.html @@ -54,7 +54,7 @@ #{{ .PullId }}
-

+

{{ $owner := index $.DidHandleMap .OwnerDid }} {{ $bgColor := "bg-gray-800 dark:bg-gray-700" }} {{ $icon := "ban" }} @@ -103,7 +103,13 @@ #{{ .LastRoundNumber }} -

+ + {{ $pipeline := index $.Pipelines .LatestSha }} + {{ if $pipeline }} + + {{ template "repo/pipelines/fragments/pipelineSymbol" $pipeline }} + {{ end }} +
{{ if .StackId }} {{ $otherPulls := index $.Stacks .StackId }} @@ -135,10 +141,11 @@ {{ $root := index . 1 }}
{{ range $pull := $list }} + {{ $pipeline := index $root.Pipelines $pull.LatestSha }}
- {{ template "repo/pulls/fragments/summarizedHeader" (list $pull 0) }} + {{ template "repo/pulls/fragments/summarizedHeader" (list $pull $pipeline) }}
diff --git a/appview/pulls/pulls.go b/appview/pulls/pulls.go index 824f702..170d310 100644 --- a/appview/pulls/pulls.go +++ b/appview/pulls/pulls.go @@ -555,8 +555,11 @@ func (s *Pulls) RepoPulls(w http.ResponseWriter, r *http.Request) { // we want to group all stacked PRs into just one list stacks := make(map[string]db.Stack) + var shas []string n := 0 for _, p := range pulls { + // store the sha for later + shas = append(shas, p.LatestSha()) // this PR is stacked if p.StackId != "" { // we have already seen this PR stack @@ -575,6 +578,23 @@ func (s *Pulls) RepoPulls(w http.ResponseWriter, r *http.Request) { } pulls = pulls[:n] + repoInfo := f.RepoInfo(user) + ps, err := db.GetPipelineStatuses( + s.db, + db.FilterEq("repo_owner", repoInfo.OwnerDid), + db.FilterEq("repo_name", repoInfo.Name), + db.FilterEq("knot", repoInfo.Knot), + db.FilterIn("sha", shas), + ) + if err != nil { + log.Printf("failed to fetch pipeline statuses: %s", err) + // non-fatal + } + m := make(map[string]db.Pipeline) + for _, p := range ps { + m[p.Sha] = p + } + identsToResolve := make([]string, len(pulls)) for i, pull := range pulls { identsToResolve[i] = pull.OwnerDid @@ -596,6 +616,7 @@ func (s *Pulls) RepoPulls(w http.ResponseWriter, r *http.Request) { DidHandleMap: didHandleMap, FilteringBy: state, Stacks: stacks, + Pipelines: m, }) } -- 2.43.0