Add a more concise queue page

[?]
Mar 8, 2016, 6:44 PM
QAUDQPWGE3S3WOG6GEIT5MFZKLUZDGR4V4DO4F7QHFYRPH6XDGTAC

Dependencies

  • [2] LZVO64YG Merge in the first bits of the API work
  • [3] JZVRK5QJ Group some menu items together under a "Status" menu
  • [4] NRSKJPP4 makeLink -> menuItem
  • [*] J5UVLXOK * Start of a basic Catalyst web interface.
  • [*] 6FRLEP4P first try for timeline of last 24 hours in hydra
  • [*] EFWN7JBV * Added a status page that shows all the currently executing build steps.
  • [*] D5QIOJGP * Move everything up one directory.
  • [*] QL55ECJ6 - adapted ui for hydra, more in line with nixos.org website

Change contents

  • edit in src/lib/Hydra/Controller/Root.pm at line 103
    [7.557]
    [2.22255]
  • edit in src/lib/Hydra/Controller/Root.pm at line 105
    [2.22256]
    [8.377]
    sub queue_summary :Local :Path('queue-summary') :Args(0) {
    my ($self, $c) = @_;
    $c->stash->{template} = 'queue-summary.tt';
  • edit in src/lib/Hydra/Controller/Root.pm at line 109
    [8.378]
    [2.22257]
    $c->stash->{queued} = $c->model('DB')->schema->storage->dbh->selectall_arrayref(
    "select project, jobset, count(*) as queued, min(timestamp) as oldest, max(timestamp) as newest from Builds " .
    "where finished = 0 group by project, jobset order by queued desc",
    { Slice => {} });
    }
  • file addition: queue-summary.tt (----------)
    [9.1486]
    [% WRAPPER layout.tt title="Queue summary" %]
    [% PROCESS common.tt %]
    [% IF queued.size == 0 %]
    <div class="alert alert-info">There are no pending builds.</div>
    [% ELSE %]
    <table class="table table-striped table-condensed clickable-rows">
    <thead>
    <tr>
    <th>Jobset</th>
    <th># Queued</th>
    <th>Oldest queued</th>
    <th>Newest queued</th>
    </tr>
    </thead>
    <tdata>
    [% FOREACH j IN queued %]
    <tr>
    <td>[% INCLUDE renderFullJobsetName project=j.project jobset=j.jobset %]</td>
    <td>[% HTML.escape(j.queued) %]</td>
    <td>[% INCLUDE renderRelativeDate timestamp=j.oldest %]</td>
    <td>[% INCLUDE renderRelativeDate timestamp=j.newest %]</td>
    </tr>
    [% END %]
    </tdata>
    </table>
    [% END %]
    [% END %]
  • replacement in src/root/topbar.tt at line 20
    [3.24][3.68:133](),[3.68][3.68:133]()
    uri = c.uri_for(c.controller('Root').action_for('queue'))
    [3.24]
    [3.133]
    uri = c.uri_for(c.controller('Root').action_for('queue_summary'))