internal/web/templates/builds.html

e2a32d5f8d59e4213571c602bd9009b6c8fa86ed
gitbay/internal/web/templates/builds.html history · blame · raw

58 lines · 3099 bytes

 1{{define "width"}}wide{{end}}
 2{{define "title"}}builds · {{.Repo.OwnerName}}/{{.Repo.Name}}{{end}}
 3{{define "content"}}
 4<div class="withcol">
 5<nav class="sidecol" aria-label="Filters">
 6<details class="sidedrop">
 7<summary><span class="sideword">Filters</span>{{range .Facets}}{{range .Items}}{{if .Active}} <span class="sideon">{{.Label}}</span>{{end}}{{end}}{{end}}</summary>
 8  {{range .Facets}}{{if .Items}}<div class="grp">
 9  <h2 class="colhead">{{.Title}}</h2>
10  <ul>{{range .Items}}<li><a{{if .Active}} aria-current="page"{{end}} href="{{.Href}}">{{.Label}}</a></li>{{end}}</ul>
11  </div>{{end}}{{end}}
12  <form method="get" class="searchform compact">
13    <label for="ref" class="colhead">Branch</label>
14    <input type="text" id="ref" name="ref" value="{{.Filter.Ref}}" list="buildrefs" spellcheck="false">
15    <datalist id="buildrefs">{{range .Refs}}<option value="{{.}}">{{end}}</datalist>
16    <input type="hidden" name="status" value="{{.Filter.Status}}">
17    <input type="hidden" name="job" value="{{.Filter.Job}}">
18    <button type="submit" class="btn">Filter</button>
19  </form>
20</details>
21</nav>
22<div class="colmain">
23<div class="listhead">
24  <h1>Builds</h1>
25</div>
26{{if .Notice}}<p class="error" role="alert">{{.Notice}}</p>{{end}}
27{{if and .CanWrite .Jobs}}
28<form method="post" action="/{{.Repo.OwnerName}}/{{.Repo.Name}}/builds" class="setform">
29  <label for="job">Run a job now</label>
30  <select id="job" name="job">
31    {{range .Jobs}}<option value="{{.Name}}">{{.Name}}{{if .Schedule}} (schedule {{.Schedule}}){{else if .Tags}} (tags {{.Tags}}){{end}}</option>{{end}}
32  </select>
33  <button type="submit" class="btn">Run</button>
34</form>
35{{end}}
36<details class="editbox"><summary>Status badge</summary>
37<p class="meta">Paste into a README; it shows the newest build's state.</p>
38<pre class="code" tabindex="0">[![build](https://{{.Host}}/{{.Repo.OwnerName}}/{{.Repo.Name}}/badge/build.svg)](https://{{.Host}}/{{.Repo.OwnerName}}/{{.Repo.Name}}/builds)</pre>
39<p class="meta">Add <code>?job=name</code> for one job.</p>
40</details>
41<p class="meta">{{len .Builds}} build{{if ne (len .Builds) 1}}s{{end}} in {{len .Runs}} run{{if ne (len .Runs) 1}}s{{end}}{{if .Older}} on this page{{end}}{{if or .Filter.Ref .Filter.Status .Filter.Job}}, <a href="?">clear filters</a>{{end}}</p>
42<ul class="loglist rows">
43{{range .Runs}}<li>
44  <div class="commitmain">
45    <p class="subject"><a href="/{{$.Repo.OwnerName}}/{{$.Repo.Name}}/commit/{{.SHA}}">{{if .Subject}}{{.Subject}}{{else}}{{printf "%.10s" .SHA}}{{end}}</a></p>
46    <p class="meta">{{if .Subject}}<code>{{printf "%.10s" .SHA}}</code> · {{end}}{{.Ref}} · {{when .CreatedAt}}</p>
47  </div>
48  <div class="commitside">
49    <span class="badge check-{{.Status}}">{{.Status}}</span>
50    {{range .Builds}}<a class="chip check-{{.Status}}" href="/{{$.Repo.OwnerName}}/{{$.Repo.Name}}/builds/{{.Number}}">{{.Job}}</a>{{end}}
51  </div>
52</li>
53{{else}}<li class="empty">no builds — push a commit with a <code>.gitbay/ci.yml</code></li>{{end}}
54</ul>
55{{if .Older}}<p class="pager"><a href="{{.Older}}">older →</a></p>{{end}}
56</div>
57</div>
58{{end}}