Branch: refs/heads/master
Home: https://github.com/NixOS/hydra
Commit: 2c6a38760bcca80a192ec0776c6ef42c9ed56a0e
https://github.com/NixOS/hydra/commit/2c6a38760bcca80a192ec0776c6ef42c9ed56a0e
Author: Eelco Dolstra <[email protected]>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M src/root/build.tt
Log Message:
-----------
Consistent capitalisation
diff --git a/src/root/build.tt b/src/root/build.tt
index ac18215..42ddc96 100644
--- a/src/root/build.tt
+++ b/src/root/build.tt
@@ -73,9 +73,9 @@
<ul id="tab" class="nav nav-tabs">
<li><a href="#tabs-summary" data-toggle="tab">Summary</a></li>
<li><a href="#tabs-information"
data-toggle="tab">Information</a></li>
- <li><a href="#tabs-buildinputs" data-toggle="tab">Build
Inputs</a></li>
+ <li><a href="#tabs-buildinputs" data-toggle="tab">Build
inputs</a></li>
[% IF relatedbuilds %]<li><a href="#tabs-relatedbuilds"
data-toggle="tab">Related builds</a></li>[% END %]
- [% IF build.buildsteps %]<li><a href="#tabs-buildsteps"
data-toggle="tab">Build Steps</a></li>[% END %]
+ [% IF build.buildsteps %]<li><a href="#tabs-buildsteps"
data-toggle="tab">Build steps</a></li>[% END %]
[% IF build.dependents %]<li><a href="#tabs-usedby"
data-toggle="tab">Used by</a></li>[% END%]
[% IF prevBuilds %]<li><a href="#tabs-history"
data-toggle="tab">History chart</a></li>[% END %]
</ul>
================================================================
Commit: 1e228267beb86cac7053b75557e94a98449e9d2b
https://github.com/NixOS/hydra/commit/1e228267beb86cac7053b75557e94a98449e9d2b
Author: Eelco Dolstra <[email protected]>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M src/root/build.tt
M src/root/queue.tt
Log Message:
-----------
Only show "Running build steps" if there are running build steps
diff --git a/src/root/build.tt b/src/root/build.tt
index 42ddc96..50df3fd 100644
--- a/src/root/build.tt
+++ b/src/root/build.tt
@@ -160,9 +160,9 @@
[% END %]
- [% IF !build.finished %]
+ [% IF !build.finished && build.buildsteps.size > 0 %]
[% INCLUDE renderBuildSteps type="Running" %]
- [% END %]
+ [% END %]
[% IF build.finished %]
[% IF build.buildsteps && build.buildstatus != 0 &&
build.buildstatus != 6 %]
diff --git a/src/root/queue.tt b/src/root/queue.tt
index f0c5aa1..58a3d00 100644
--- a/src/root/queue.tt
+++ b/src/root/queue.tt
@@ -3,7 +3,7 @@
<h1>Hydra Queue</h1>
-<p>[ <a href="[% c.uri_for('/status') %]">Running buildsteps</a> ]</p>
+<p>[ <a href="[% c.uri_for('/status') %]">Running build steps</a> ]</p>
[% IF flashMsg %]
<p class="error">[% flashMsg %]</p>
================================================================
Commit: 5793baa3cd37733383d80ba49036ecbb37e49423
https://github.com/NixOS/hydra/commit/5793baa3cd37733383d80ba49036ecbb37e49423
Author: Eelco Dolstra <[email protected]>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M src/lib/Hydra/Controller/Jobset.pm
Log Message:
-----------
Doh
diff --git a/src/lib/Hydra/Controller/Jobset.pm
b/src/lib/Hydra/Controller/Jobset.pm
index 616fc5e..9f95833 100644
--- a/src/lib/Hydra/Controller/Jobset.pm
+++ b/src/lib/Hydra/Controller/Jobset.pm
@@ -366,7 +366,7 @@ sub getEvals {
foreach my $input (@{$curInputs}) {
my $p = $prevInputsHash{$input->name};
push @changedInputs, $input
- if !defined $p || $input->revision != $p->revision ||
$input->type != $p->type || $input->uri != $p->uri;
+ if !defined $p || $input->revision ne $p->revision ||
$input->type ne $p->type || $input->uri ne $p->uri;
}
$curInputs = $prevInputs;
================================================================
Commit: 573a333bc9cfd7aab5bd2b9a095f92fae36d87a5
https://github.com/NixOS/hydra/commit/573a333bc9cfd7aab5bd2b9a095f92fae36d87a5
Author: Eelco Dolstra <[email protected]>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M src/lib/Hydra/Controller/Jobset.pm
Log Message:
-----------
Cleanup
diff --git a/src/lib/Hydra/Controller/Jobset.pm
b/src/lib/Hydra/Controller/Jobset.pm
index 9f95833..9b9a489 100644
--- a/src/lib/Hydra/Controller/Jobset.pm
+++ b/src/lib/Hydra/Controller/Jobset.pm
@@ -343,23 +343,15 @@ sub getEvals {
});
my @res = ();
- my $curInputs;
- for (my $n = 0; $n < $rows && $n < scalar @evals; $n++) {
+ my $prevInputs = [];
+ for (my $n = scalar @evals - 1; $n >= 0; $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(
+ my $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" }) ];
- }
+ { order_by => "name" }) ];
my @changedInputs;
my %prevInputsHash;
$prevInputsHash{$_->name} = $_ foreach @{$prevInputs};
@@ -368,12 +360,16 @@ sub getEvals {
push @changedInputs, $input
if !defined $p || $input->revision ne $p->revision ||
$input->type ne $p->type || $input->uri ne $p->uri;
}
- $curInputs = $prevInputs;
+ $prevInputs = $curInputs;
- push @res, { eval => $cur, diff => $diff, changedInputs => [
@changedInputs ] };
+ push @res,
+ { eval => $cur
+ , diff => defined $prev ? $cur->get_column("nrSucceeded") -
$prev->get_column("nrSucceeded") : 0
+ , changedInputs => [ @changedInputs ]
+ };
}
- return [@res];
+ return [(reverse @res)[0..$rows - 1]];
}
================================================================
Commit: 034d50069b195478c58487b61109aabdc76a16bf
https://github.com/NixOS/hydra/commit/034d50069b195478c58487b61109aabdc76a16bf
Author: Eelco Dolstra <[email protected]>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M src/lib/Hydra/Controller/Jobset.pm
M src/root/common.tt
Log Message:
-----------
Speed up the jobset eval list a bit
diff --git a/src/lib/Hydra/Controller/Jobset.pm
b/src/lib/Hydra/Controller/Jobset.pm
index 9b9a489..5b10578 100644
--- a/src/lib/Hydra/Controller/Jobset.pm
+++ b/src/lib/Hydra/Controller/Jobset.pm
@@ -330,23 +330,18 @@ sub getEvals {
my @evals = $c->stash->{jobset}->jobsetevals->search(
{ hasnewbuilds => 1 },
- { order_by => "id DESC"
- , '+select' => # !!! Slow - should precompute this.
- [ "(select count(*) from JobsetEvalMembers where eval = me.id)"
- , "(select count(*) from JobsetEvalMembers where eval = me.id and
exists(select 1 from Builds b where b.id = build and b.finished = 0))"
- , "(select count(*) from JobsetEvalMembers where eval = me.id and
exists(select 1 from Builds b where b.id = build and b.finished = 1))"
- , "(select count(*) from JobsetEvalMembers where eval = me.id and
exists(select 1 from Builds b where b.id = build and b.finished = 1 and
b.buildStatus = 0))"
- ]
- , '+as' => [ "nrBuilds", "nrScheduled", "nrFinished", "nrSucceeded" ]
- , rows => $rows + 1
- , offset => $offset
- });
+ { order_by => "id DESC", rows => $rows + 1, offset => $offset });
my @res = ();
my $prevInputs = [];
+ my $prev;
for (my $n = scalar @evals - 1; $n >= 0; $n--) {
my $cur = $evals[$n];
- my $prev = $evals[$n + 1];
+
+ # Get stats for this eval.
+ my $nrBuilds = $cur->jobsetevalmembers->count;
+ my $nrScheduled = $cur->builds->search({finished => 0})->count;
+ my $nrSucceeded = $cur->builds->search({finished => 1, buildStatus =>
0})->count;
# Compute what inputs changed between each eval.
my $curInputs = [ $cur->jobsetevalinputs->search(
@@ -361,15 +356,21 @@ sub getEvals {
if !defined $p || $input->revision ne $p->revision ||
$input->type ne $p->type || $input->uri ne $p->uri;
}
$prevInputs = $curInputs;
-
- push @res,
+
+ my $e =
{ eval => $cur
- , diff => defined $prev ? $cur->get_column("nrSucceeded") -
$prev->get_column("nrSucceeded") : 0
+ , nrBuilds => $nrBuilds
+ , nrScheduled => $nrScheduled
+ , nrSucceeded => $nrSucceeded
+ , nrFailed => $nrBuilds - $nrSucceeded - $nrScheduled
+ , diff => defined $prev ? $nrSucceeded - $prev->{nrSucceeded} : 0
, changedInputs => [ @changedInputs ]
};
+ push @res, $e if $n < $rows;
+ $prev = $e;
}
- return [(reverse @res)[0..$rows - 1]];
+ return [reverse @res];
}
diff --git a/src/root/common.tt b/src/root/common.tt
index 9345c4d..6e6a325 100644
--- a/src/root/common.tt
+++ b/src/root/common.tt
@@ -439,16 +439,16 @@
[%- END -%]
</td>
<td align='right'>
- <span class="label label-success">[% eval.get_column('nrSucceeded')
%]</span>
- <span class="label label-important">[% eval.get_column('nrBuilds') -
eval.get_column('nrSucceeded') - eval.get_column('nrScheduled') %]</span>
- [% IF eval.get_column('nrScheduled') > 0 %]
- <span class="label">[% eval.get_column('nrScheduled') %]</span>
+ <span class="label label-success">[% e.nrSucceeded %]</span>
+ <span class="label label-important">[% e.nrFailed %]</span>
+ [% IF e.nrScheduled > 0 %]
+ <span class="label">[% e.nrScheduled %]</span>
[% END %]
</td>
<td align='right'>
[%- IF e.diff > 0 -%]
<span class='label label-success'><strong>+[% e.diff
%]</strong></span>
- [%- ELSIF e.diff < 0 && eval.get_column('nrScheduled') == 0 -%]
+ [%- ELSIF e.diff < 0 && e.nrScheduled == 0 -%]
<span class='label label-important'><strong>[% e.diff
%]</strong></span>
[%- END -%]
</td>
================================================================
Commit: aaacf9eda36f5cdcc77cec20d6f49fbb6f925105
https://github.com/NixOS/hydra/commit/aaacf9eda36f5cdcc77cec20d6f49fbb6f925105
Author: Eelco Dolstra <[email protected]>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
A src/sql/upgrade-7.sql
Log Message:
-----------
Speed up the listing of jobset evals by caching some info in the DB
This denormalises the database, but it's the best we can do until
PostgreSQL has materialised views.
diff --git a/src/sql/upgrade-7.sql b/src/sql/upgrade-7.sql
new file mode 100644
index 0000000..419c878
--- /dev/null
+++ b/src/sql/upgrade-7.sql
@@ -0,0 +1,7 @@
+alter table JobsetEvals
+ add column nrBuilds integer,
+ add column nrSucceeded integer;
+
+update JobsetEvals e set
+ nrBuilds = (select count(*) from JobsetEvalMembers m where e.id = m.eval)
+ where hasNewBuilds = 1;
================================================================
Compare: https://github.com/NixOS/hydra/compare/0daba6b...aaacf9e
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits