Remove the Build menu from the top bar

[?]
Oct 2, 2013, 5:10 PM
JIJDYWPYMZZNFBCWYSYR72RNEW5MSI26MJ5UXXIU7DDX25IBR3CQC

Dependencies

  • [2] FAUCW4NH Remove project/jobset/job/build id from the navbar
  • [3] 3ZAJ2ZRP Use popovers for the product list help/details
  • [4] XTKCALUA Make "Add to release" a modal dialog
  • [5] OIBSCXGI Use a popover to show how to use the build reproduction script
  • [6] QL55ECJ6 - adapted ui for hydra, more in line with nixos.org website
  • [7] S5GCSCNS Update bootstrap to 2.3.1
  • [8] 3PNG7NIB Remove trailing whitespace
  • [9] E3X3C5LK Replace ugly link with nice small buttons
  • [10] OEPUOUNB Using twitter bootstrap for more consistent looks for Hydra
  • [11] 6KIJX24R Get rid of unnecessary [%- and -%] tags
  • [12] GJFYEU3S * Nix now stores logs by default as bzip2, make sure the build page uncompresses before showing.
  • [13] NAJJDIK6 Move 'keep build' and 'restart' to toplevel menu
  • [14] 7ZQAHJQM Fix indentation
  • [15] 2UZJG6XT Clear nrSucceeded when restarting a build
  • [16] 2GUAKGTB Fix indentation of build.tt
  • [17] N4ODPYP7 Job page: Remove channel tab
  • [18] PZL3SZM3 Give every page a consistent title
  • [19] A52HEFHQ * Allow builds to be restarted (if they failed with a transient error,
  • [20] NRSKJPP4 makeLink -> menuItem
  • [21] 4IKSSKNL Restructure build menu
  • [22] SBMOICGV Evil CSS hackery to prevent link targets from being under the navbar
  • [23] K22TMPH5 Make the info tables less compressed
  • [24] OSVLMLCQ hydra: factored out build restart and
  • [25] HZWUT4YN Allow users to reproduce builds on their own systems
  • [26] R5HDC22Y Move 'clone build' and 'restart build' to top menu
  • [27] WW6BFSNF Move the "Cancel build" button to the menu
  • [28] J5UVLXOK * Start of a basic Catalyst web interface.
  • [*] LBNVQXUB * Build the /build stuff in a separate controller.
  • [*] IK53RV4V

Change contents

  • edit in src/lib/Hydra/Controller/Build.pm at line 446
    [5.622][5.0:35](),[5.5][5.0:35]()
    my $drvpath = $build->drvpath;
  • replacement in src/lib/Hydra/Controller/Build.pm at line 447
    [5.90][5.36:84]()
    unless $build->finished && -f $drvpath;
    [5.90]
    [5.521]
    unless $build->finished && -f $build->drvpath;
  • edit in src/root/build.tt at line 71
    [5.1530]
    [5.1530]
    <li class="dropdown">
    <a class="dropdown-toggle" data-toggle="dropdown" href="#">
    Actions
    <b class="caret"></b>
    </a>
    <ul class="dropdown-menu">
    [% IF build.nixexprinput %]
    <li><a href="#reproduce" data-toggle="modal">Reproduce locally</a></li>
    [% END %]
    [% IF c.user_exists %]
    <li><a href="[% c.uri_for('/build' build.id 'clone') %]">Clone</a></li>
    [% IF available %]
    [% IF build.keep %]
    <li><a href="[% c.uri_for('/build' build.id 'keep' 0) %]">Unkeep</a></li>
    [% ELSE %]
    <li><a href="[% c.uri_for('/build' build.id 'keep' 1) %]">Keep</a></li>
    [% END %]
    [% END %]
    [% IF build.finished %]
    <li><a href="[% c.uri_for('/build' build.id 'restart') %]">Restart</a></li>
    [% ELSE %]
    <li><a href="[% c.uri_for('/build' build.id 'cancel') %]">Cancel</a></li>
    [% END %]
    [% IF available && project.releases %]
    [% INCLUDE menuItem
    uri = "#add-to-release"
    title = "Add to release"
    modal = 1 %]
    [% END %]
    [% END %]
    </ul>
    </li>
  • edit in src/root/build.tt at line 117
    [5.2266][5.6451:6452](),[5.6451][5.6451:6452](),[5.6452][5.318:350](),[5.350][3.0:105](),[3.105][5.58:530](),[5.58][5.58:530]()
    [% IF build.nixexprinput %]
    [% WRAPPER makePopover title="Reproduce locally" classes="btn-info pull-right" placement="left" %]
    [% url = c.uri_for('/build' build.id 'reproduce') %]
    <p>You can reproduce this build on your own machine by
    downloading <a [% HTML.attributes(href => url) %]>a script</a>
    that checks out all inputs of the build and then invokes Nix
    to perform the build. This script requires that you have Nix
    on your system.</p>
    <p>To download and execute the script from the command line,
    run the following command:</p>
  • edit in src/root/build.tt at line 118
    [5.531][5.531:537](),[5.537][3.106:220](),[3.220][5.615:639](),[5.615][5.615:639](),[5.639][5.510:525](),[5.510][5.510:525]()
    <pre>
    <span class="shell-prompt">$ </span>bash <(curl <a [% HTML.attributes(href => url) %]>[% HTML.escape(url) %]</a>)
    </pre>
    [% END %]
    [% END %]
  • edit in src/root/build.tt at line 585
    [4.862]
    [5.8444]
    <div id="reproduce" class="modal hide fade" tabindex="-1" role="dialog" aria-hidden="true">
    [% url = c.uri_for('/build' build.id 'reproduce') %]
    <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
    <h3>Reproduce this build</h3>
    </div>
    <div class="modal-body">
    <p>You can reproduce this build on your own machine by downloading
    <a [% HTML.attributes(href => url) %]>a script</a> that checks out
    all inputs of the build and then invokes Nix to perform the build.
    This script requires that you have Nix on your system.</p>
    <p>To download and execute the script from the command line, run the
    following command:</p>
    <pre>
    <span class="shell-prompt">$ </span>bash <(curl <a [% HTML.attributes(href => url) %]>[% HTML.escape(url) %]</a>)
    </pre>
    </div>
    <div class="modal-footer">
    <a href="#" class="btn btn-primary clode" data-dismiss="modal">Close</a>
    </div>
    </div>
  • edit in src/root/common.tt at line 465
    [5.1164]
    [5.1164]
  • edit in src/root/common.tt at line 467
    [5.1165]
    [5.1165]
    BLOCK menuItem %]
    <li class="[% IF "${root}${curUri}" == uri %]active[% END %]" [% IF confirmmsg %]onclick="javascript:return confirm('[% confirmmsg %]')"[% END %]>
    <a href="[% uri %]" [% IF modal %]data-toggle="modal"[% END %]>[% title %]</a>
    </li>
    [% END;
  • edit in src/root/topbar.tt at line 1
    [5.10450][5.10450:10471](),[5.10471][5.299:448](),[5.448][4.863:946](),[4.946][5.6811:6819](),[5.6811][5.6811:6819](),[5.6608][5.6894:6905](),[5.6894][5.6894:6905]()
    [% BLOCK menuItem %]
    <li class="[% IF "${root}${curUri}" == uri %]active[% END %]" [% IF confirmmsg %]onclick="javascript:return confirm('[% confirmmsg %]')"[% END %]>
    <a href="[% uri %]" [% IF modal %]data-toggle="modal"[% END %]>[% title %]</a>
    </li>
    [% END %]
  • edit in src/root/topbar.tt at line 112
    [5.14441][5.1889:1906](),[5.1906][2.426:552](),[2.552][5.368:394](),[5.1751][5.368:394](),[5.394][5.5415:5488](),[5.1777][5.5415:5488](),[5.5488][5.0:29](),[5.1831][5.0:29](),[5.29][5.1907:1941](),[5.1941][5.395:423](),[5.423][5.1969:2114](),[5.1969][5.1969:2114](),[5.2114][5.424:456](),[5.456][5.2146:2246](),[5.2146][5.2146:2246](),[5.2246][5.359:380](),[5.359][5.359:380](),[5.380][5.457:489](),[5.489][5.2279:2377](),[5.2279][5.2279:2377](),[5.2377][5.516:536](),[5.516][5.516:536](),[5.536][5.2378:2428](),[5.2428][5.490:520](),[5.520][5.537:633](),[5.226][5.537:633](),[5.633][5.2429:2480](),[5.2480][5.521:551](),[5.551][5.30:124](),[5.30][5.30:124](),[5.124][4.947:1140](),[4.1140][5.2481:2499](),[5.124][5.2481:2499](),[5.124][5.318:334](),[5.633][5.318:334](),[5.2499][5.318:334](),[5.318][5.318:334](),[5.221][5.1831:1845](),[5.1831][5.1831:1845](),[5.1845][5.2500:2512](),[5.2512][5.1858:1859](),[5.1858][5.1858:1859]()
    [% IF build %]
    [% WRAPPER makeSubMenu title="Build" %]
    <li class="nav-header">#[% build.id %]</li>
    <li class="divider"></li>
    [% INCLUDE menuItem
    uri = c.uri_for('/build' build.id)
    title = "Overview" %]
    [% IF c.user_exists %]
    <li class="divider"></li>
    [% INCLUDE menuItem
    uri = c.uri_for('/build' build.id 'clone')
    title = "Clone build" %]
    [% IF available %]
    [% IF build.keep %]
    [% INCLUDE menuItem
    uri = c.uri_for('/build' build.id 'keep' 0)
    title = "Unkeep build" %]
    [% ELSE %]
    [% INCLUDE menuItem
    uri = c.uri_for('/build' build.id 'keep' 1)
    title = "Keep build" %]
    [% END %]
    [% END %]
    [% IF build.finished %]
    [% INCLUDE menuItem
    uri = c.uri_for('/build' build.id 'restart')
    title = "Restart build" %]
    [% END %]
    [% IF !build.finished %]
    [% INCLUDE menuItem
    uri = c.uri_for('/build' build.id 'cancel')
    title = "Cancel build" %]
    [% END %]
    [% IF available && project.releases %]
    [% INCLUDE menuItem
    uri = "#add-to-release"
    title = "Add to release"
    modal = 1 %]
    [% END %]
    [% END %]
    [% END %]
    [% END %]