Merge branch 'custom-channels' of https://github.com/aszlig/hydra

This commit is contained in:
Eelco Dolstra
2015-10-16 17:00:29 +02:00
17 changed files with 233 additions and 50 deletions

View File

@ -190,7 +190,7 @@
<td>[% IF cachedBuild; INCLUDE renderFullBuildLink build=cachedBuild; ELSE %]<em>unknown</em>[% END %]</td>
</tr>
[% END %]
[% IF !isAggregate && build.finished; actualBuild = build.iscachedbuild ? cachedBuild : build %]
[% IF (!isAggregate || !build.ischannel) && build.finished; actualBuild = build.iscachedbuild ? cachedBuild : build %]
[% IF actualBuild %]
<tr>
<th>Duration:</th>
@ -202,7 +202,7 @@
<td>[% INCLUDE renderDateTime timestamp = build.stoptime; %]</td>
</tr>
[% END %]
[% IF !isAggregate && buildLogExists(build) %]
[% IF (!isAggregate || !build.ischannel) && buildLogExists(build) %]
<tr>
<th>Logfile:</th>
<td>
@ -217,7 +217,7 @@
</tr>
</table>
[% IF build.buildproducts && !isAggregate %]
[% IF build.ischannel || (build.buildproducts && !isAggregate) %]
<h3>Build products</h3>

View File

@ -22,12 +22,13 @@ $ nix-env -i foo</pre>
$ nix-channel --update
$ nix-env -u '*'</pre>
[% IF genericChannel %]
<p>Alternatively, if you have associated the
<tt>application/nix-package</tt> MIME type with the
<tt>nix-install-package</tt> program in your web browser, you can
install the package simply by clicking on the packages below.</p>
<h2>Packages</h2>
<p>This channel contains the following packages.</p>
@ -69,5 +70,17 @@ install the package simply by clicking on the packages below.</p>
</table>
[% ELSE %]
[% PROCESS "product-list.tt" %]
<h2>Contents</h2>
[% INCLUDE renderProductList build=lastSuccessful %]
<p>Upgrades depend on the success/failure of the following constituents:</p>
[% INCLUDE renderBuildList builds=constituents %]
[% END %]
[% END %]

View File

@ -0,0 +1,34 @@
[% PROCESS common.tt %]
[% IF channels.size == 0 %]
<div class="alert">There are no channels available.</div>
[% ELSE %]
[% evalIds = evals.keys.nsort.reverse %]
<table class="table table-striped table-condensed table-header-rotated">
<thead>
<tr>
<th style="width: 1em;">Channel</th>
[% FOREACH eval IN evalIds %]
<th class="rotate-45">
<div><span>
<a href="[% c.uri_for('/eval' eval) %]">[% INCLUDE renderRelativeDate timestamp=evals.$eval.timestamp %]</a>
</span></div></th>
[% END %]
</tr>
</thead>
<tbody>
[% FOREACH chan IN channels-%]
<tr>
<th><span><a href="[% c.uri_for('/channel/custom' project.name jobset.name chan) %]">[% chan %]</a></span></th>
[% FOREACH eval IN evalIds %]
<td>[% r = evals.$eval.builds.$chan; IF r.id %]<a href="[% c.uri_for('/build' r.id) %]">[% INCLUDE renderBuildStatusIcon size=16 build=r %]</a>[% END %]</td>
[% END %]
</tr>
[% END %]
</tbody>
</table>
[% END %]

View File

@ -59,7 +59,7 @@
<tr>
<th><span [% IF inactiveJobs.$j %]class="muted override-link"[% END %]>[% INCLUDE renderJobName project=project.name jobset=jobset.name job=j %]</span></th>
[% FOREACH eval IN evalIds %]
<td>[% r = evals.$eval.jobs.$j; IF r.id %]<a href="[% c.uri_for('/build' r.id) %]">[% INCLUDE renderBuildStatusIcon size=16 build=r %]</a>[% END %]</td>
<td>[% r = evals.$eval.builds.$j; IF r.id %]<a href="[% c.uri_for('/build' r.id) %]">[% INCLUDE renderBuildStatusIcon size=16 build=r %]</a>[% END %]</td>
[% END %]
</tr>
[% END %]

View File

@ -64,6 +64,7 @@
<li><a href="#tabs-jobs" data-toggle="tab">Jobs</a></li>
<li><a href="#tabs-configuration" data-toggle="tab">Configuration</a></li>
<li><a href="#tabs-links" data-toggle="tab">Links</a></li>
<li><a href="#tabs-channels" data-toggle="tab">Channels</a></li>
</ul>
<div id="generic-tabs" class="tab-content">
@ -165,6 +166,8 @@
</ul>
</div>
[% INCLUDE makeLazyTab tabName="tabs-channels" uri=c.uri_for('/jobset' project.name jobset.name "channels-tab") %]
</div>
<script>

View File

@ -115,10 +115,9 @@
</td>
</tr>
[% END %]
[% END %]
[% CASE "file" %]
[% CASE ["file", "channel"] %]
<tr class="product">
<td>
@ -137,7 +136,13 @@
[% CASE "binary-dist" %]
<img src="[% c.uri_for("/static/images/binary-dist.png") %]" alt="Binary distribution" /> Binary distribution <tt>[% product.name %]</tt>
[% CASE DEFAULT %]
File <tt>[% product.name %]</tt> of type <tt>[% product.subtype %]</tt>
[% IF product.type == "channel" %]
<img src="[% c.uri_for("/static/images/channel.png") %]" alt="Channel" />
Channel expression tarball <tt>[% product.name %]</tt>
[% IF product.subtype != "-" %]for <tt>[% product.subtype %]</tt>[% END %]
[% ELSE %]
File <tt>[% product.name %]</tt> of type <tt>[% product.subtype %]</tt>
[% END %]
[% END %]
</a>
[% WRAPPER makePopover title="Details" classes="btn-mini" %]

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB