mirror of
https://github.com/go-gitea/gitea.git
synced 2026-06-14 03:29:55 +00:00
enhance(actions): show workflow name from YAML instead of filename (#37833)
Use the workflow's YAML `name:` field for display in the workflow sidebar and run list, falling back to the filename when no name is set. Closes https://github.com/go-gitea/gitea/issues/31458 Closes https://github.com/go-gitea/gitea/issues/25912 Closes https://github.com/go-gitea/gitea/pull/31474
This commit is contained in:
@@ -44,6 +44,14 @@ type WorkflowInfo struct {
|
|||||||
Workflow *act_model.Workflow
|
Workflow *act_model.Workflow
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DisplayName returns the workflow name from the YAML file if present, otherwise the filename.
|
||||||
|
func (w WorkflowInfo) DisplayName() string {
|
||||||
|
if w.Workflow != nil && w.Workflow.Name != "" {
|
||||||
|
return w.Workflow.Name
|
||||||
|
}
|
||||||
|
return w.Entry.Name()
|
||||||
|
}
|
||||||
|
|
||||||
// MustEnableActions check if actions are enabled in settings
|
// MustEnableActions check if actions are enabled in settings
|
||||||
func MustEnableActions(ctx *context.Context) {
|
func MustEnableActions(ctx *context.Context) {
|
||||||
if !setting.Actions.Enabled {
|
if !setting.Actions.Enabled {
|
||||||
@@ -341,6 +349,12 @@ func prepareWorkflowList(ctx *context.Context, workflows []WorkflowInfo) {
|
|||||||
|
|
||||||
ctx.Data["Runs"] = runs
|
ctx.Data["Runs"] = runs
|
||||||
|
|
||||||
|
workflowNames := make(map[string]string, len(workflows))
|
||||||
|
for _, wf := range workflows {
|
||||||
|
workflowNames[wf.Entry.Name()] = wf.DisplayName()
|
||||||
|
}
|
||||||
|
ctx.Data["WorkflowNames"] = workflowNames
|
||||||
|
|
||||||
actors, err := actions_model.GetActors(ctx, ctx.Repo.Repository.ID)
|
actors, err := actions_model.GetActors(ctx, ctx.Repo.Repository.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ctx.ServerError("GetActors", err)
|
ctx.ServerError("GetActors", err)
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<a class="item {{if not $.CurWorkflow}}active{{end}}" href="?actor={{$.CurActor}}&status={{$.CurStatus}}">{{ctx.Locale.Tr "actions.runs.all_workflows"}}</a>
|
<a class="item {{if not $.CurWorkflow}}active{{end}}" href="?actor={{$.CurActor}}&status={{$.CurStatus}}">{{ctx.Locale.Tr "actions.runs.all_workflows"}}</a>
|
||||||
{{range .workflows}}
|
{{range .workflows}}
|
||||||
<a class="item {{if eq .Entry.Name $.CurWorkflow}}active{{end}}" href="?workflow={{.Entry.Name}}&actor={{$.CurActor}}&status={{$.CurStatus}}">
|
<a class="item {{if eq .Entry.Name $.CurWorkflow}}active{{end}}" href="?workflow={{.Entry.Name}}&actor={{$.CurActor}}&status={{$.CurStatus}}">
|
||||||
<span class="gt-ellipsis">{{.Entry.Name}}</span>
|
<span class="gt-ellipsis">{{.DisplayName}}</span>
|
||||||
|
|
||||||
{{if .ErrMsg}}
|
{{if .ErrMsg}}
|
||||||
<span class="flex-text-inline" data-tooltip-content="{{.ErrMsg}}">{{svg "octicon-alert" 16 "tw-text-red"}}</span>
|
<span class="flex-text-inline" data-tooltip-content="{{.ErrMsg}}">{{svg "octicon-alert" 16 "tw-text-red"}}</span>
|
||||||
|
|||||||
@@ -21,7 +21,8 @@
|
|||||||
{{end}}
|
{{end}}
|
||||||
</span>
|
</span>
|
||||||
<div class="item-body">
|
<div class="item-body">
|
||||||
<span><b>{{if not $.CurWorkflow}}{{$run.WorkflowID}} {{end}}#{{$run.Index}}</b>:</span>
|
{{$workflowName := index $.WorkflowNames $run.WorkflowID}}
|
||||||
|
<span><b>{{if not $.CurWorkflow}}{{if $workflowName}}{{$workflowName}}{{else}}{{$run.WorkflowID}}{{end}} {{end}}#{{$run.Index}}</b>:</span>
|
||||||
|
|
||||||
{{- if $run.ScheduleID -}}
|
{{- if $run.ScheduleID -}}
|
||||||
{{ctx.Locale.Tr "actions.runs.scheduled"}}
|
{{ctx.Locale.Tr "actions.runs.scheduled"}}
|
||||||
|
|||||||
Reference in New Issue
Block a user