mirror of
https://github.com/go-gitea/gitea.git
synced 2026-11-05 00:09:33 +09:00
A workflow whose only trigger is `workflow_call` never runs on its own, so its sidebar entry always showed an empty run list and a "Disable workflow" action that has no effect. Following the discussion with @bircni and @Zettat123, these workflows are now listed in a separate collapsed "Reusable workflows" group. Their page shows "This workflow can only be called by other workflows." instead of "no runs", and "Disable workflow" and "Create status badge" are hidden. A workflow disabled before it became `workflow_call`-only keeps its label and "Enable workflow". "Other workflows" again only lists workflows whose file is gone. Fixes: https://github.com/go-gitea/gitea/issues/39385 Co-authored-by: bircni <bircni@icloud.com> Co-authored-by: silverwind <me@silverwind.io>
87 lines
4.6 KiB
Handlebars
87 lines
4.6 KiB
Handlebars
<div class="flex-container-nav">
|
|
<div class="ui fluid vertical menu">
|
|
<a class="item {{if and (not $.CurWorkflow) (not $.PageIsActionsJobQueue)}}active{{end}}" href="{{$.RepoLink}}/actions?actor={{$.CurActor}}&status={{$.CurStatus}}&branch={{$.CurBranch}}">{{ctx.Locale.Tr "actions.runs.all_workflows"}}</a>
|
|
{{range .workflows}}{{if not .Reusable}}
|
|
<a class="item flex-text-block {{if and (eq .EntryName $.CurWorkflow) (not $.CurWorkflowScopedRepoID)}}active{{end}}" href="{{$.RepoLink}}/actions?workflow={{.EntryName}}&actor={{$.CurActor}}&status={{$.CurStatus}}&branch={{$.CurBranch}}">
|
|
<span class="gt-ellipsis" data-tooltip-content="{{.DisplayName}}">{{.DisplayName}}</span>
|
|
|
|
{{if .ErrMsg}}
|
|
<span class="flex-text-inline tw-shrink-0" data-tooltip-content="{{.ErrMsg}}">{{svg "octicon-alert" 16 "tw-text-red"}}</span>
|
|
{{end}}
|
|
|
|
{{if $.ActionsConfig.IsWorkflowDisabled .EntryName}}
|
|
<div class="ui red label tw-shrink-0">{{ctx.Locale.Tr "disabled"}}</div>
|
|
{{end}}
|
|
</a>
|
|
{{end}}{{end}}
|
|
{{if .ReusableWorkflows}}
|
|
<details class="item"{{if $.CurWorkflowIsReusable}} open{{end}}>
|
|
<summary data-tooltip-content="{{ctx.Locale.Tr "actions.runs.reusable_workflows_tooltip"}}">
|
|
<span class="flex-text-block">
|
|
{{ctx.Locale.Tr "actions.runs.reusable_workflows"}}
|
|
<span class="ui label">{{len .ReusableWorkflows}}</span>
|
|
</span>
|
|
</summary>
|
|
<div class="menu items-full-width">
|
|
{{range .ReusableWorkflows}}
|
|
<a class="item flex-text-block {{if and (eq .EntryName $.CurWorkflow) (not $.CurWorkflowScopedRepoID)}}active{{end}}" href="{{$.RepoLink}}/actions?workflow={{.EntryName}}&actor={{$.CurActor}}&status={{$.CurStatus}}&branch={{$.CurBranch}}">
|
|
<span class="gt-ellipsis" data-tooltip-content="{{.DisplayName}}">{{.DisplayName}}</span>
|
|
{{if .ErrMsg}}
|
|
<span class="flex-text-inline tw-shrink-0" data-tooltip-content="{{.ErrMsg}}">{{svg "octicon-alert" 16 "tw-text-red"}}</span>
|
|
{{end}}
|
|
{{if $.ActionsConfig.IsWorkflowDisabled .EntryName}}
|
|
<div class="ui red label tw-shrink-0">{{ctx.Locale.Tr "disabled"}}</div>
|
|
{{end}}
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
</details>
|
|
{{end}}
|
|
{{range .ScopedWorkflowGroups}}
|
|
<details class="item scoped-workflow-group"{{if .IsActive}} open{{end}}>
|
|
<summary>
|
|
<span class="gt-ellipsis tw-min-w-0" data-tooltip-content="{{.SourceRepoName}}">{{if .FromInstance}}{{.SourceRepoName}}{{else}}{{.SourceRepoShortName}}{{end}}</span>
|
|
<span class="ui label">{{if .FromInstance}}{{ctx.Locale.Tr "actions.workflow.scope_global"}}{{else}}{{ctx.Locale.Tr "actions.workflow.scope_owner"}}{{end}}</span>
|
|
</summary>
|
|
{{range .Workflows}}
|
|
<a class="item flex-text-block {{if and (eq .EntryName $.CurWorkflow) (eq .SourceRepoID $.CurWorkflowScopedRepoID)}}active{{end}}" href="{{$.RepoLink}}/actions?workflow={{.EntryName}}&scoped_workflow_source_repo_id={{.SourceRepoID}}&actor={{$.CurActor}}&status={{$.CurStatus}}&branch={{$.CurBranch}}">
|
|
<span class="gt-ellipsis tw-min-w-0" data-tooltip-content="{{.EntryName}}">{{.DisplayName}}</span>
|
|
{{if .Required}}
|
|
<span class="ui label">{{ctx.Locale.Tr "actions.workflow.required"}}</span>
|
|
{{else if .Disabled}}
|
|
<span class="ui red label">{{ctx.Locale.Tr "disabled"}}</span>
|
|
{{end}}
|
|
</a>
|
|
{{end}}
|
|
</details>
|
|
{{end}}
|
|
{{if .OtherWorkflows}}
|
|
<details class="item"{{if not $.CurWorkflowIsListed}} open{{end}}>
|
|
<summary data-tooltip-content="{{ctx.Locale.Tr "actions.runs.other_workflows_tooltip"}}">
|
|
<span class="flex-text-block">
|
|
{{ctx.Locale.Tr "actions.runs.other_workflows"}}
|
|
<span class="ui label">{{len .OtherWorkflows}}</span>
|
|
</span>
|
|
</summary>
|
|
<div class="menu items-full-width">
|
|
{{range .OtherWorkflows}}
|
|
<a class="item {{if eq . $.CurWorkflow}}active{{end}}" href="{{$.RepoLink}}/actions?workflow={{.}}&actor={{$.CurActor}}&status={{$.CurStatus}}">
|
|
<span class="gt-ellipsis" data-tooltip-content="{{.}}">{{.}}</span>
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
</details>
|
|
{{end}}
|
|
</div>
|
|
|
|
<div class="ui fluid secondary vertical menu flex-items-block">
|
|
{{/* At the moment, the "job queue" page is view-only, it doesn't really do any management.
|
|
GitHub has a similar menu section which contains "cache management" and more, so this section is designed for the future */}}
|
|
<div>{{ctx.Locale.Tr "actions.management"}}</div>
|
|
<a class="item {{if $.PageIsActionsJobQueue}}active{{end}}" href="{{$.RepoLink}}/actions/job_queue">
|
|
{{svg "octicon-list-ordered"}}
|
|
<span class="gt-ellipsis">{{ctx.Locale.Tr "actions.job_queue.title"}}</span>
|
|
</a>
|
|
</div>
|
|
</div>
|