]> source.dussan.org Git - gitea.git/commitdiff
Improve job commit description (#30579)
authoryp05327 <576951401@qq.com>
Fri, 26 Apr 2024 02:22:45 +0000 (11:22 +0900)
committerGitHub <noreply@github.com>
Fri, 26 Apr 2024 02:22:45 +0000 (02:22 +0000)
Fix https://github.com/go-gitea/gitea/issues/30567

When job is a schedule:

![image](https://github.com/go-gitea/gitea/assets/18380374/b07e9d43-e8b7-4ee2-87b3-a7050c3a8ca5)
When it is a normal one:

![image](https://github.com/go-gitea/gitea/assets/18380374/0d58dab9-74bb-421b-8952-0578cdf21a52)

also add a 'space' behind  `:`

![image](https://github.com/go-gitea/gitea/assets/18380374/4cebece0-bfe6-4ad9-b806-e5c49bb9be43)

![image](https://github.com/go-gitea/gitea/assets/18380374/02da7681-474b-4c0f-9dad-b6558f6cb484)

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
models/actions/run.go
routers/web/repo/actions/view.go
templates/repo/actions/runs_list.tmpl
templates/repo/actions/view.tmpl
web_src/js/components/RepoActionView.vue

index b75fa49f3c93e693756b5996516897286395288d..d68710f46d74b226d00e28748bb07ccff934c1ff 100644 (file)
@@ -74,6 +74,13 @@ func (run *ActionRun) Link() string {
        return fmt.Sprintf("%s/actions/runs/%d", run.Repo.Link(), run.Index)
 }
 
+func (run *ActionRun) WorkflowLink() string {
+       if run.Repo == nil {
+               return ""
+       }
+       return fmt.Sprintf("%s/actions/?workflow=%s", run.Repo.Link(), run.WorkflowID)
+}
+
 // RefLink return the url of run's ref
 func (run *ActionRun) RefLink() string {
        refName := git.RefName(run.Ref)
@@ -156,6 +163,10 @@ func (run *ActionRun) GetPullRequestEventPayload() (*api.PullRequestPayload, err
        return nil, fmt.Errorf("event %s is not a pull request event", run.Event)
 }
 
+func (run *ActionRun) IsSchedule() bool {
+       return run.ScheduleID > 0
+}
+
 func updateRepoRunsNumbers(ctx context.Context, repo *repo_model.Repository) error {
        _, err := db.GetEngine(ctx).ID(repo.ID).
                SetExpr("num_action_runs",
index db2b11a7ed4ab60dbeb906f06d16505f7b231c5c..3909a64be60692761e066e1d765161715bacc0bb 100644 (file)
@@ -67,6 +67,9 @@ type ViewResponse struct {
                        CanRerun          bool       `json:"canRerun"`
                        CanDeleteArtifact bool       `json:"canDeleteArtifact"`
                        Done              bool       `json:"done"`
+                       WorkflowID        string     `json:"workflowID"`
+                       WorkflowLink      string     `json:"workflowLink"`
+                       IsSchedule        bool       `json:"isSchedule"`
                        Jobs              []*ViewJob `json:"jobs"`
                        Commit            ViewCommit `json:"commit"`
                } `json:"run"`
@@ -90,12 +93,10 @@ type ViewJob struct {
 }
 
 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"`
+       ShortSha string     `json:"shortSHA"`
+       Link     string     `json:"link"`
+       Pusher   ViewUser   `json:"pusher"`
+       Branch   ViewBranch `json:"branch"`
 }
 
 type ViewUser struct {
@@ -151,6 +152,9 @@ func ViewPost(ctx *context_module.Context) {
        resp.State.Run.CanRerun = run.Status.IsDone() && ctx.Repo.CanWrite(unit.TypeActions)
        resp.State.Run.CanDeleteArtifact = run.Status.IsDone() && ctx.Repo.CanWrite(unit.TypeActions)
        resp.State.Run.Done = run.Status.IsDone()
+       resp.State.Run.WorkflowID = run.WorkflowID
+       resp.State.Run.WorkflowLink = run.WorkflowLink()
+       resp.State.Run.IsSchedule = run.IsSchedule()
        resp.State.Run.Jobs = make([]*ViewJob, 0, len(jobs)) // marshal to '[]' instead fo 'null' in json
        resp.State.Run.Status = run.Status.String()
        for _, v := range jobs {
@@ -172,12 +176,10 @@ func ViewPost(ctx *context_module.Context) {
                Link: run.RefLink(),
        }
        resp.State.Run.Commit = ViewCommit{
-               LocaleCommit:   ctx.Locale.TrString("actions.runs.commit"),
-               LocalePushedBy: ctx.Locale.TrString("actions.runs.pushed_by"),
-               ShortSha:       base.ShortSha(run.CommitSHA),
-               Link:           fmt.Sprintf("%s/commit/%s", run.Repo.Link(), run.CommitSHA),
-               Pusher:         pusher,
-               Branch:         branch,
+               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
index 20330b5d62eb8fc2ac9eed1215f81fa95a977dc6..09a25ce8bdc4e1e81d6fa253236891fda942ae69 100644 (file)
@@ -15,7 +15,7 @@
                                        {{if .Title}}{{.Title}}{{else}}{{ctx.Locale.Tr "actions.runs.empty_commit_message"}}{{end}}
                                </a>
                                <div class="flex-item-body">
-                                       <b>{{if not $.CurWorkflow}}{{.WorkflowID}} {{end}}#{{.Index}}</b>:
+                                       <span><b>{{if not $.CurWorkflow}}{{.WorkflowID}} {{end}}#{{.Index}}</b>:</span>
                                        {{- if .ScheduleID -}}
                                                {{ctx.Locale.Tr "actions.runs.scheduled"}}
                                        {{- else -}}
index f8b106147bb6f6cc714ea05b684871269481147d..f7b03608eef0dcba65ae8e7c1955755d54437c5d 100644 (file)
@@ -10,6 +10,9 @@
                data-locale-cancel="{{ctx.Locale.Tr "cancel"}}"
                data-locale-rerun="{{ctx.Locale.Tr "rerun"}}"
                data-locale-rerun-all="{{ctx.Locale.Tr "rerun_all"}}"
+               data-locale-runs-scheduled="{{ctx.Locale.Tr "actions.runs.scheduled"}}"
+               data-locale-runs-commit="{{ctx.Locale.Tr "actions.runs.commit"}}"
+               data-locale-runs-pushed-by="{{ctx.Locale.Tr "actions.runs.pushed_by"}}"
                data-locale-status-unknown="{{ctx.Locale.Tr "actions.status.unknown"}}"
                data-locale-status-waiting="{{ctx.Locale.Tr "actions.status.waiting"}}"
                data-locale-status-running="{{ctx.Locale.Tr "actions.status.running"}}"
index 16ce3fc80da4a9aa8d458857c2956bf7e46969de..8b39d0504b5d4781c473330dc1fe04846818d816 100644 (file)
@@ -44,6 +44,9 @@ const sfc = {
         canApprove: false,
         canRerun: false,
         done: false,
+        workflowID: '',
+        workflowLink: '',
+        isSchedule: false,
         jobs: [
           // {
           //   id: 0,
@@ -338,10 +341,13 @@ export function initRepositoryActionView() {
       approve: el.getAttribute('data-locale-approve'),
       cancel: el.getAttribute('data-locale-cancel'),
       rerun: el.getAttribute('data-locale-rerun'),
+      rerun_all: el.getAttribute('data-locale-rerun-all'),
+      scheduled: el.getAttribute('data-locale-runs-scheduled'),
+      commit: el.getAttribute('data-locale-runs-commit'),
+      pushedBy: el.getAttribute('data-locale-runs-pushed-by'),
       artifactsTitle: el.getAttribute('data-locale-artifacts-title'),
       areYouSure: el.getAttribute('data-locale-are-you-sure'),
       confirmDeleteArtifact: el.getAttribute('data-locale-confirm-delete-artifact'),
-      rerun_all: el.getAttribute('data-locale-rerun-all'),
       showTimeStamps: el.getAttribute('data-locale-show-timestamps'),
       showLogSeconds: el.getAttribute('data-locale-show-log-seconds'),
       showFullScreen: el.getAttribute('data-locale-show-full-screen'),
@@ -382,10 +388,16 @@ export function initRepositoryActionView() {
         </button>
       </div>
       <div class="action-commit-summary">
-        {{ run.commit.localeCommit }}
-        <a class="muted" :href="run.commit.link">{{ run.commit.shortSHA }}</a>
-        {{ run.commit.localePushedBy }}
-        <a class="muted" :href="run.commit.pusher.link">{{ run.commit.pusher.displayName }}</a>
+        <span><a class="muted" :href="run.workflowLink"><b>{{ run.workflowID }}</b></a>:</span>
+        <template v-if="run.isSchedule">
+          {{ locale.scheduled }}
+        </template>
+        <template v-else>
+          {{ locale.commit }}
+          <a class="muted" :href="run.commit.link">{{ run.commit.shortSHA }}</a>
+          {{ locale.pushedBy }}
+          <a class="muted" :href="run.commit.pusher.link">{{ run.commit.pusher.displayName }}</a>
+        </template>
         <span class="ui label tw-max-w-full" v-if="run.commit.shortSHA">
           <a class="gt-ellipsis" :href="run.commit.branch.link">{{ run.commit.branch.name }}</a>
         </span>