Give every page a consistent title

[?]
Feb 20, 2013, 2:54 PM
PZL3SZM3U3BYJX2RGYXC6NMBG7WQHFWHSYDYXZ7Q5VZA3EDYVPIQC

Dependencies

  • [2] RGRBQI2F show all related jobset/job links in navbar for the tail/-reload logs
  • [3] 4IKSSKNL Restructure build menu
  • [4] 4WZQW2N6 Fix indentation and get rid of some unnecessary whitespace in the output
  • [5] SBMOICGV Evil CSS hackery to prevent link targets from being under the navbar
  • [6] 6UESWI2Q Ensure that the first tab is selected
  • [7] H5REHM3M
  • [8] QU5I5GCL
  • [9] QB3LWT7N * Ouch.
  • [10] SMTMFEKE hydra: add missing templates
  • [11] 5QE3TIHP hydra: add status icon per jobset on project page
  • [12] E3X3C5LK Replace ugly link with nice small buttons
  • [13] AS2OXLRM * Editing releases.
  • [14] YPDYBK5G Show dependencies as a tree rather than a list
  • [15] 7IJXKGHD Turn 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] FFEH62DE Machine status page now looks much better and more consistent with rest of Hydra
  • [21] 5DSDXORD hydra: missing plain.tt
  • [22] RU7AQO7U * Role-based access control. Only admins can create projects. Only
  • [23] U4TD3AIQ Add 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] RSEGBU6C Hydra/20: Jobset clone feature
  • [27] Q4VDOA76 Replace last 5 builds on jobset page with last 5 evaluations. Moved hide/unhide and evaluate options to jobset topmenu.
  • [28] 5IK6NYKF
  • [29] OEPUOUNB Using twitter bootstrap for more consistent looks for Hydra
  • [30] 2AIIYGI5 * Show job status and all builds for a project.
  • [31] IK53RV4V
  • [32] C5YJTWYM Add maximum nest level for input changes on build page.
  • [33] NDL67SQT * XHTML validity.
  • [34] 6KIJX24R Get rid of unnecessary [%- and -%] tags
  • [35] TP3PFR5K
  • [36] C4RV47LW
  • [37] ZWCTAZGL added newsitems, added some admin options to clear various caches.
  • [38] Y6AHH4TH Remove 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] PC6UOHH7 add some stats to jobsets in project view
  • [46] R5HDC22Y Move '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] DE2DNCOI Allow comparing an evaluation with an arbitrary other evaluation
  • [55] 2VBQRQ2Q Fix some XML well-formedness problems
  • [56] PMNWRTGJ Add multiple output support
  • [57] TVGN5QT5 add link to status page on queue page
  • [58] 7YBYT2LQ
  • [59] W6DC6K4I * Happy Javascript hacking.
  • [60] 3PNG7NIB Remove trailing whitespace
  • [61] IVEDB2LG Omit the small build status icon on the build page
  • [62] UWVMQIAC * Refactoring.
  • [63] 22JB5HNE make changes section more compact/readable
  • [64] OCRZNLGS Update jquery/jqueryui
  • [65] BA46C5LN * Pretty-print the logs.
  • [66] YTSIRIMK * Separate job status and all builds pages.
  • [67] SZYDW2DG hydra: added some user admin
  • [68] KT2SLXPU Move <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] SMCOU72F hydra: add some admin for adding/enabling/etc build machines
  • [85] NOSDBMWD Remove 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] L7NUCXKS Show new and removed jobs
  • [90] JLVKTWLT hydra: newer version of jquery ui
  • [91] JRU2LRPZ
  • [92] HRAFVVOE make logo configurable via HYDRA_LOGO env var
  • [93] 75XUS62Y * Added a page to quickly see all failed builds and failed evaluations
  • [94] JARRBLZD Bootstrapify the Hydra forms (except the project and jobset edit pages)
  • [95] 6FRLEP4P first 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] F2YSY4BK update jquery versions in templates
  • [99] SJN2QPWH * Big speed-up of the job status page and the channel generation (such
  • [100] G5YSUSNZ In 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
    [7.8348][7.8349:8387]()
    [% WRAPPER layout.tt title="Admin" %]
    [7.8348]
    [7.8387]
    [% WRAPPER layout.tt title="Machine status" %]
  • edit in src/root/admin.tt at line 3
    [7.9391][7.9391:9392](),[7.9392][7.1444:1499]()
    <div class="page-header"><h1>Machine status</h1></div>
  • replacement in src/root/all.tt at line 1
    [7.1038][7.1500:1543]()
    [% WRAPPER layout.tt title="All builds" %]
    [7.1038]
    [7.1082]
    [% 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
    [7.7350][7.0:89]()
    [% WRAPPER layout.tt title="Job ‘$project.name:$jobset.name:$job.name’ build $id" %]
    [7.7350]
    [7.2280]
    [% WRAPPER layout.tt title="Build $id of job $project.name:$jobset.name:$job.name" %]
  • edit in src/root/build.tt at line 99
    [7.6919]
    [7.6919]
    <tr>
    <th>System:</th>
    <td><tt>[% build.system %]</tt></td>
    </tr>
  • edit in src/root/build.tt at line 114
    [7.7840][7.7840:8045]()
    <tr>
    <th>System:</th>
    <td><tt>[% build.system %]</tt></td>
    </tr>
  • edit in src/root/build.tt at line 145
    [7.9774]
    [7.9774]
    <br/>
  • edit in src/root/build.tt at line 280
    [7.15589][7.15589:15870]()
    [% 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
    [7.3470][7.3470:3471](),[7.3471][7.2149:2224]()
    <div class="page-header"><h1>Channel <tt>[% channelName %]</tt></h1></div>
  • replacement in src/root/channel-contents.tt at line 52
    [7.3893][7.3893:3923]()
    [% build = pkg.build %]
    [7.3893]
    [7.3923]
    [% 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>
    [7.128]
    [7.4274]
    <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
    [7.4287][7.355:389](),[7.389][7.4322:4424](),[7.4322][7.4322:4424]()
    [% IF build.homepage %]
    <a [% HTML.attributes(href => build.homepage) %]>[% HTML.escape(build.description) %]</a>
    [7.4287]
    [7.390]
    [% IF b.homepage %]
    <a [% HTML.attributes(href => b.homepage) %]>[% HTML.escape(b.description) %]</a>
  • replacement in src/root/channel-contents.tt at line 63
    [7.411][7.411:460]()
    [% HTML.escape(build.description) %]
    [7.411]
    [7.460]
    [% HTML.escape(b.description) %]
  • edit in src/root/channel-contents.tt at line 71
    [7.4559][7.21303:21304]()
  • replacement in src/root/clone-build.tt at line 1
    [7.728][7.729:773]()
    [% WRAPPER layout.tt title="Clone Build" %]
    [7.728]
    [7.773]
    [% WRAPPER layout.tt title="Clone build ${build.id}" %]
  • edit in src/root/clone-build.tt at line 5
    [7.825][7.825:826](),[7.826][7.2225:2277]()
    <div class="page-header"><h1>Clone Build</h1></div>
  • replacement in src/root/clone-jobset.tt at line 1
    [7.1567][7.1568:1613]()
    [% WRAPPER layout.tt title="Clone Jobset" %]
    [7.1567]
    [7.1613]
    [% WRAPPER layout.tt title="Clone jobset $jobset.project.name:$jobset.name" %]
  • replacement in src/root/clone-jobset.tt at line 6
    [7.1666][7.1666:1772]()
    <form action="[% c.uri_for('/jobset' jobset.project.name jobset.name 'clone' 'submit') %]" method="post">
    [7.1666]
    [7.1772]
    <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>
    [7.1773]
    [7.2020]
    <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
    [7.2021]
    [7.2021]
    </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
    [7.1684][7.1685:1774]()
    [% WRAPPER layout.tt title="Job ‘$project.name:$jobset.name:$job.name’ build $id" %]
    [7.1684]
    [7.1774]
    [% WRAPPER layout.tt title="Dependencies of build $id" %]
  • replacement in src/root/deps.tt at line 38
    [7.2293][5.93:140]()
    <h2 id="runtime">Runtime dependency graph</h2>
    [7.2293]
    [7.2350]
    <section><h2 id="runtime">Runtime dependency graph</h2>
  • edit in src/root/deps.tt at line 46
    [7.2319]
    [7.2319]
    </section>
  • replacement in src/root/deps.tt at line 48
    [7.2320][5.141:193]()
    <h2 id="buildtime">Build-time dependency graph</h2>
    [7.2320]
    [5.193]
    <br />
  • edit in src/root/deps.tt at line 50
    [5.194]
    [7.2345]
    <section><h2 id="buildtime">Build-time dependency graph</h2>
  • edit in src/root/deps.tt at line 58
    [7.2760]
    [7.2760]
    </section>
  • replacement in src/root/edit-release.tt at line 1
    [7.4487][7.3193:3265]()
    [% WRAPPER layout.tt title=(create ? "New release" : "Edit release") %]
    [7.4487]
    [7.4560]
    [% WRAPPER layout.tt title=(create ? "New release" : "Edit release ${release.name}") %]
  • edit in src/root/edit-release.tt at line 4
    [7.4599][7.4599:4600](),[7.4600][7.3266:3387]()
    <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
    [7.1873][7.5238:5330]()
    [% WRAPPER layout.tt title=(create ? "New view" : "View ‘$project.name:$view.name’") %]
    [7.1873]
    [7.1959]
    [% WRAPPER layout.tt title=(create ? "New view" : "View $project.name:$view.name") %]
  • edit in src/root/edit-view.tt at line 4
    [7.1998][7.1998:1999](),[7.1999][7.5331:5462]()
    <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
    [7.8490][7.1756:1794]()
    [% WRAPPER layout.tt title="Error" %]
    [7.8490]
    [7.2447]
    [% WRAPPER layout.tt title=(httpStatus ? httpStatus : "Error") %]
  • edit in src/root/error.tt at line 3
    [7.2462][7.8538:8539](),[7.8538][7.8538:8539](),[7.8539][7.7090:7190]()
    <div class="page-header"><h1>[% IF httpStatus %][% httpStatus %][% ELSE %]Error[% END %]</h1></div>
  • edit in src/root/errors.tt at line 3
    [7.1506][7.1506:1507](),[7.1507][7.7191:7238]()
    <div class="page-header"><h1>Errors</h1></div>
  • replacement in src/root/jobset-eval.tt at line 1
    [7.4844][7.343:429]()
    [% WRAPPER layout.tt title="Jobset $project.name:$jobset.name evaluation $eval.id" %]
    [7.4844]
    [7.4881]
    [% WRAPPER layout.tt title="Evaluation $eval.id of jobset $project.name:$jobset.name " %]
  • edit in src/root/jobset-eval.tt at line 3
    [7.4905][7.4905:4906](),[7.4906][7.7239:7357]()
    <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
    [7.6334][7.1395:1479]()
    [% WRAPPER layout.tt title="Jobset ‘$project.name:$jobset.name’ Evaluations" %]
    [7.6334]
    [7.6419]
    [% 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 renderLink
    uri = 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
    [7.8409][7.8410:8600]()
    [% WRAPPER layout.tt title=(edit ? (create ? "New Jobset in Project ‘$project.name’" : "Editing Jobset ‘$project.name:$jobset.name’") : "Jobset ‘$project.name:$jobset.name’") %]
    [7.8409]
    [7.8600]
    [% 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
    [7.8840][7.8840:8841]()
  • edit in src/root/jobset.tt at line 8
    [7.8842][7.8842:8919](),[7.1828][7.8994:9004](),[7.8994][7.8994:9004]()
    [% IF create %]
    <h1>New Jobset in Project <tt>[% project.name %]</tt></h1>
    [% END %]
  • edit in src/root/jobset.tt at line 9
    [7.9005][7.9005:9006]()
  • replacement in src/root/jobset.tt at line 256
    [7.31118][7.8637:8789](),[7.14329][7.8637:8789]()
    <p><button type="submit" class="btn btn-primary"><i class="icon-ok icon-white"></i> [%IF create %]Create[% ELSE %]Apply changes[% END %]</button></p>
    [7.31118]
    [7.14462]
    <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
    [7.1907][7.8790:8833]()
    [% WRAPPER layout.tt title="Job status" %]
    [7.1907]
    [7.1951]
    [% 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
    [7.1527][7.11276:11386](),[7.11276][7.11276:11386]()
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    [7.1527]
    [7.11386]
    <!DOCTYPE html>
  • replacement in src/root/layout.tt at line 9
    [7.11387][7.11387:11455]()
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    [7.11387]
    [7.421]
    <html lang="en">
  • replacement in src/root/layout.tt at line 12
    [7.11467][7.2146:2185]()
    <title>Hydra - [% title %]</title>
    [7.11467]
    [7.618]
    <title>Hydra - [% HTML.escape(title) %]</title>
  • replacement in src/root/layout.tt at line 17
    [7.1][5.195:270]()
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    [7.1]
    [5.270]
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  • replacement in src/root/layout.tt at line 19
    [5.271][5.271:432]()
    <link href="/static/bootstrap/css/bootstrap.min.css" rel="stylesheet">
    <link href="/static/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet">
    [5.271]
    [5.432]
    <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
    [7.7353]
    [7.7353]
    [% 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
    [7.11783][7.2275:2315]()
    [% WRAPPER layout.tt title="Logfile" %]
    [7.11783]
    [7.1044]
    [% 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
    [7.4453][7.4454:4501]()
    [% WRAPPER layout.tt title="Login to Hydra" %]
    [7.4453]
    [7.4501]
    [% WRAPPER layout.tt title="Sign in" %]
  • edit in src/root/login.tt at line 3
    [7.4525][7.9636:9683]()
    <div class="page-header"><h1>Login</h1></div>
  • replacement in src/root/login.tt at line 33
    [7.10333][7.10333:10412]()
    <input type="submit" name="login" value="Login" class="btn btn-primary" />
    [7.10333]
    [7.10412]
    <input type="submit" name="login" value="Sign in" class="btn btn-primary" />
  • replacement in src/root/machine.tt at line 1
    [7.1][7.2:97]()
    [% WRAPPER layout.tt title=(create ? "New machine" : "Editing machine '$machine.hostname'") %]
    [7.1]
    [7.97]
    [% WRAPPER layout.tt title=(create ? "New machine" : "Machine $machine.hostname") %]
  • edit in src/root/machine.tt at line 3
    [7.121][7.121:122](),[7.122][7.10422:10547]()
    <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
    [7.2473][7.2474:2515]()
    [% WRAPPER layout.tt title="Machines" %]
    [7.2473]
    [7.2515]
    [% WRAPPER layout.tt title="Build machines" %]
  • edit in src/root/machines.tt at line 3
    [7.2539][7.2539:2540](),[7.2540][7.13326:13381]()
    <div class="page-header"><h1>Build machines</h1></div>
  • edit in src/root/news.tt at line 5
    [7.9844][7.13696:13747]()
    <div class="page-header"><h1>News items</h1></div>
  • replacement in src/root/overview.tt at line 1
    [7.19073][7.19074:19115]()
    [% WRAPPER layout.tt title="Overview" %]
    [7.19073]
    [7.19115]
    [% WRAPPER layout.tt title="Overview" hideHeader=1 %]
  • edit in src/root/plain.tt at line 7
    [2.163][7.62:63](),[7.62][7.62:63](),[7.63][7.14499:14551]()
    <div class="page-header"><h1>[% title %]</h1></div>
  • edit in src/root/plain.tt at line 8
    [7.85][7.85:108]()
    <div class="buildlog">
  • edit in src/root/plain.tt at line 9
    [7.6413][7.124:131](),[7.124][7.124:131]()
    </div>
  • replacement in src/root/project.tt at line 1
    [7.1667][7.2386:2522]()
    [% WRAPPER layout.tt title=(edit ? (create ? "New Project" : "Editing Project ‘$project.name’") : "Project ‘$project.name’") %]
    [7.1667]
    [7.3183]
    [% WRAPPER layout.tt title=(edit ? (create ? "New Project" : "Editing project $project.name") : "Project $project.name") %]
  • replacement in src/root/project.tt at line 5
    [7.31402][6.432:534]()
    <li class="active"><a href="#tabs-project" data-toggle="tab">Project</a></li>
    [7.31402]
    [7.31489]
    <li class="active"><a href="#tabs-project" data-toggle="tab">Overview</a></li>
  • edit in src/root/project.tt at line 17
    [7.31838][7.31838:31880]()
    <h2>Jobsets</h2>
  • edit in src/root/project.tt at line 94
    [7.33484][7.33484:33485]()
  • edit in src/root/project.tt at line 95
    [7.33486][7.33486:33524]()
    <h2>Information</h2>
  • replacement in src/root/project.tt at line 138
    [7.35417][7.35417:35439]()
    <p>
    [7.35417]
    [7.14689]
    <div class="form-actions">
  • replacement in src/root/project.tt at line 154
    [7.15430][7.15430:15453]()
    </p>
    [7.15430]
    [7.35855]
    </div>
  • edit in src/root/project.tt at line 165
    [7.35952][7.35952:35992]()
    <h2>Views</h2>
  • edit in src/root/queue.tt at line 3
    [7.70][7.70:71](),[7.71][7.15790:15842]()
    <div class="page-header"><h1>Hydra queue</h1></div>
  • replacement in src/root/release.tt at line 1
    [7.2200][7.2201:2261]()
    [% WRAPPER layout.tt title="Release ‘$release.name’" %]
    [7.2200]
    [7.2261]
    [% WRAPPER layout.tt title="Release $release.name" %]
  • edit in src/root/release.tt at line 6
    [7.2301][7.15924:16115](),[7.16115][7.2446:2447](),[7.2446][7.2446:2447]()
    <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
    [7.1449][7.1449:1480]()
    release.timestamp %].</em></p>
    [7.1449]
    [7.1480]
    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
    [7.3623][7.3624:3697]()
    [% WRAPPER layout.tt title="Releases for Project ‘$project.name’" %]
    [7.3623]
    [7.3697]
    [% WRAPPER layout.tt title="Releases for project $project.name" %]
  • edit in src/root/releases.tt at line 4
    [7.3736][7.3736:3737](),[7.3737][7.16133:16222]()
    <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
    [7.376][5.587:610]()
    padding-top: 60px;
    [7.376]
    [7.152]
    padding-top: 40px;
  • replacement in src/root/status.tt at line 1
    [7.1151][7.1152:1197]()
    [% WRAPPER layout.tt title="Hydra status" %]
    [7.1151]
    [7.1197]
    [% WRAPPER layout.tt title="Active build steps" %]
  • replacement in src/root/status.tt at line 4
    [7.1222][7.16362:16415]()
    <div class="page-header"><h1>Hydra status</h1></div>
    [7.1222]
    [7.1244]
    <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
    [7.1245][7.12368:12394](),[7.12394][7.1997:1998](),[7.1997][7.1997:1998]()
    [% INCLUDE hydraStatus %]
  • edit in src/root/timeline.tt at line 6
    [7.643][7.643:644](),[7.644][7.16416:16488]()
    <div class="page-header"><h1>Hydra timeline of last 24 hours</h1></div>
  • replacement in src/root/topbar.tt at line 127
    [7.1777][7.1777:1831]()
    uri = '#'
    title = "Related builds" %]
    [7.1777]
    [3.0]
    uri = c.uri_for('/build' build.id)
    title = "Overview" %]
  • replacement in src/root/topbar.tt at line 180
    [7.15491][7.15491:15556]()
    content = "Clear all non-running old builds from queue."
    [7.15491]
    [7.17123]
    content = "Clear all non-running old builds from queue"
  • replacement in src/root/user.tt at line 1
    [7.4561][7.4562:4648]()
    [% WRAPPER layout.tt title=(create ? "New user" : "Editing user '$user.username'") %]
    [7.4561]
    [7.4648]
    [% WRAPPER layout.tt title=(create ? "New user" : "User $user.username") %]
  • edit in src/root/user.tt at line 16
    [7.5043][7.5043:5044](),[7.5044][7.17208:17324]()
    <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
    [7.6813][7.6813:6814](),[7.6814][7.19357:19403]()
    <div class="page-header"><h1>Users</h1></div>
  • edit in src/root/view-result.tt at line 6
    [7.7429][7.7429:7430](),[7.7430][7.19930:20119]()
    <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
    [7.8435][7.11189:11262]()
    [% WRAPPER layout.tt title="View ‘$view.project.name:$view.name’" %]
    [7.8435]
    [7.8477]
    [% WRAPPER layout.tt title="View $view.project.name:$view.name" %]
  • edit in src/root/view.tt at line 4
    [7.8535][7.8535:8536](),[7.8536][7.20234:20328]()
    <div class="page-header"><h1>View <tt>[% view.project.name %]:[% view.name %]</tt></h1></div>