<html>
<head>
  <title>Find Build</title>
  <meta name="description" content="Find the first build containing a changelist that was released">
  <link rel="stylesheet" href="/static/css/base.css">
  <link rel="stylesheet" href="/static/css/changelog.css">
</head>
<body>
  <div class="navbar">
    <p class="navbar-title">Container Optimized OS</p>
    <a class="signout" href="/signout/?redirect=/findreleasedbuild/">Sign Out</a>
  </div>
  <div class="sidenav">
    <a href="/">Home</a>
    <a href="/changelog/">Changelog</a>
    <a href="/findbuild/">Find Build</a>
    <a class="active" href="/findreleasedbuild/">Find Released Build</a>
    <a href="/readme/">Readme</a>
  </div>
  <div class="main">
    <h1>Find Released Build with CL</h1>
    <p class="feature-info">
        Find the first Container-Optimized OS released build containing a desired
        changelist.<br>
      Example input: <b>3280</b> or
    </p>
    <p class="feature-info">
      <b>Note:</b>  It is possible that COS build was released with the cl number so please check out the Landed in tab. 
    </p>
    <p class="feature-info">
      <b>Note:</b> Commits must be submitted through Gerrit to be tracked by
      this tool. Commits directly submitted to a Git repository are not
      supported.
    </p>
    <form class="changelog-form" action="/findreleasedbuild">
      <div class="text">
        {{if (ne .CL "")}}
          <input type="text" class="cl-input" name="cl" placeholder="CL-Number" value={{.CL}} required>
        {{else}}
          <input type="text" class="cl-input" name="cl" placeholder="CL-Number" required>
        {{end}}
        <input class="submit" type="submit" value="Submit"><br>
      </div>
      <div class="radio">
        {{if .Internal}}
          <label>
            <input type="radio" class="internal" name="instance" value="cos-internal" checked>
            Internal
          </label>
          <label>
            <input type="radio" class="external" name="instance" value="cos">
            External
          </label>
        {{else}}
          <label>
            <input type="radio" class="internal" name="instance" value="cos-internal">
            Internal
          </label>
          <label>
            <input type="radio" class="external" name="instance" value="cos" checked>
            External
          </label>
        {{end}}
      </div>
    </form>
    <div class="locate-build-result">
      {{if (ne .BuildNum "")}}
        <p>
          <a href={{.GerritLink}} target="_blank"> CL {{.CLNum}}</a>
          released in build <b>{{.BuildNum}}</b>.
        </p>
      {{end}}
    </div>
  </div>
</body>
</html>