Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

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.

Give workflows and jobs a name and description

1cde8b9ea2ba1483beb90f19cde0f58aede2a661 · Keenan Nemetz · 8d ago · parent 30de4a44

Give workflows and jobs a name and description

The workflows page showed the file path and job IDs, so a reader had to
open the YAML comments to learn what a workflow was for. Add optional
top-level and job-level name and description fields, default them to the
file stem and job ID, pin them with a queued run, and show them on the
workflows and run pages.

Also document what the workflow format still cannot express, and state
that CI jobs are independent and unordered: only a local run uses the
declaration order.

Part of: #138

server/web/templates/workflows.html +8−3

@@ -17,15 +17,20 @@
17 17 {{if .Workflows}}
18 18 {{range .Workflows}}{{$wf := .}}
19 19 <div class="card">
20 <h2>{{icon "list"}}{{.Path}}</h2>
21 <p class="muted">branches {{join .Branches ", "}}{{if .Tags}} · tags {{join .Tags ", "}}{{end}}</p>
20 <h2>{{icon "list"}}{{.Name}}</h2>
21 {{if .Description}}<p>{{.Description}}</p>{{end}}
22 <p class="muted"><code>{{.Path}}</code> · branches {{join .Branches ", "}}{{if .Tags}} · tags {{join .Tags ", "}}{{end}}</p>
22 23 <div class="panel">
23 24 <table>
24 25 <thead><tr><th>Job</th><th>Runs on</th><th>Image</th><th>Steps</th><th>Outputs</th><th>Last run</th></tr></thead>
25 26 <tbody>
26 27 {{range .Jobs}}
27 28 <tr>
28 <td><a href="/r/{{$.Name}}/blob/{{esc $.Ref}}/{{pathurl $wf.Path}}">{{.ID}}</a></td>
29 <td>
30 <a href="/r/{{$.Name}}/blob/{{esc $.Ref}}/{{pathurl $wf.Path}}">{{.Name}}</a>
31 {{if ne .Name .ID}}<span class="muted"><code>{{.ID}}</code></span>{{end}}
32 {{if .Description}}<div class="muted">{{.Description}}</div>{{end}}
33 </td>
29 34 <td class="muted">{{if .Labels}}{{join .Labels ", "}}{{else}}any runner{{end}}</td>
30 35 <td>{{if .Image}}<code>{{.Image}}</code>{{else}}<span class="muted">none</span>{{end}}</td>
31 36 <td class="muted">{{.Steps}}</td>