<html>
<head>
  <title>Readme</title>
  <meta name="description" content="Readme this website">
  <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>
    {{if .SignedIn}}
      <a class="signout" href="/signout/?redirect=/readme/">Sign Out</a>
    {{else}}
      <a class="login" href="/login/?redirect=/readme/">Login</a>
    {{end}}
  </div>
  <div class="sidenav">
    <a href="/">Home</a>
    <a href="/changelog/">Changelog</a>
    <a href="/findbuild/">Find Build</a>
    <a href="/findreleasedbuild/">Find Released Build</a>
    <a class="active" href="/readme/?redirect=/readme/">Readme</a>
  </div>
  <div class="main">
    <div class="text-content">
      <h1>Readme</h1>
      <p>Information about this website's features, and how to use them.</p>
      <h2>Changelog</h2>
      <p>
        This feature displays a list of commits that were submitted between two
        COS builds
      </p>
      <p>
        It accepts either a COS image name or a COS build number. For example,
        <b>cos-rc-85-13310-1034-0</b> or <b>13310.1034.0</b> are both
        acceptable inputs for a desired build. Image names must match the
        regex pattern <i>^cos-(dev-|beta-|stable-|rc-)?([\d-]+)$</i> to be
        recognized.
      </p>
      <p>
        As an output, the page provides a list of commits that are not common
        in both builds. 
      </p>
      <p>
        <div class="circle removal"></div> A commit highlighted in pink
        indicates that the commit is present in the first build (the "From"
        text box), but not present in the second build (the "To" text box).<br>
      </p>
      <p>
        <div class="circle addition"></div> A commit highlighted in green
        indicates that the commit is present in the second build (the "To" text
        box) but not the first build (the "From" text box).
      </p>
      <p>
        For example, for a query that reads "From 15000.0.0 to 15020.0.0",
        green commits would indicate commits present in 15020.0.0 but not
        15000.0.0, while pink commits indicate the reverse.
      </p>
      <p>
        <b>Note:</b> Pre-Cusky releases are not supported by this application.
        For retrieving changelogs from pre-cusky builds, please use
        <a href="https://crosland.corp.google.com/" target="_blank">
          go/crosland
        </a>.
      </p>
      <p>
        It also shows the sysctl changes between two builds if milestone
        numbers are correctly provided and sysctl values have been dumped for these builds.
      </p>
      <p>
        Example: Milestone Number = 89, Build Number = 16108.403.22
      </p>
      <h2>Find Build</h2>
      <p>
        This feature allows you to locate the first build containing a desired
        CL.
      </p>
      <p>
        It accepts either a CL-number or a commit-SHA as input. Using
        <a href="https://cos-review.googlesource.com/c/cos/overlays/board-overlays/+/3280" target="_blank">
          CL 3280
        </a>
        as an example, an acceptable input would be either <b>3280</b> or
        <b>18d4ce48c1dc2f530120f85973fec348367f78a0</b>.
      </p>
      <p>
        As an output, the page provides the build number for the first build
        containing a CL. In some cases, the output may not map to a released
        COS build. However, any build number that sequentially follows it is
        guaranteed to contain the desired change.
      </p>
    </div>
  </div>
</body>
</html>