blob: d717e6505ca4463a50022cc6b5a976acd75dc15f [file] [log] [blame]
<!DOCTYPE html>
<!--
Copyright 2022 The Go Authors. All rights reserved.
Use of this source code is governed by a BSD-style
license that can be found in the LICENSE file.
-->
<html lang="en">
<head>
<title>{{$.Dashboard.Name}} Build Dashboard</title>
<link rel="stylesheet" href="/style.css"/>
<script async>
let showUnsupported = window.location.hash.substr(1) !== 'short';
function redraw() {
showUnsupported = !document.querySelector('#showshort').checked;
document.querySelectorAll('.unsupported').forEach(el => {
el.hidden = !showUnsupported;
});
window.location.hash = showUnsupported ? '' : 'short';
document.querySelectorAll('.Build-builderOS').forEach(el => {
el.setAttribute(
'colspan',
el.getAttribute(
showUnsupported ? 'data-archs' : 'data-firstClassArchs'
)
);
});
document.querySelectorAll('.Build-osColumn').forEach(el => {
el.setAttribute(
'span',
el.getAttribute(
showUnsupported ? 'data-archs' : 'data-firstClassArchs'
)
);
});
}
window.addEventListener('load', () => {
document.querySelector('#showshort').checked = !showUnsupported;
document.querySelector('#showshort').addEventListener('change', redraw);
redraw();
});
</script>
</head>
<body class="Dashboard">
<header class="Dashboard-topbar">
<h1>
<a href="/">Go Build Coordinator</a>
</h1>
<nav>
<ul>
<li><a href="/dashboard">Build Dashboard</a></li>
<li><a href="https://perf.golang.org/dashboard">Performance Dashboard</a></li>
<li><a href="/builders">Builders</a></li>
</ul>
</nav>
</header>
<form action="../.." method="GET">
<input type="hidden" name="repo" value="{{.Package.Path}}"/>
<nav class="Dashboard-controls">
{{if not (eq .Branch "")}}
<label>
<select name="branch" onchange="this.form.submit()">
{{range $.Branches}}
<option value="{{.}}" {{if eq $.Branch .}} selected{{end}}>
{{.}}
</option>
{{end}}
</select>
</label>
{{end}}
<label>
<input type="checkbox" id="showshort"/>
show only
<a href="http://golang.org/wiki/PortingPolicy">first-class ports</a>
</label>
</nav>
</form>
<h2 class="Dashboard-packageName">{{$.Package.Name}}</h2>
<div class="page Build-scrollTable">
{{if $.Commits}}
<table class="Build">
<colgroup class="col-hash" {{if $.Package.Path}} span="2" {{end}}></colgroup>
<colgroup class="col-user"></colgroup>
<colgroup class="col-time"></colgroup>
<colgroup class="Build-descriptionColumn col-desc"></colgroup>
{{range $.Builders}}
<colgroup class="Build-osColumn col-result{{if .Unsupported}} unsupported{{end}}" span="{{.Archs | len}}"
data-archs="{{.Archs | len}}" data-firstClassArchs="{{.FirstClassArchs | len}}"></colgroup>
{{end}}
<tr class="Build-builderOSRow">
{{if $.Package.Path}}
<th colspan="2">revision</th>
{{else}}
<th>&nbsp;</th>
{{end}}
<th></th>
<th></th>
<th></th>
{{range $.Builders}}
<th class="Build-builderOS{{if not .FirstClass}} unsupported{{end}}" colspan="{{.Archs | len}}"
data-archs="{{.Archs | len}}" data-firstClassArchs="{{.FirstClassArchs | len}}">
{{.OS}}
</th>
{{end}}
</tr>
<tr class="Build-builderArchRow">
{{if $.Package.Path}}
<th class="result arch">repo</th>
<th class="result arch">{{$.Dashboard.Name}}</th>
{{else}}
<th>&nbsp;</th>
{{end}}
<th></th>
<th></th>
<th></th>
{{range $.Builders}}
{{range.Archs}}
<th class="result arch{{if not (.FirstClass)}} unsupported{{end}}" title="{{.Name}}">
{{.Arch}}
</th>
{{end}}
{{end}}
</tr>
<tr class="Build-builderTagRow">
<th {{if $.Package.Path}}colspan="2" {{end}}>&nbsp;</th>
<th></th>
<th></th>
<th></th>
{{range $.Builders}}
{{range.Archs}}
<th class="Build-resultArch result arch{{if not (.FirstClass)}} unsupported{{end}}" title="{{.Name}}">
{{.Tag}}
</th>
{{end}}
{{end}}
</tr>
{{range $c := $.Commits}}
<tr class="commit">
<td class="hash">
<span class="ShortHash">
<a href="https://go-review.googlesource.com/q/{{$c.Hash}}">
{{$c.Hash}}
</a>
</span>
</td>
<td class="Build-user" title="{{$c.User}}">{{$c.ShortUser}}</td>
<td class="Build-commitTime">
{{$c.Time}}
</td>
<td class="Build-desc desc" title="{{$c.Desc}}">{{$c.Desc}}</td>
{{range $b := $.Builders}}
{{range $a := .Archs}}
<td class="Build-result {{if not $a.FirstClass}} unsupported{{end}}" data-builder="{{$a.Name}}">
{{with $c.ResultForBuilder $a.Name}}
{{if .OK}}
<a class="Build-resultOK" href="https://build.golang.org/log/{{.LogHash}}"
title="Build log of {{$a.Name}} on commit {{shortHash $c.Hash}}.">ok</a>
{{end}}
{{end}}
</td>
{{end}}
{{end}}
</tr>
{{end}}
</table>
{{with $.Pagination}}
<div class="paginate">
<nav>
{{if .HasPrev}}
<a href="?repo={{$.Package.Path}}&page={{.Prev}}&branch={{$.Branch}}">
newer
</a>
{{else}}
newer
{{end}}
{{if .Next}}
<a href="?repo={{$.Package.Path}}&page={{.Next}}branch={{$.Branch}}">
older
</a>
{{else}}
older
{{end}}
{{if .HasPrev}}
<a href="?branch={{$.Branch}}">
latest
</a>
{{else}}
latest
{{end}}
</nav>
</div>
{{end}}
{{else}}
<p>No commits to display. Hm.</p>
{{end}}
</div>
</body>
</html>