1
0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-11-24 08:57:03 -05:00

Add commit info in action page (#23210)

Add more commit info in action detail page.

![image](https://user-images.githubusercontent.com/18380374/222069905-a5ab28b1-1cea-4eec-b3b9-f1c74145cb82.png)
This commit is contained in:
yp05327 2023-03-27 19:34:09 +09:00 committed by GitHub
parent 6840258c95
commit 22fec1650a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 69 additions and 0 deletions

View file

@ -14,6 +14,7 @@ import (
"code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/models/unit"
"code.gitea.io/gitea/modules/actions" "code.gitea.io/gitea/modules/actions"
"code.gitea.io/gitea/modules/base"
context_module "code.gitea.io/gitea/modules/context" context_module "code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/timeutil" "code.gitea.io/gitea/modules/timeutil"
@ -57,6 +58,7 @@ type ViewResponse struct {
CanApprove bool `json:"canApprove"` // the run needs an approval and the doer has permission to approve CanApprove bool `json:"canApprove"` // the run needs an approval and the doer has permission to approve
Done bool `json:"done"` Done bool `json:"done"`
Jobs []*ViewJob `json:"jobs"` Jobs []*ViewJob `json:"jobs"`
Commit ViewCommit `json:"commit"`
} `json:"run"` } `json:"run"`
CurrentJob struct { CurrentJob struct {
Title string `json:"title"` Title string `json:"title"`
@ -76,6 +78,25 @@ type ViewJob struct {
CanRerun bool `json:"canRerun"` CanRerun bool `json:"canRerun"`
} }
type ViewCommit struct {
LocaleCommit string `json:"localeCommit"`
LocalePushedBy string `json:"localePushedBy"`
ShortSha string `json:"shortSHA"`
Link string `json:"link"`
Pusher ViewUser `json:"pusher"`
Branch ViewBranch `json:"branch"`
}
type ViewUser struct {
DisplayName string `json:"displayName"`
Link string `json:"link"`
}
type ViewBranch struct {
Name string `json:"name"`
Link string `json:"link"`
}
type ViewJobStep struct { type ViewJobStep struct {
Summary string `json:"summary"` Summary string `json:"summary"`
Duration string `json:"duration"` Duration string `json:"duration"`
@ -104,6 +125,10 @@ func ViewPost(ctx *context_module.Context) {
return return
} }
run := current.Run run := current.Run
if err := run.LoadAttributes(ctx); err != nil {
ctx.Error(http.StatusInternalServerError, err.Error())
return
}
resp := &ViewResponse{} resp := &ViewResponse{}
@ -123,6 +148,23 @@ func ViewPost(ctx *context_module.Context) {
}) })
} }
pusher := ViewUser{
DisplayName: run.TriggerUser.GetDisplayName(),
Link: run.TriggerUser.HomeLink(),
}
branch := ViewBranch{
Name: run.PrettyRef(),
Link: run.RefLink(),
}
resp.State.Run.Commit = ViewCommit{
LocaleCommit: ctx.Tr("actions.runs.commit"),
LocalePushedBy: ctx.Tr("actions.runs.pushed_by"),
ShortSha: base.ShortSha(run.CommitSHA),
Link: fmt.Sprintf("%s/commit/%s", run.Repo.Link(), run.CommitSHA),
Pusher: pusher,
Branch: branch,
}
var task *actions_model.ActionTask var task *actions_model.ActionTask
if current.TaskID > 0 { if current.TaskID > 0 {
var err error var err error

View file

@ -13,6 +13,15 @@
<i class="stop circle outline icon"/> <i class="stop circle outline icon"/>
</button> </button>
</div> </div>
<div class="action-commit-summary">
{{ run.commit.localeCommit }}
<a :href="run.commit.link">{{ run.commit.shortSHA }}</a>
&nbsp;<span class="ui label">
<a :href="run.commit.branch.link">{{ run.commit.branch.name }}</a>
</span>
&nbsp;{{ run.commit.localePushedBy }}
<a :href="run.commit.pusher.link">{{ run.commit.pusher.displayName }}</a>
</div>
</div> </div>
<div class="action-view-body"> <div class="action-view-body">
<div class="action-view-left"> <div class="action-view-left">
@ -105,6 +114,20 @@ const sfc = {
// canRerun: false, // canRerun: false,
// }, // },
], ],
commit: {
localeCommit: '',
localePushedBy: '',
shortSHA: '',
link: '',
pusher: {
displayName: '',
link: '',
},
branch: {
name: '',
link: '',
},
}
}, },
currentJob: { currentJob: {
title: '', title: '',
@ -332,6 +355,10 @@ export function initRepositoryActionView() {
padding: 0 5px; padding: 0 5px;
} }
.action-commit-summary {
padding: 10px 10px;
}
/* ================ */ /* ================ */
/* action view left */ /* action view left */