In the jobset evals lists, show what inputs changed between consecutive evals
[?]
Apr 15, 2012, 8:06 PM
RWFCW6ZNIE24XTEQUK5Y37K42BQER7EDGSSD4GQNFTGO5V4TY72QCDependencies
- [2]
BTYVIHF7Make the jobset eval rows clickable - [3]
KG5AMUMGCleanup - [4]
OEPUOUNBUsing twitter bootstrap for more consistent looks for Hydra - [5]
6QRHXIM3* Speed up the jobset index page. Especially the query to get the - [6]
3U3CXCDWNicer link to the rest of the jobset evals - [7]
U4TD3AIQAdd support for viewing jobset evaluations - [8]
G4X5IUYJRemove default logo, replaced by text for now. Hide template in jobset edit. - [9]
UMFB2767Hydra/64: Leaving number of builds empty gives DBIx error - [10]
RSEGBU6CHydra/20: Jobset clone feature - [11]
DE2DNCOIAllow comparing an evaluation with an arbitrary other evaluation - [12]
Q4VDOA76Replace last 5 builds on jobset page with last 5 evaluations. Moved hide/unhide and evaluate options to jobset topmenu. - [13]
22JB5HNEmake changes section more compact/readable - [*]
3HZY24CX* Make jobsets viewable under - [*]
IK53RV4V - [*]
ODNCGFQ5* Improved the navigation bar: don't include all projects (since that
Change contents
- replacement in src/lib/Hydra/Controller/Jobset.pm at line 52
$c->stash->{evals} = getEvals($self, $c, 0, 6);$c->stash->{evals} = getEvals($self, $c, 0, 5); - replacement in src/lib/Hydra/Controller/Jobset.pm at line 330
return [ $c->stash->{jobset}->jobsetevals->search(my @evals = $c->stash->{jobset}->jobsetevals->search( - replacement in src/lib/Hydra/Controller/Jobset.pm at line 341
, rows => $rows, rows => $rows + 1 - edit in src/lib/Hydra/Controller/Jobset.pm at line 343
});my @res = ();my $curInputs;for (my $n = 0; $n < $rows && $n < scalar @evals; $n++) {my $cur = $evals[$n];my $prev = $evals[$n + 1];# Compute what inputs changed between each eval.my $diff = 0;my $prevInputs = [];$curInputs = [ $cur->jobsetevalinputs->search({ uri => { '!=' => undef }, revision => { '!=' => undef }, altNr => 0 },{ order_by => "name" }) ] unless defined $curInputs;if (defined $prev) {$diff = $cur->get_column("nrSucceeded") - $prev->get_column("nrSucceeded");$prevInputs = [ $prev->jobsetevalinputs->search({ uri => { '!=' => undef }, revision => { '!=' => undef }, altNr => 0 },{ order_by => "name" }) ]; - replacement in src/lib/Hydra/Controller/Jobset.pm at line 363
) ];my @changedInputs;my %prevInputsHash;$prevInputsHash{$_->name} = $_ foreach @{$prevInputs};foreach my $input (@{$curInputs}) {my $p = $prevInputsHash{$input->name};push @changedInputs, $inputif !defined $p || $input->revision != $p->revision || $input->type != $p->type || $input->uri != $p->uri;}$curInputs = $prevInputs;push @res, { eval => $cur, diff => $diff, changedInputs => [ @changedInputs ] };}return [@res]; - replacement in src/lib/Hydra/Controller/Jobset.pm at line 393
$c->stash->{evals} = getEvals($self, $c, ($page - 1) * $resultsPerPage, $resultsPerPage + 1)$c->stash->{evals} = getEvals($self, $c, ($page - 1) * $resultsPerPage, $resultsPerPage) - edit in src/root/common.tt at line 405
[% BLOCK renderShortRev -%][%- IF type == "svn" || type == "svn-checkout" || type == "bzr" || type == "bzr-checkout" -%]r[%- revision -%][%- ELSIF type == "git" -%]<tt>[% revision.substr(0, 7) %]</tt>[%- ELSE -%]<tt>[%- revision -%]</tt>[%- END -%][%- END %] - edit in src/root/common.tt at line 417
- edit in src/root/common.tt at line 422
<th>Input changes</th> - replacement in src/root/common.tt at line 427
[% last = nrShown - 1; FOREACH n IN [0..last]; eval = evals.$n; m = n + 1; next = evals.$m;link = c.uri_for(c.controller('JobsetEval').action_for('view'), [eval.id]) %][%- FOREACH e IN evals; eval = e.eval;link = c.uri_for(c.controller('JobsetEval').action_for('view'), [eval.id]) -%] - edit in src/root/common.tt at line 432
<td>[%- IF e.changedInputs.size > 0 -%][%- sep=''; FOREACH input IN e.changedInputs -%][%- sep %] [% input.name %] → [% INCLUDE renderShortRev type=input.type revision=input.revision %][%- sep=','; END -%][%- ELSE -%]-[%- END -%]</td> - replacement in src/root/common.tt at line 449
[% diff = eval.get_column('nrSucceeded') - next.get_column('nrSucceeded');IF diff > 0 %]<span class='label label-success'><strong>+[% diff %]</strong></span>[% ELSIF diff < 0 && eval.get_column('nrScheduled') == 0 %]<span class='label label-important'><strong>[% diff %]</strong></span>[% END %][%- IF e.diff > 0 -%]<span class='label label-success'><strong>+[% e.diff %]</strong></span>[%- ELSIF e.diff < 0 && eval.get_column('nrScheduled') == 0 -%]<span class='label label-important'><strong>[% e.diff %]</strong></span>[%- END -%] - replacement in src/root/common.tt at line 458
<tr><td class="centered" colspan="4"><a href="[% linkToAll %]"><em>More...</em></a></td></tr><tr><td class="centered" colspan=54"><a href="[% linkToAll %]"><em>More...</em></a></td></tr> - edit in src/root/common.tt at line 462
- edit in src/root/jobset-evals.tt at line 8
[% nrShown = evals.size > resultsPerPage ? resultsPerPage : evals.size %] - replacement in src/root/jobset-evals.tt at line 9
(page - 1) * resultsPerPage + nrShown %] out of [% total %].</p>(page - 1) * resultsPerPage + evals.size %] out of [% total %].</p> - replacement in src/root/jobset.tt at line 86
[% INCLUDE renderEvals nrShown=evals.size() - 1 linkToAll=c.uri_for(c.controller('Jobset').action_for('evals'), [project.name, jobset.name]) %][% INCLUDE renderEvals linkToAll=c.uri_for(c.controller('Jobset').action_for('evals'), [project.name, jobset.name]) %]