Give every page a consistent title
[?]
Feb 20, 2013, 2:54 PM
PZL3SZM3U3BYJX2RGYXC6NMBG7WQHFWHSYDYXZ7Q5VZA3EDYVPIQCDependencies
- [2]
RGRBQI2Fshow all related jobset/job links in navbar for the tail/-reload logs - [3]
4IKSSKNLRestructure build menu - [4]
4WZQW2N6Fix indentation and get rid of some unnecessary whitespace in the output - [5]
SBMOICGVEvil CSS hackery to prevent link targets from being under the navbar - [6]
6UESWI2QEnsure that the first tab is selected - [7]
H5REHM3M - [8]
QU5I5GCL - [9]
QB3LWT7N* Ouch. - [10]
SMTMFEKEhydra: add missing templates - [11]
5QE3TIHPhydra: add status icon per jobset on project page - [12]
E3X3C5LKReplace ugly link with nice small buttons - [13]
AS2OXLRM* Editing releases. - [14]
YPDYBK5GShow dependencies as a tree rather than a list - [15]
7IJXKGHDTurn repeated dependencies into hyperlinks - [16]
KXGOUX7P* Creating releases. - [17]
ZI535LI6* hydra: 'new' UI for project/jobset/job/build - [18]
RBNQKATL* Adding persistant releases. A release is a named set of builds. - [19]
DEMSSSB2* Controller for jobs which inherits all actions in ListBuilds. So - [20]
FFEH62DEMachine status page now looks much better and more consistent with rest of Hydra - [21]
5DSDXORDhydra: missing plain.tt - [22]
RU7AQO7U* Role-based access control. Only admins can create projects. Only - [23]
U4TD3AIQAdd support for viewing jobset evaluations - [24]
P5X4P6VK* Renaming "release sets" to "views" (not finished yet). Having - [25]
J5UVLXOK* Start of a basic Catalyst web interface. - [26]
RSEGBU6CHydra/20: Jobset clone feature - [27]
Q4VDOA76Replace last 5 builds on jobset page with last 5 evaluations. Moved hide/unhide and evaluate options to jobset topmenu. - [28]
5IK6NYKF - [29]
OEPUOUNBUsing twitter bootstrap for more consistent looks for Hydra - [30]
2AIIYGI5* Show job status and all builds for a project. - [31]
IK53RV4V - [32]
C5YJTWYMAdd maximum nest level for input changes on build page. - [33]
NDL67SQT* XHTML validity. - [34]
6KIJX24RGet rid of unnecessary [%- and -%] tags - [35]
TP3PFR5K - [36]
C4RV47LW - [37]
ZWCTAZGLadded newsitems, added some admin options to clear various caches. - [38]
Y6AHH4THRemove the logfile and logSize columns from the database - [39]
CLJQCY2X* Store info about all the build actions and allow them to be - [40]
G6HJY2V4 - [41]
2BUX775I* More release -> view. - [42]
Z6MDQIGO* A quick (non-Web 2.0) interface to manually add builds to a release. - [43]
FHF6IZJQ* Basic release management: releases are now dynamically computed as - [44]
WRIU3S5E* UI for cloning builds (not functional yet). - [45]
PC6UOHH7add some stats to jobsets in project view - [46]
R5HDC22YMove 'clone build' and 'restart build' to top menu - [47]
2B63JW6F* hydra: changes in list in stead of table, also showing changes of changed 'build output' inputs - [48]
BD3GRK4B* Get rid of "positive failures" and separate log phases. - [49]
2JQ7WEFM - [50]
BHZXGT2H* Channels: provide an index page that lists all the packages in the - [51]
6F4UNDTC* Provide access to the raw, non-pretty-printed logfiles. - [52]
KAZWI5G4* hydra: buildpage, show changes since last build/successful build - [53]
X5OIC5FF* hydra: ui bug - [54]
DE2DNCOIAllow comparing an evaluation with an arbitrary other evaluation - [55]
2VBQRQ2QFix some XML well-formedness problems - [56]
PMNWRTGJAdd multiple output support - [57]
TVGN5QT5add link to status page on queue page - [58]
7YBYT2LQ - [59]
W6DC6K4I* Happy Javascript hacking. - [60]
3PNG7NIBRemove trailing whitespace - [61]
IVEDB2LGOmit the small build status icon on the build page - [62]
UWVMQIAC* Refactoring. - [63]
22JB5HNEmake changes section more compact/readable - [64]
OCRZNLGSUpdate jquery/jqueryui - [65]
BA46C5LN* Pretty-print the logs. - [66]
YTSIRIMK* Separate job status and all builds pages. - [67]
SZYDW2DGhydra: added some user admin - [68]
KT2SLXPUMove <style> to hydra.css - [69]
ODNCGFQ5* Improved the navigation bar: don't include all projects (since that - [70]
RAKTHYAI* In the job status and error pages, show when the status of a job - [71]
EFWN7JBV* Added a status page that shows all the currently executing build steps. - [72]
YNKTJGRS* hydra: correct header in jobstatus page of jobset - [73]
XDDCO6CH* hydra: add dependency list with links to logfiles - [74]
2AUODJBT - [75]
US27ZTX5* HydraFrontend -> Hydra. - [76]
D5QIOJGP* Move everything up one directory. - [77]
QL55ECJ6- adapted ui for hydra, more in line with nixos.org website - [78]
6JGCGK5X - [79]
JFZNAYJX* Showing releases. - [80]
KR7QIG6Z - [81]
IGNQFFV7* Put the release sets in the navbar. - [82]
YJAHR4FU* jQuery 1.8.4. - [83]
GNIEG2GC* Disambiguate jobs by jobset name. I.e. jobs with the same name in - [84]
SMCOU72Fhydra: add some admin for adding/enabling/etc build machines - [85]
NOSDBMWDRemove comments, re-add logo. - [86]
3HZY24CX* Make jobsets viewable under - [87]
LQ5QEDVV - [88]
GAIBDEZZ* Store the name of the machine that performed a build step in the - [89]
L7NUCXKSShow new and removed jobs - [90]
JLVKTWLThydra: newer version of jquery ui - [91]
JRU2LRPZ - [92]
HRAFVVOEmake logo configurable via HYDRA_LOGO env var - [93]
75XUS62Y* Added a page to quickly see all failed builds and failed evaluations - [94]
JARRBLZDBootstrapify the Hydra forms (except the project and jobset edit pages) - [95]
6FRLEP4Pfirst try for timeline of last 24 hours in hydra - [96]
SU566LI3* Sort releases. - [97]
3E6IP3R3* Add the name of the jobset to ReleaseSetJobs, otherwise we can't - [98]
F2YSY4BKupdate jquery versions in templates - [99]
SJN2QPWH* Big speed-up of the job status page and the channel generation (such - [100]
G5YSUSNZIn build tables, hide the project, jobset and/or job name if they're constant
Change contents
- replacement in src/root/admin.tt at line 1
[% WRAPPER layout.tt title="Admin" %][% WRAPPER layout.tt title="Machine status" %] - edit in src/root/admin.tt at line 3
<div class="page-header"><h1>Machine status</h1></div> - replacement in src/root/all.tt at line 1
[% WRAPPER layout.tt title="All builds" %][% WRAPPER layout.tt title="All builds" _(job ? " for job $project.name:$jobset.name:$job.name" :jobset ? " for jobset $project.name:$jobset.name" :project ? " for project $project.name" : "") %] - edit in src/root/all.tt at line 7[7.1107]→[7.1544:1584](∅→∅),[7.1584]→[7.1212:1354](∅→∅),[7.956]→[7.1212:1354](∅→∅),[7.1354]→[7.1585:1667](∅→∅),[7.1116]→[7.1127:1128](∅→∅),[7.1324]→[7.1127:1128](∅→∅),[7.1412]→[7.1127:1128](∅→∅),[7.1430]→[7.1127:1128](∅→∅),[7.1667]→[7.1127:1128](∅→∅),[7.1127]→[7.1127:1128](∅→∅)
<div class="page-header"><h1>All builds[% IF job %]for Job [% project.name %]:[% jobset.name %]:[% job.name %][% ELSIF jobset %]for Jobset [% project.name %]:[% jobset.name %][% ELSIF project %] for Project <tt>[% project.name %]</tt>[% END %]</h1></div> - replacement in src/root/build.tt at line 1
[% WRAPPER layout.tt title="Job ‘$project.name:$jobset.name:$job.name’ build $id" %][% WRAPPER layout.tt title="Build $id of job $project.name:$jobset.name:$job.name" %] - edit in src/root/build.tt at line 99
<tr><th>System:</th><td><tt>[% build.system %]</tt></td></tr> - edit in src/root/build.tt at line 114
<tr><th>System:</th><td><tt>[% build.system %]</tt></td></tr> - edit in src/root/build.tt at line 145
<br/> - edit in src/root/build.tt at line 280
[% IF build.iscachedbuild && cachedBuild %]<tr><th>Cached build:</th><td>[% INCLUDE renderFullBuildLink build=cachedBuild %]</td></tr>[% END %] - edit in src/root/channel-contents.tt at line 4
<div class="page-header"><h1>Channel <tt>[% channelName %]</tt></h1></div> - replacement in src/root/channel-contents.tt at line 52
[% build = pkg.build %][% b = pkg.build %] - replacement in src/root/channel-contents.tt at line 56[7.128]→[7.4046:4127](∅→∅),[7.4046]→[7.4046:4127](∅→∅),[7.4127]→[7.3231:3336](∅→∅),[7.3336]→[7.4229:4274](∅→∅),[7.4229]→[7.4229:4274](∅→∅)
<td><a href="[% c.uri_for('/build' build.id) %]">[% build.id %]</a></td><td><a href="[% uri %]"><tt>[% build.get_column('releasename') || build.nixname %]</tt></a></td><td><tt>[% build.system %]</tt></td><td><a href="[% c.uri_for('/build' b.id) %]">[% b.id %]</a></td><td><a href="[% uri %]"><tt>[% b.get_column('releasename') || b.nixname %]</tt></a></td><td><tt>[% b.system %]</tt></td> - replacement in src/root/channel-contents.tt at line 60
[% IF build.homepage %]<a [% HTML.attributes(href => build.homepage) %]>[% HTML.escape(build.description) %]</a>[% IF b.homepage %]<a [% HTML.attributes(href => b.homepage) %]>[% HTML.escape(b.description) %]</a> - replacement in src/root/channel-contents.tt at line 63
[% HTML.escape(build.description) %][% HTML.escape(b.description) %] - edit in src/root/channel-contents.tt at line 71
- replacement in src/root/clone-build.tt at line 1
[% WRAPPER layout.tt title="Clone Build" %][% WRAPPER layout.tt title="Clone build ${build.id}" %] - edit in src/root/clone-build.tt at line 5
<div class="page-header"><h1>Clone Build</h1></div> - replacement in src/root/clone-jobset.tt at line 1
[% WRAPPER layout.tt title="Clone Jobset" %][% WRAPPER layout.tt title="Clone jobset $jobset.project.name:$jobset.name" %] - replacement in src/root/clone-jobset.tt at line 6
<form action="[% c.uri_for('/jobset' jobset.project.name jobset.name 'clone' 'submit') %]" method="post"><form class="form-horizontal" action="[% c.uri_for('/jobset' jobset.project.name jobset.name 'clone' 'submit') %]" method="post"> - replacement in src/root/clone-jobset.tt at line 8[7.1773]→[7.1773:1957](∅→∅),[7.1957]→[7.21309:21316](∅→∅),[7.21316]→[7.1966:2020](∅→∅),[7.1966]→[7.1966:2020](∅→∅)
<h2>Cloning jobset [% jobset.project.name %]:[% jobset.name %]</h2><p>Name <tt><input type="text" class="string" name="newjobset" [% HTML.attributes(value => "") %] /></tt></p><p><button type="submit">Next</button></p><fieldset><div class="control-group"><label class="control-label">New name</label><div class="controls"><input type="text" class="span3" name="newjobset" value=""></input></div></div><div class="form-actions"><input type="submit" value="Submit" class="btn btn-primary" /></div> - edit in src/root/clone-jobset.tt at line 20
</fieldset> - edit in src/root/common.tt at line 393[4.8401]→[4.8401:8420](∅→∅),[7.1098]→[7.1283:1284](∅→∅),[4.8420]→[7.1283:1284](∅→∅),[7.1283]→[7.1283:1284](∅→∅),[7.3390]→[7.3390:3391](∅→∅),[7.3391]→[4.8421:9431](∅→∅)
</table>[% END;BLOCK hydraStatus %]<table class="tablesorter table table-striped table-condensed"><thead><tr><th>Machine</th><th>Job</th><th>Type</th><th>Build</th><th>Step</th><th>What</th><th>Since</th></tr></thead><tbody>[% FOREACH step IN steps %]<tr><td><tt>[% IF step.machine; step.machine.match('@(.*)').0; ELSE; 'localhost'; END %]</tt></td><td><tt>[% INCLUDE renderFullJobName project = step.build.project.name jobset = step.build.jobset.name job = step.build.job.name %]</tt></td><td><tt>[% step.system %]</tt></td><td><a href="[% c.uri_for('/build' step.build.id) %]">[% step.build.id %]</a></td><td><a href="[% c.uri_for('/build' step.build.id 'nixlog' step.stepnr 'tail-reload') %]">[% step.stepnr %]</a></td><td><tt>[% step.drvpath.match('-(.*)').0 %]</tt></td><td class='right'>[% INCLUDE renderDuration duration = curTime - step.starttime %] </td></tr>[% END %]</tbody> - replacement in src/root/deps.tt at line 1
[% WRAPPER layout.tt title="Job ‘$project.name:$jobset.name:$job.name’ build $id" %][% WRAPPER layout.tt title="Dependencies of build $id" %] - replacement in src/root/deps.tt at line 38
<h2 id="runtime">Runtime dependency graph</h2><section><h2 id="runtime">Runtime dependency graph</h2> - edit in src/root/deps.tt at line 46
</section> - replacement in src/root/deps.tt at line 48
<h2 id="buildtime">Build-time dependency graph</h2><br /> - edit in src/root/deps.tt at line 50
<section><h2 id="buildtime">Build-time dependency graph</h2> - edit in src/root/deps.tt at line 58
</section> - replacement in src/root/edit-release.tt at line 1
[% WRAPPER layout.tt title=(create ? "New release" : "Edit release") %][% WRAPPER layout.tt title=(create ? "New release" : "Edit release ${release.name}") %] - edit in src/root/edit-release.tt at line 4
<div class="page-header"><h1>[% IF create %]New release[% ELSE %]Release <tt>[% release.name %]</tt>[% END %]</h1></div> - replacement in src/root/edit-view.tt at line 1
[% WRAPPER layout.tt title=(create ? "New view" : "View ‘$project.name:$view.name’") %][% WRAPPER layout.tt title=(create ? "New view" : "View $project.name:$view.name") %] - edit in src/root/edit-view.tt at line 4
<div class="page-header"><h1>[% IF create %]New view[% ELSE %]View <tt>[% project.name %]:[% view.name %]</tt>[% END %]</h1></div> - replacement in src/root/error.tt at line 1
[% WRAPPER layout.tt title="Error" %][% WRAPPER layout.tt title=(httpStatus ? httpStatus : "Error") %] - edit in src/root/error.tt at line 3
<div class="page-header"><h1>[% IF httpStatus %][% httpStatus %][% ELSE %]Error[% END %]</h1></div> - edit in src/root/errors.tt at line 3
<div class="page-header"><h1>Errors</h1></div> - replacement in src/root/jobset-eval.tt at line 1
[% WRAPPER layout.tt title="Jobset $project.name:$jobset.name evaluation $eval.id" %][% WRAPPER layout.tt title="Evaluation $eval.id of jobset $project.name:$jobset.name " %] - edit in src/root/jobset-eval.tt at line 3
<div class="page-header"><h1>Jobset <tt>[% project.name %]:[% jobset.name %]</tt> evaluation [% eval.id %]</h1></div> - replacement in src/root/jobset-evals.tt at line 1
[% WRAPPER layout.tt title="Jobset ‘$project.name:$jobset.name’ Evaluations" %][% WRAPPER layout.tt title="Evaluations of jobset $project.name:$jobset.name" %] - edit in src/root/jobset-evals.tt at line 3[7.6443]→[7.6443:6444](∅→∅),[7.6444]→[7.7358:7435](∅→∅),[7.2322]→[7.6496:6574](∅→∅),[7.7435]→[7.6496:6574](∅→∅),[7.6496]→[7.6496:6574](∅→∅),[7.6574]→[7.7436:7496](∅→∅)
<div class="page-header"><h1>Evaluations of Jobset <tt>[% INCLUDE renderLinkuri = c.uri_for(c.controller('Project').action_for('view'), [project.name])title = project.name %]:[% jobset.name %]</tt></h1></div> - replacement in src/root/jobset.tt at line 1
[% WRAPPER layout.tt title=(edit ? (create ? "New Jobset in Project ‘$project.name’" : "Editing Jobset ‘$project.name:$jobset.name’") : "Jobset ‘$project.name:$jobset.name’") %][% WRAPPER layout.tt title=(edit ? (create ? "Create jobset in project $project.name" : "Editing jobset $project.name:$jobset.name") : "Jobset $project.name:$jobset.name") %] - edit in src/root/jobset.tt at line 7
- edit in src/root/jobset.tt at line 8
[% IF create %]<h1>New Jobset in Project <tt>[% project.name %]</tt></h1>[% END %] - edit in src/root/jobset.tt at line 9
- replacement in src/root/jobset.tt at line 256
<p><button type="submit" class="btn btn-primary"><i class="icon-ok icon-white"></i> [%IF create %]Create[% ELSE %]Apply changes[% END %]</button></p><div class="form-actions"><button type="submit" class="btn btn-primary"><i class="icon-ok icon-white"></i> [%IF create %]Create[% ELSE %]Apply changes[% END %]</button></div> - replacement in src/root/jobstatus.tt at line 1
[% WRAPPER layout.tt title="Job status" %][% WRAPPER layout.tt title="Job status" _(job ? " of job $project.name:$jobset.name:$job.name" :jobset ? " of jobset $project.name:$jobset.name" :project ? " of project $project.name" : "") %] - edit in src/root/jobstatus.tt at line 7[7.1976]→[7.8834:9017](∅→∅),[7.125]→[7.1996:1997](∅→∅),[7.933]→[7.1996:1997](∅→∅),[7.1647]→[7.1996:1997](∅→∅),[7.2040]→[7.1996:1997](∅→∅),[7.8137]→[7.1996:1997](∅→∅),[7.9017]→[7.1996:1997](∅→∅),[7.1996]→[7.1996:1997](∅→∅)
<div class="page-header"><h1>Job status[% IF project %] of <tt>[% project.name %][% IF jobset %]:[% jobset.name%][% END %][% IF job %]:[% job.name%][% END %]</tt>[% END %]</h1></div> - replacement in src/root/layout.tt at line 7
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><!DOCTYPE html> - replacement in src/root/layout.tt at line 9
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><html lang="en"> - replacement in src/root/layout.tt at line 12
<title>Hydra - [% title %]</title><title>Hydra - [% HTML.escape(title) %]</title> - replacement in src/root/layout.tt at line 17
<meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="viewport" content="width=device-width, initial-scale=1.0" /> - replacement in src/root/layout.tt at line 19
<link href="/static/bootstrap/css/bootstrap.min.css" rel="stylesheet"><link href="/static/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet"><link href="/static/bootstrap/css/bootstrap.min.css" rel="stylesheet" /><link href="/static/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" /> - edit in src/root/layout.tt at line 106
[% IF !hideHeader %]<div class="page-header"><h1><small>[% HTML.escape(title) %]</small></h1></div>[% ELSE %]<br />[% END %] - replacement in src/root/log.tt at line 1
[% WRAPPER layout.tt title="Logfile" %][% WRAPPER layout.tt title="Log of " _ (step ? " step $step.stepnr of " : "") _ "build ${build.id} of job $build.project.name:$build.jobset.name:$build.job.name" %] - edit in src/root/log.tt at line 3[7.1068]→[7.11831:11832](∅→∅),[7.2315]→[7.11831:11832](∅→∅),[7.11831]→[7.11831:11832](∅→∅),[7.11832]→[7.9429:9635](∅→∅)
<div class="page-header"><h1>Build log of [% INCLUDE renderFullJobNameOfBuild %] build <a href="[% c.uri_for('/build' build.id) %]">[% build.id %]</a>[%IF step %] step [% step.stepnr %][% END %]</h1></div> - replacement in src/root/login.tt at line 1
[% WRAPPER layout.tt title="Login to Hydra" %][% WRAPPER layout.tt title="Sign in" %] - edit in src/root/login.tt at line 3
<div class="page-header"><h1>Login</h1></div> - replacement in src/root/login.tt at line 33
<input type="submit" name="login" value="Login" class="btn btn-primary" /><input type="submit" name="login" value="Sign in" class="btn btn-primary" /> - replacement in src/root/machine.tt at line 1
[% WRAPPER layout.tt title=(create ? "New machine" : "Editing machine '$machine.hostname'") %][% WRAPPER layout.tt title=(create ? "New machine" : "Machine $machine.hostname") %] - edit in src/root/machine.tt at line 3
<div class="page-header"><h1>[% IF create %]New machine[% ELSE %]Machine <tt>[% machine.hostname %]</tt>[% END %]</h1></div> - replacement in src/root/machines.tt at line 1
[% WRAPPER layout.tt title="Machines" %][% WRAPPER layout.tt title="Build machines" %] - edit in src/root/machines.tt at line 3
<div class="page-header"><h1>Build machines</h1></div> - edit in src/root/news.tt at line 5
<div class="page-header"><h1>News items</h1></div> - replacement in src/root/overview.tt at line 1
[% WRAPPER layout.tt title="Overview" %][% WRAPPER layout.tt title="Overview" hideHeader=1 %] - edit in src/root/plain.tt at line 7
<div class="page-header"><h1>[% title %]</h1></div> - edit in src/root/plain.tt at line 8
<div class="buildlog"> - edit in src/root/plain.tt at line 9
</div> - replacement in src/root/project.tt at line 1
[% WRAPPER layout.tt title=(edit ? (create ? "New Project" : "Editing Project ‘$project.name’") : "Project ‘$project.name’") %][% WRAPPER layout.tt title=(edit ? (create ? "New Project" : "Editing project $project.name") : "Project $project.name") %] - replacement in src/root/project.tt at line 5
<li class="active"><a href="#tabs-project" data-toggle="tab">Project</a></li><li class="active"><a href="#tabs-project" data-toggle="tab">Overview</a></li> - edit in src/root/project.tt at line 17
<h2>Jobsets</h2> - edit in src/root/project.tt at line 94
- edit in src/root/project.tt at line 95
<h2>Information</h2> - replacement in src/root/project.tt at line 138
<p><div class="form-actions"> - replacement in src/root/project.tt at line 154
</p></div> - edit in src/root/project.tt at line 165
<h2>Views</h2> - edit in src/root/queue.tt at line 3
<div class="page-header"><h1>Hydra queue</h1></div> - replacement in src/root/release.tt at line 1
[% WRAPPER layout.tt title="Release ‘$release.name’" %][% WRAPPER layout.tt title="Release $release.name" %] - edit in src/root/release.tt at line 6
<div class="page-header"><h1>Release <tt>[% release.name %]</tt><a class="btn" href="[% c.uri_for('/release' project.name release.name "edit") %]"><i class="icon-edit"></i></a></h1></div> - replacement in src/root/release.tt at line 7
release.timestamp %].</em></p>release.timestamp %].</em> <a class="btn" href="[% c.uri_for('/release' project.name release.name "edit") %]"><i class="icon-edit"></i></a></p> - replacement in src/root/releases.tt at line 1
[% WRAPPER layout.tt title="Releases for Project ‘$project.name’" %][% WRAPPER layout.tt title="Releases for project $project.name" %] - edit in src/root/releases.tt at line 4
<div class="page-header"><h1>Releases for Project <tt>[% project.name %]</tt></h1></div> - replacement in src/root/static/css/hydra.css at line 2
padding-top: 60px;padding-top: 40px; - replacement in src/root/status.tt at line 1
[% WRAPPER layout.tt title="Hydra status" %][% WRAPPER layout.tt title="Active build steps" %] - replacement in src/root/status.tt at line 4
<div class="page-header"><h1>Hydra status</h1></div><table class="tablesorter table table-striped table-condensed"><thead><tr><th>Machine</th><th>Job</th><th>Type</th><th>Build</th><th>Step</th><th>What</th><th>Since</th></tr></thead><tbody>[% FOREACH step IN steps %]<tr><td><tt>[% IF step.machine; step.machine.match('@(.*)').0; ELSE; 'localhost'; END %]</tt></td><td><tt>[% INCLUDE renderFullJobName project = step.build.project.name jobset = step.build.jobset.name job = step.build.job.name %]</tt></td><td><tt>[% step.system %]</tt></td><td><a href="[% c.uri_for('/build' step.build.id) %]">[% step.build.id %]</a></td><td><a href="[% c.uri_for('/build' step.build.id 'nixlog' step.stepnr 'tail-reload') %]">[% step.stepnr %]</a></td><td><tt>[% step.drvpath.match('-(.*)').0 %]</tt></td><td class='right'>[% INCLUDE renderDuration duration = curTime - step.starttime %] </td></tr>[% END %]</tbody></table> - edit in src/root/status.tt at line 23
[% INCLUDE hydraStatus %] - edit in src/root/timeline.tt at line 6
<div class="page-header"><h1>Hydra timeline of last 24 hours</h1></div> - replacement in src/root/topbar.tt at line 127
uri = '#'title = "Related builds" %]uri = c.uri_for('/build' build.id)title = "Overview" %] - replacement in src/root/topbar.tt at line 180
content = "Clear all non-running old builds from queue."content = "Clear all non-running old builds from queue" - replacement in src/root/user.tt at line 1
[% WRAPPER layout.tt title=(create ? "New user" : "Editing user '$user.username'") %][% WRAPPER layout.tt title=(create ? "New user" : "User $user.username") %] - edit in src/root/user.tt at line 16
<div class="page-header"><h1>[% IF create %]New user[% ELSE %]User <tt>[% user.username %]</tt>[% END %]</h1></div> - edit in src/root/users.tt at line 3
<div class="page-header"><h1>Users</h1></div> - edit in src/root/view-result.tt at line 6
<div class="page-header"><h1>View <tt>[% view.project.name %]:[% view.name %]</tt> result [% result.id %][% IF result.releasename %] (<tt>[% result.releasename %]</tt>)[% END %]</h1></div> - replacement in src/root/view.tt at line 1
[% WRAPPER layout.tt title="View ‘$view.project.name:$view.name’" %][% WRAPPER layout.tt title="View $view.project.name:$view.name" %] - edit in src/root/view.tt at line 4
<div class="page-header"><h1>View <tt>[% view.project.name %]:[% view.name %]</tt></h1></div>