vole
Clone
Read only, no credentials:
https://rodent.software/git/vole.git
Write over SSH with a registered key:
git clone ssh://git@0.0.0.0:2222/vole.git
A free and open-source forge that lives in your Git repo.
Blame · server/web/templates/workflow_dispatch.html
Line attribution on main · 55 line(s)
|
eb07ff56
Keenan Nemetz
8d ago
|
1 | {{define "workflow_dispatch"}} |
| 2 | {{template "header" .}} | |
| 3 | {{template "repohead" (nav .Page "runs")}} | |
| 4 | ||
| 5 | <div class="page-head"> | |
| 6 | <div class="page-head-main"> | |
| 7 | <h1>Run workflow</h1> | |
| 8 | <p class="page-sub">{{if .Workflow}}{{.Workflow.Path}}{{else}}Choose a workflow{{end}} · a manual run of a workflow that declares <code>workflow-dispatch</code>.</p> | |
| 9 | </div> | |
| 10 | </div> | |
| 11 | ||
| 12 | {{if .Error}}<div class="flash bad">{{.Error}}</div>{{end}} | |
| 13 | ||
| 14 | {{if .Workflow}} | |
|
ed03b3d1
Keenan Nemetz
2h ago
|
15 | <form method="post" action="/{{.Name}}/workflows/dispatch" class="form-block"> |
|
eb07ff56
Keenan Nemetz
8d ago
|
16 | <input type="hidden" name="csrf" value="{{.CSRF}}"> |
| 17 | <input type="hidden" name="workflow" value="{{.Workflow.Path}}"> | |
| 18 | <div class="card form-card"> | |
| 19 | <label>Branch | |
| 20 | <select name="ref"> | |
| 21 | {{range .Branches}}<option value="{{.}}"{{if eq . $.Ref}} selected{{end}}>{{.}}</option>{{end}} | |
| 22 | </select> | |
| 23 | </label> | |
| 24 | <p class="muted">The workflow is read from this branch, and the job checks out its tip.</p> | |
| 25 | ||
| 26 | {{range .Inputs}}{{$input := .}} | |
| 27 | <label>{{.Name}}{{if .Required}} <span class="muted">required</span>{{end}} | |
| 28 | {{if eq .Type "choice"}} | |
| 29 | <select name="{{.Name}}"> | |
| 30 | {{range .Options}}<option value="{{.}}"{{if eq . $input.Default}} selected{{end}}>{{.}}</option>{{end}} | |
| 31 | </select> | |
| 32 | {{else if eq .Type "boolean"}} | |
| 33 | <select name="{{.Name}}"> | |
| 34 | <option value="false"{{if eq .Default "false"}} selected{{end}}>false</option> | |
| 35 | <option value="true"{{if eq .Default "true"}} selected{{end}}>true</option> | |
| 36 | </select> | |
| 37 | {{else}} | |
| 38 | <input type="text" name="{{.Name}}" value="{{.Default}}"{{if .Required}} required{{end}}> | |
| 39 | {{end}} | |
| 40 | </label> | |
| 41 | {{if .Description}}<p class="muted">{{.Description}}</p>{{end}} | |
| 42 | {{end}} | |
| 43 | </div> | |
| 44 | <div class="form-actions"> | |
|
ed03b3d1
Keenan Nemetz
2h ago
|
45 | <a class="button secondary" href="/{{.Name}}/runs">{{icon "x"}}Cancel</a> |
|
eb07ff56
Keenan Nemetz
8d ago
|
46 | <button type="submit">{{icon "play"}}Run workflow</button> |
| 47 | </div> | |
| 48 | </form> | |
| 49 | {{else}} | |
| 50 | <div class="empty-state"> | |
| 51 | <p>No workflow was selected.</p> | |
| 52 | </div> | |
| 53 | {{end}} | |
| 54 | {{template "footer" .}} | |
| 55 | {{end}} |