mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-26 06:16:56 +09:00
Adds a read-only Actions job queue: running jobs first, then waiting jobs in the order a runner picks them up. It is shown instance-wide in the admin Actions section with owner, repository and status filters, and per repository in the Actions tab. Both lists refresh in place. Pending work is currently only visible per repository and newest-first, so nothing shows what is queued, in which order, or what occupies the runners. Reordering the queue will be proposed separately. A migration adds indexes for the runner pickup query and repository-scoped status lookups. * Fix #34198 <img width="1345" height="451" alt="image" src="https://github.com/user-attachments/assets/7d52ff76-81b4-44e8-b583-d7d89c9dffcd" /> <img width="1809" height="1134" alt="image" src="https://github.com/user-attachments/assets/4d56c0cb-bae7-4ce2-8f3c-75163b2bc7f4" /> --------- Co-authored-by: Zettat123 <zettat123@gmail.com> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
78 lines
3.4 KiB
Handlebars
78 lines
3.4 KiB
Handlebars
{{$data := .ActionRunListData}}
|
|
<div class="flex-divided-list items-with-main run-list" data-global-init="initActionRunsList"
|
|
data-action-runs-refresh-link="{{$data.RefreshLink}}"
|
|
data-action-runs-refresh-interval="{{$data.RefreshIntervalMs}}"
|
|
>
|
|
{{if not $data.ActionRuns}}
|
|
<div class="empty-placeholder">
|
|
{{svg "octicon-no-entry" 48}}
|
|
<h2>{{if $data.IsFiltered}}{{ctx.Locale.Tr "actions.runs.no_results"}}{{else}}{{ctx.Locale.Tr "actions.runs.no_runs"}}{{end}}</h2>
|
|
</div>
|
|
{{end}}
|
|
{{range $run := $data.ActionRuns}}
|
|
<div id="action-run-item-{{$run.ID}}" class="item tw-items-center" data-status="{{$run.Status.String}}" data-morph-whole>
|
|
<div class="item-leading">
|
|
<span data-tooltip-content="{{ctx.Locale.Tr (printf "actions.status.%s" $run.Status.String)}}">
|
|
{{template "repo/icons/action_status" (dict "Status" $run.Status.String "IconVariant" "circle-fill")}}
|
|
</span>
|
|
</div>
|
|
<div class="item-main">
|
|
<div class="item-title">
|
|
{{$title := or $run.Title (ctx.Locale.TrString "actions.runs.empty_commit_message")}}
|
|
{{ctx.RenderUtils.RenderCommitMessageLinkSubject $title $run.Link $run.Repo}}
|
|
</div>
|
|
<div class="item-body">
|
|
{{$workflowName := index $data.WorkflowNames $run.WorkflowID}}
|
|
<span><b>{{if not $data.CurWorkflow}}{{if $workflowName}}{{$workflowName}}{{else}}{{$run.WorkflowID}}{{end}} {{end}}#{{$run.Index}}</b>:</span>
|
|
|
|
{{- if $run.ScheduleID -}}
|
|
{{ctx.Locale.Tr "actions.runs.scheduled"}}
|
|
{{- else -}}
|
|
{{ctx.Locale.Tr "actions.runs.commit"}}
|
|
<a href="{{$run.Repo.Link}}/commit/{{$run.CommitSHA}}">{{ShortSha $run.CommitSHA}}</a>
|
|
{{ctx.Locale.Tr "actions.runs.pushed_by"}}
|
|
<a href="{{$run.TriggerUser.HomeLink}}">{{$run.TriggerUser.GetDisplayName}}</a>
|
|
{{- end -}}
|
|
|
|
{{$errMsg := index $data.RunErrors $run.ID}}
|
|
{{if $errMsg}}
|
|
<span class="flex-text-inline" data-tooltip-content="{{$errMsg}}">
|
|
{{svg "octicon-alert" 16 "tw-text-red"}}
|
|
</span>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
<div class="run-list-item-trailing">
|
|
{{if $run.IsRefDeleted}}
|
|
<span class="ui label run-list-ref gt-ellipsis tw-line-through" data-tooltip-content="{{$run.RefTooltip}}">{{$run.PrettyRef}}</span>
|
|
{{else}}
|
|
<a class="ui label run-list-ref gt-ellipsis" href="{{$run.RefLink}}" data-tooltip-content="{{$run.RefTooltip}}">{{$run.PrettyRef}}</a>
|
|
{{end}}
|
|
<div class="run-list-item-right">
|
|
<div class="run-list-meta">{{svg "octicon-calendar" 16}}{{DateUtils.TimeSince $run.Updated}}</div>
|
|
<div class="run-list-meta">{{svg "octicon-stopwatch" 16}}{{$run.Duration}}</div>
|
|
</div>
|
|
<div class="ui dropdown jump tw-p-2">
|
|
{{svg "octicon-kebab-horizontal"}}
|
|
<div class="menu flex-items-menu">
|
|
<a class="item" href="{{$run.Link}}/workflow">{{svg "octicon-play"}}{{ctx.Locale.Tr "actions.runs.view_workflow_file"}}</a>
|
|
{{if and $data.CanWriteRepoUnitActions (not $run.Status.IsDone)}}
|
|
<a class="item link-action" data-url="{{$run.Link}}/cancel">
|
|
{{svg "octicon-x"}}{{ctx.Locale.Tr "actions.runs.cancel"}}
|
|
</a>
|
|
{{end}}
|
|
{{if and $data.CanWriteRepoUnitActions $run.Status.IsDone}}
|
|
<a class="item link-action negative"
|
|
data-url="{{$run.Link}}/delete"
|
|
data-modal-confirm="{{ctx.Locale.Tr "actions.runs.delete.description"}}"
|
|
>
|
|
{{svg "octicon-trash"}}{{ctx.Locale.Tr "actions.runs.delete"}}
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
</div>
|