<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 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>
        Eaxmple: 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>