<!DOCTYPE HTML>
<html>
  <head>
    <title>Build Status - Go Dashboard</title>
    <link rel="stylesheet" type="text/css" href="static/style.css">
  </head>

  <body>
    <a id="top"></a>

    <ul class="menu">
      <li>Build Status</li>
      <li><a href="/package">Packages</a></li>
      <li><a href="/project">Projects</a></li>
      <li><a href="/benchmarks">Benchmarks</a></li>
      <li><a href="http://golang.org/">golang.org</a></li>
    </ul>
    
    <h1>Go Dashboard</h1>
    
    <h2>Build Status</h2>
    <table class="alternate" cellpadding="0" cellspacing="0">
      <tr>
        <th></th>
        {% for b in builders %}
          <th class="builder">{{b.goos}}<br>{{b.goarch}}<br>{{b.note}}</th>
        {% endfor %}
        <th></th>
        <th></th>
        <th></th>
      </tr>

      {% for r in revs %}
      <tr>
        <td class="revision"><span class="hash"><a href="https://code.google.com/p/go/source/detail?r={{r.node}}">{{r.node|slice:":12"}}</a></span></td>

        {% for b in r.builds %}
          <td class="result">
          {% if b.ok %}
            <span class="ok">ok</span>
          {% else %}
            {% if b.log %}
              <a class="fail" href="/log/{{b.log}}">fail</a>
            {% else %}
              &nbsp;
            {% endif %}
          {% endif %}
          </td>
        {% endfor %}

        <td class="user">{{r.user|escape}}</td>
        <td class="date">{{r.date|escape}}</td>
        <td class="desc">{{r.shortdesc|escape}}</td>
      </tr>
      {% endfor %}
    </table>
    <div class="paginate">
	<a{% if prev %} href="?n={{num}}&p={{prev}}"{% else %} class="inactive"{% endif %}>prev</a>
	<a{% if next %} href="?n={{num}}&p={{next}}"{% else %} class="inactive"{% endif %}>next</a>
	<a{% if prev %} href="?n={{num}}&p=1"{% else %} class="inactive"{% endif %}>top</a>
    </div>
  </body>
</html>
