blob: 261d869b6375ef129429739f63ef60354ae2bb03 [file] [log] [blame]
<html>
<head>
<title>Changelog</title>
<meta name="description" content="Get the changelog between two COS builds">
<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=/changelog/">Sign Out</a>
</div>
<div class="sidenav">
<a href="/">Home</a>
<a class="active" href="/changelog/">Changelog</a>
<a href="/findbuild/">Find Build</a>
<a href="/findreleasedbuildv2/">Find Released Build</a>
<a href="/readme/">Readme</a>
</div>
<div class="main">
<h1>Changelog</h1>
<p class="feature-info">Retrieve a list of commits and sysctl changes between two
Container-Optimized OS builds.<br>
Example Input: <b>cos-rc-85-13310-1034-0</b> or <b>13310.1034.0</b>
</p>
<p class="feature-info"><b>Note:</b>
<a href="https://crosland.corp.google.com/" target="_blank">
go/crosland
</a>
should be used for pre-cusky builds
</p>
<form class="changelog-form" action="/changelog">
<div class="text">
<label>From </label>
{{if (ne .Source "")}}
<input type="text" class="source" name="source" placeholder="Image Name or Build Number" value={{.Source}} required>
{{else}}
<input type="text" class="source" name="source" placeholder="Image Name or Build Number" required>
{{end}}
<label> to </label>
{{if (ne .Target "")}}
<input type="text" class="target" name="target" placeholder="Image Name or Build Number" value={{.Target}} required>
{{else}}
<input type="text" class="target" name="target" placeholder="Image Name or Build Number" required>
{{end}}
<input type="hidden" name="n" value={{.QuerySize}}>
</div>
<div class="text">
<label>From </label>
{{if (ne .SourceMilestone "")}}
<input type="text" class="source" name="source-milestone" placeholder="Milestone Number" value={{.SourceMilestone}} required>
{{else}}
<input type="text" class="source" name="source-milestone" placeholder="Milestone Number" required>
{{end}}
<label> to </label>
{{if (ne .TargetMilestone "")}}
<input type="text" class="target" name="target-milestone" placeholder="Milestone Number" value={{.TargetMilestone}} required>
{{else}}
<input type="text" class="target" name="target-milestone" placeholder="Milestone Number" required>
{{end}}
<input class="submit" type="submit" value="Submit"><br>
</div>
<div class="text">
<label>From </label>
{{if (ne .SourceBoard "")}}
<input type="text" class="source" name="source-board" placeholder="Board Name" value={{.SourceBoard}}>
{{else}}
<input type="text" class="source" name="source-board" placeholder="Board Name">
{{end}}
<label> to </label>
{{if (ne .TargetBoard "")}}
<input type="text" class="target" name="target-board" placeholder="Board Name" value={{.TargetBoard}}>
{{else}}
<input type="text" class="target" name="target-board" placeholder="Board Name">
{{end}}
The default board is "lakitu".
</div>
<div class="radio">
{{if .Internal}}
<label>
<input type="radio" class="internal" name="internal" value="true" checked>
Internal
</label>
<label>
<input type="radio" class="external" name="internal" value="false">
External
</label>
{{else}}
<label>
<input type="radio" class="internal" name="internal" value="true">
Internal
</label>
<label>
<input type="radio" class="external" name="internal" value="false" checked>
External
</label>
{{end}}
</div>
</form>
{{if (and (ne .Target "") (ne .Source ""))}}
<div class="sha-legend">
<div class="legend-row">
<div class="circle addition"></div>
<span>
Commits present in <b>{{.Target}}</b> but not in <b>{{.Source}}</b>
</span><br>
</div>
<div class="legend-row">
<div class="circle removal"></div>
<span>
Commits present in <b>{{.Source}}</b> but not in <b>{{.Target}}</b>
</span>
</div>
<a href="/readme/">Read more</a>
</div>
{{end}}
{{range $table := .RepoTables}}
<h2 class="repo-header"> {{$table.Name}} </h2>
<table class="repo-table">
<tr>
<th class="commit-sha">SHA</th>
<th class="commit-subject">Subject</th>
<th class="commit-bugs">Bugs</th>
<th class="commit-author">Author</th>
<th class="commit-committer">Committer</th>
<th class="commit-time">Committer Date</th>
<th class="commit-release-notes">Release Notes</th>
</tr>
</table>
<table class="repo-table">
{{range $commit := $table.Additions}}
<tr>
<td class="commit-sha addition">
<a href={{$commit.SHA.URL}} target="_blank">{{$commit.SHA.Name}}</a>
</td>
<td class="commit-subject">{{$commit.Subject}}</td>
<td class="commit-bugs">
{{range $bugAttr := $commit.Bugs}}
<a href={{$bugAttr.URL}} target="_blank">{{$bugAttr.Name}}</a>
{{end}}
</td>
<td class="commit-author">{{$commit.AuthorName}}</td>
<td class="commit-committer">{{$commit.CommitterName}}</td>
<td class="commit-time">{{$commit.CommitTime}}</td>
<td class="commit-release-notes">{{$commit.ReleaseNote}}</td>
</tr>
{{end}}
</table>
{{if (ne $table.AdditionsLink "")}}
<a class="gob-link" href={{$table.AdditionsLink}} target="_blank">
Show more commits
</a>
{{end}}
<table class="repo-table">
{{range $commit := $table.Removals}}
<tr>
<td class="commit-sha removal">
<a href={{$commit.SHA.URL}} target="_blank">{{$commit.SHA.Name}}</a>
</td>
<td class="commit-subject">{{$commit.Subject}}</td>
<td class="commit-bugs">
{{range $bugAttr := $commit.Bugs}}
<a href={{$bugAttr.URL}} target="_blank">{{$bugAttr.Name}}</a>
{{end}}
</td>
<td class="commit-author">{{$commit.AuthorName}}</td>
<td class="commit-committer">{{$commit.CommitterName}}</td>
<td class="commit-time">{{$commit.CommitTime}}</td>
<td class="commit-release-notes">{{$commit.ReleaseNote}}</td>
</tr>
{{end}}
</table>
{{if (ne $table.RemovalsLink "")}}
<a class="gob-link" href={{$table.RemovalsLink}} target="_blank">
Show more commits
</a>
{{end}}
{{end}}
{{if .Sysctl.NotEmpty}}
<h2>Runtime Sysctl Changes:</h2>
<table class="repo-table">
<tr>
<th class="sysctl">Sysctl</th>
<th class="sysctl">Old Value</th>
<th class="sysctl">New Value</th>
</tr>
{{range $sysctl := .Sysctl.Changes}}
<tr>
<td>{{index $sysctl 0}}</td>
<td class="sysctl removal">{{index $sysctl 1}}</td>
<td class="sysctl addition">{{index $sysctl 2}}</td>
</tr>
{{end}}
</table>
<div>{{.Sysctl.NotFound}}</div>
{{end}}
</table>
</div>
</body>
</html>