Allow comparing an evaluation with an arbitrary other evaluation

[?]
Apr 2, 2012, 6:40 PM
DE2DNCOIEVRA6OOSOSXI2USRPOWL4SC6XPCJFOUM54BS2ESCEWOAC

Dependencies

  • [2] WZZOOYCH Show queued builds in jobset evaluation pages
  • [3] 75XUS62Y * Added a page to quickly see all failed builds and failed evaluations
  • [4] L7NUCXKS Show new and removed jobs
  • [5] GNIEG2GC * Disambiguate jobs by jobset name. I.e. jobs with the same name in
  • [6] E5DMQRPO Remove unnecessary whitespace in the HTML output
  • [7] RSEGBU6C Hydra/20: Jobset clone feature
  • [8] U4TD3AIQ Add support for viewing jobset evaluations
  • [9] 3HZY24CX * Make jobsets viewable under
  • [*] IK53RV4V

Change contents

  • replacement in src/lib/Hydra/Controller/Jobset.pm at line 354
    [3.1155][3.1155:1277]()
    , '+as' => [ "nrBuilds", "nrScheduled", "nrFinished", "nrSucceeded" ]
    , rows => $resultsPerPage
    , page => $page
    [3.1155]
    [3.1277]
    , '+as' => [ "nrBuilds", "nrScheduled", "nrFinished", "nrSucceeded" ]
    , rows => $resultsPerPage + 1
    , offset => ($page - 1) * $resultsPerPage
  • replacement in src/lib/Hydra/Controller/JobsetEval.pm at line 29
    [3.1951][3.1951:2109]()
    my ($eval2) = $eval->jobset->jobsetevals->search(
    { hasnewbuilds => 1, id => { '<', $eval->id } },
    { order_by => "id DESC", rows => 1 });
    [3.1951]
    [3.2109]
    my $compare = $c->req->params->{compare};
    my $eval2;
    # Allow comparing this evaluation against the previous evaluation
    # (default), an arbitrary evaluation, or the latest completed
    # evaluation of another jobset.
    if (defined $compare && $compare =~ /^\d+$/) {
    $eval2 = $c->model('DB::JobsetEvals')->find($compare)
    or notFound($c, "Evaluation $compare doesn't exist.");
    } elsif (defined $compare && $compare =~ /^($jobNameRE)$/) {
    my $j = $c->stash->{project}->jobsets->find({name => $compare})
    or notFound($c, "Jobset $compare doesn't exist.");
    ($eval2) = $j->jobsetevals->search(
    { hasnewbuilds => 1 },
    { order_by => "id DESC", rows => 1
    , where => \ "not exists (select 1 from JobsetEvalMembers m join Builds b on m.build = b.id where m.eval = me.id and b.finished = 0)"
    });
    } else {
    ($eval2) = $eval->jobset->jobsetevals->search(
    { hasnewbuilds => 1, id => { '<', $eval->id } },
    { order_by => "id DESC", rows => 1 });
    }
  • edit in src/lib/Hydra/Controller/JobsetEval.pm at line 52
    [3.2110]
    [3.2110]
    $c->stash->{otherEval} = $eval2 if defined $eval2;
  • replacement in src/lib/Hydra/Controller/JobsetEval.pm at line 55
    [3.2227][3.2227:2346]()
    my @builds2 = $eval2->builds->search({}, { order_by => ["job", "system", "id"], columns => [@buildListColumns] });
    [3.2227]
    [3.2346]
    my @builds2 = defined $eval2
    ? $eval2->builds->search({}, { order_by => ["job", "system", "id"], columns => [@buildListColumns] })
    : ();
  • edit in src/lib/Hydra/Controller/JobsetEval.pm at line 70
    [3.2675]
    [3.2675]
    my $found = 0;
  • edit in src/lib/Hydra/Controller/JobsetEval.pm at line 75
    [3.2914]
    [3.3051]
    last if $d == -1;
  • edit in src/lib/Hydra/Controller/JobsetEval.pm at line 78
    [3.81]
    [2.35]
    $found = 1;
  • edit in src/lib/Hydra/Controller/JobsetEval.pm at line 91
    [3.136][3.136:219](),[3.219][3.3776:3798](),[3.3776][3.3776:3798]()
    } elsif ($d == -1) {
    push @{$c->stash->{new}}, $build;
    last;
  • edit in src/lib/Hydra/Controller/JobsetEval.pm at line 95
    [3.3840]
    [3.3840]
    push @{$c->stash->{new}}, $build if !$found;
  • replacement in src/root/common.tt at line 41
    [3.249][3.1348:1438](),[3.1348][3.1348:1438]()
    <tt>
    [% INCLUDE renderProjectName %]:[% INCLUDE renderJobsetName %]
    </tt>
    [% END %]
    [3.249]
    [3.1438]
    <tt>[% INCLUDE renderProjectName %]:[% INCLUDE renderJobsetName %]</tt>
    [%- END -%]
  • replacement in src/root/jobset-eval.tt at line 6
    [3.4994][3.4994:5045]()
    <!-- <p>Info on evaluation [% eval.id %]...<p> -->
    [3.4994]
    [3.5045]
    [%- IF otherEval -%]
    <p>Comparisons are relative to [% INCLUDE renderFullJobsetName
    project=otherEval.jobset.project.name jobset=otherEval.jobset.name %]
    evaluation <a href="[%
    c.uri_for(c.controller('JobsetEval').action_for('view'),
    [otherEval.id]) %]">[% otherEval.id %]</a>.</p>
    [%- END -%]
  • edit in src/root/jobset-evals.tt at line 7
    [3.6628]
    [3.6628]
    [% nrShown = evals.size > resultsPerPage ? resultsPerPage : evals.size %]
  • replacement in src/root/jobset-evals.tt at line 11
    [3.6697][3.6697:6765]()
    (page - 1) * resultsPerPage + evals.size %] out of [% total %].</p>
    [3.6697]
    [3.6765]
    (page - 1) * resultsPerPage + nrShown %] out of [% total %].</p>
  • replacement in src/root/jobset-evals.tt at line 24
    [3.6943][3.6943:7045]()
    [% last = evals.size - 2; FOREACH n IN [0..last]; eval = evals.$n; m = n + 1; next = evals.$m; %]
    [3.6943]
    [3.7045]
    [% last = nrShown - 1; FOREACH n IN [0..last]; eval = evals.$n; m = n + 1; next = evals.$m; %]