Some checks are pending
Build and Release / Lint and Test (push) Waiting to run
Build and Release / Build Binaries (amd64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, linux) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, windows) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, linux) (push) Blocked by required conditions
- Display capabilities on runner edit page (OS, Docker, shells, tools) - Add locale translations for capability labels - Parse and render CapabilitiesJSON from runner model - Update actions-proto-go to v0.5.2 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
151 lines
5.5 KiB
Handlebars
151 lines
5.5 KiB
Handlebars
<div class="runner-container">
|
|
<h4 class="ui top attached header">
|
|
{{ctx.Locale.Tr "actions.runners.runner_title"}} {{.Runner.ID}} {{.Runner.Name}}
|
|
</h4>
|
|
<div class="ui attached segment">
|
|
<form class="ui form" method="post">
|
|
{{template "base/disable_form_autofill"}}
|
|
<div class="runner-basic-info">
|
|
<div class="field tw-inline-block tw-mr-4">
|
|
<label>{{ctx.Locale.Tr "actions.runners.status"}}</label>
|
|
<span class="ui {{if .Runner.IsOnline}}green{{else}}basic{{end}} label">{{.Runner.StatusLocaleName ctx.Locale}}</span>
|
|
</div>
|
|
<div class="field tw-inline-block tw-mr-4">
|
|
<label>{{ctx.Locale.Tr "actions.runners.last_online"}}</label>
|
|
<span>{{if .Runner.LastOnline}}{{DateUtils.TimeSince .Runner.LastOnline}}{{else}}{{ctx.Locale.Tr "never"}}{{end}}</span>
|
|
</div>
|
|
<div class="field tw-inline-block tw-mr-4">
|
|
<label>{{ctx.Locale.Tr "actions.runners.labels"}}</label>
|
|
<span>
|
|
{{range .Runner.AgentLabels}}
|
|
<span class="ui label">{{.}}</span>
|
|
{{end}}
|
|
</span>
|
|
</div>
|
|
<div class="field tw-inline-block tw-mr-4">
|
|
<label>{{ctx.Locale.Tr "actions.runners.owner_type"}}</label>
|
|
<span data-tooltip-content="{{.Runner.BelongsToOwnerName}}">{{.Runner.BelongsToOwnerType.LocaleString ctx.Locale}}</span>
|
|
</div>
|
|
</div>
|
|
|
|
{{if .Runner.CapabilitiesJSON}}
|
|
<div class="divider"></div>
|
|
<div class="field">
|
|
<label>{{ctx.Locale.Tr "actions.runners.capabilities"}}</label>
|
|
<div class="ui segment runner-capabilities">
|
|
{{if .RunnerCapabilities}}
|
|
<div class="tw-flex tw-flex-wrap tw-gap-4">
|
|
{{if .RunnerCapabilities.OS}}
|
|
<div class="tw-inline-block tw-mr-4">
|
|
<strong>{{ctx.Locale.Tr "actions.runners.capabilities.os"}}:</strong>
|
|
<span class="ui label">{{.RunnerCapabilities.OS}}/{{.RunnerCapabilities.Arch}}</span>
|
|
</div>
|
|
{{end}}
|
|
{{if .RunnerCapabilities.Docker}}
|
|
<div class="tw-inline-block tw-mr-4">
|
|
<strong>{{ctx.Locale.Tr "actions.runners.capabilities.docker"}}:</strong>
|
|
<span class="ui green label">{{svg "octicon-check" 14}} {{ctx.Locale.Tr "actions.runners.capabilities.available"}}</span>
|
|
</div>
|
|
{{end}}
|
|
{{if .RunnerCapabilities.Shell}}
|
|
<div class="tw-inline-block tw-mr-4">
|
|
<strong>{{ctx.Locale.Tr "actions.runners.capabilities.shells"}}:</strong>
|
|
{{range .RunnerCapabilities.Shell}}
|
|
<span class="ui label">{{.}}</span>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
{{if .RunnerCapabilities.Tools}}
|
|
<div class="tw-mt-2">
|
|
<strong>{{ctx.Locale.Tr "actions.runners.capabilities.tools"}}:</strong>
|
|
<div class="tw-flex tw-flex-wrap tw-gap-2 tw-mt-1">
|
|
{{range $tool, $versions := .RunnerCapabilities.Tools}}
|
|
<span class="ui label">{{$tool}} {{range $versions}}{{.}} {{end}}</span>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
{{if .RunnerCapabilities.Limitations}}
|
|
<div class="tw-mt-2">
|
|
<strong>{{ctx.Locale.Tr "actions.runners.capabilities.limitations"}}:</strong>
|
|
<ul class="tw-mt-1 tw-ml-4">
|
|
{{range .RunnerCapabilities.Limitations}}
|
|
<li>{{.}}</li>
|
|
{{end}}
|
|
</ul>
|
|
</div>
|
|
{{end}}
|
|
{{else}}
|
|
<pre class="tw-text-sm"><code>{{.Runner.CapabilitiesJSON}}</code></pre>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
|
|
<div class="divider"></div>
|
|
|
|
<div class="field">
|
|
<label for="description">{{ctx.Locale.Tr "actions.runners.description"}}</label>
|
|
<input id="description" name="description" value="{{.Runner.Description}}">
|
|
</div>
|
|
|
|
<div class="divider"></div>
|
|
|
|
<div class="field">
|
|
<button class="ui primary button" data-url="{{.Link}}">{{ctx.Locale.Tr "actions.runners.update_runner"}}</button>
|
|
<button class="ui red button delete-button" data-url="{{.Link}}/delete" data-modal="#runner-delete-modal">
|
|
{{ctx.Locale.Tr "actions.runners.delete_runner"}}</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<h4 class="ui top attached header">
|
|
{{ctx.Locale.Tr "actions.runners.task_list"}}
|
|
</h4>
|
|
<div class="ui attached segment">
|
|
<table class="ui very basic striped table unstackable">
|
|
<thead>
|
|
<tr>
|
|
<th>{{ctx.Locale.Tr "actions.runners.task_list.run"}}</th>
|
|
<th>{{ctx.Locale.Tr "actions.runners.task_list.status"}}</th>
|
|
<th>{{ctx.Locale.Tr "actions.runners.task_list.repository"}}</th>
|
|
<th>{{ctx.Locale.Tr "actions.runners.task_list.commit"}}</th>
|
|
<th>{{ctx.Locale.Tr "actions.runners.task_list.done_at"}}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{range .Tasks}}
|
|
<tr>
|
|
<td><a href="{{.GetRunLink}}" target="_blank">{{.ID}}</a></td>
|
|
<td><span class="ui label task-status-{{.Status.String}}">{{.Status.LocaleString ctx.Locale}}</span></td>
|
|
<td><a href="{{.GetRepoLink}}" target="_blank">{{.GetRepoName}}</a></td>
|
|
<td>
|
|
<strong><a href="{{.GetCommitLink}}" target="_blank">{{ShortSha .CommitSHA}}</a></strong>
|
|
</td>
|
|
<td>{{if .IsStopped}}
|
|
<span>{{DateUtils.TimeSince .Stopped}}</span>
|
|
{{else}}-{{end}}</td>
|
|
</tr>
|
|
{{end}}
|
|
{{if not .Tasks}}
|
|
<tr>
|
|
<td colspan="5">{{ctx.Locale.Tr "actions.runners.task_list.no_tasks"}}</td>
|
|
</tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
{{template "base/paginate" .}}
|
|
</div>
|
|
<div class="ui g-modal-confirm delete modal" id="runner-delete-modal">
|
|
<div class="header">
|
|
{{svg "octicon-trash"}}
|
|
{{ctx.Locale.Tr "actions.runners.delete_runner_header"}}
|
|
</div>
|
|
<div class="content">
|
|
<p>{{ctx.Locale.Tr "actions.runners.delete_runner_notice"}}</p>
|
|
</div>
|
|
{{template "base/modal_actions_confirm" .}}
|
|
</div>
|
|
</div>
|