Branch: refs/heads/master
Home: https://github.com/NixOS/hydra
Commit: 0446282a6353189d0e37bb943b70f88a6fa5564b
https://github.com/NixOS/hydra/commit/0446282a6353189d0e37bb943b70f88a6fa5564b
Author: Eelco Dolstra <[email protected]>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M tests/query-all-tables.pl
Log Message:
-----------
Fix the test
diff --git a/tests/query-all-tables.pl b/tests/query-all-tables.pl
index 96893ba..db8daa7 100755
--- a/tests/query-all-tables.pl
+++ b/tests/query-all-tables.pl
@@ -7,7 +7,7 @@
my @sources = $db->schema->sources;
my $nrtables = scalar(@sources);
-use Test::Simple tests => 42;
+use Test::Simple tests => 43;
foreach my $source (@sources) {
my $title = "Basic select query for $source";
================================================================
Commit: ec87ad2bf234e4d480aa674eef9bf5b2d89f3903
https://github.com/NixOS/hydra/commit/ec87ad2bf234e4d480aa674eef9bf5b2d89f3903
Author: Eelco Dolstra <[email protected]>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M src/lib/Hydra/Controller/Jobset.pm
M src/lib/Hydra/Schema/JobsetEvals.pm
M src/script/hydra-evaluator
M src/sql/hydra.sql
Log Message:
-----------
Missing part of aaacf9eda36f5cdcc77cec20d6f49fbb6f925105
diff --git a/src/lib/Hydra/Controller/Jobset.pm
b/src/lib/Hydra/Controller/Jobset.pm
index 5b10578..4dc9009 100644
--- a/src/lib/Hydra/Controller/Jobset.pm
+++ b/src/lib/Hydra/Controller/Jobset.pm
@@ -339,9 +339,17 @@ sub getEvals {
my $cur = $evals[$n];
# 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;
+ my $nrScheduled;
+ my $nrSucceeded = $cur->nrsucceeded;
+ if (defined $nrSucceeded) {
+ $nrScheduled = 0;
+ } else {
+ $nrScheduled = $cur->builds->search({finished => 0})->count;
+ $nrSucceeded = $cur->builds->search({finished => 1, buildStatus =>
0})->count;
+ if ($nrScheduled == 0) {
+ $cur->update({nrsucceeded => $nrSucceeded});
+ }
+ }
# Compute what inputs changed between each eval.
my $curInputs = [ $cur->jobsetevalinputs->search(
@@ -359,10 +367,9 @@ sub getEvals {
my $e =
{ eval => $cur
- , nrBuilds => $nrBuilds
, nrScheduled => $nrScheduled
, nrSucceeded => $nrSucceeded
- , nrFailed => $nrBuilds - $nrSucceeded - $nrScheduled
+ , nrFailed => $cur->nrbuilds - $nrSucceeded - $nrScheduled
, diff => defined $prev ? $nrSucceeded - $prev->{nrSucceeded} : 0
, changedInputs => [ @changedInputs ]
};
diff --git a/src/lib/Hydra/Schema/JobsetEvals.pm
b/src/lib/Hydra/Schema/JobsetEvals.pm
index 3dc7452..df5fa67 100644
--- a/src/lib/Hydra/Schema/JobsetEvals.pm
+++ b/src/lib/Hydra/Schema/JobsetEvals.pm
@@ -66,6 +66,16 @@ __PACKAGE__->table("JobsetEvals");
data_type: 'text'
is_nullable: 0
+=head2 nrbuilds
+
+ data_type: 'integer'
+ is_nullable: 1
+
+=head2 nrsucceeded
+
+ data_type: 'integer'
+ is_nullable: 1
+
=cut
__PACKAGE__->add_columns(
@@ -85,6 +95,10 @@ __PACKAGE__->add_columns(
{ data_type => "integer", is_nullable => 0 },
"hash",
{ data_type => "text", is_nullable => 0 },
+ "nrbuilds",
+ { data_type => "integer", is_nullable => 1 },
+ "nrsucceeded",
+ { data_type => "integer", is_nullable => 1 },
);
=head1 PRIMARY KEY
@@ -157,8 +171,8 @@ Related object: L<Hydra::Schema::Projects>
__PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name =>
"project" }, {});
-# Created by DBIx::Class::Schema::Loader v0.07014 @ 2012-04-15 16:38:10
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Yt39QbkhH52hfpJZ4ZECeg
+# Created by DBIx::Class::Schema::Loader v0.07014 @ 2012-04-15 22:30:41
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:jn81MbsAb5KZGwRpQ7qTEQ
__PACKAGE__->has_many(
"buildIds",
diff --git a/src/script/hydra-evaluator b/src/script/hydra-evaluator
index 22f34de..7e3fac6 100755
--- a/src/script/hydra-evaluator
+++ b/src/script/hydra-evaluator
@@ -165,6 +165,7 @@ sub checkJobset {
, checkouttime => abs($checkoutStop - $checkoutStart)
, evaltime => abs($evalStop - $evalStart)
, hasnewbuilds => $hasNewBuilds
+ , nrbuilds => $hasNewBuilds ? scalar(keys %buildIds) : undef
});
if ($hasNewBuilds) {
diff --git a/src/sql/hydra.sql b/src/sql/hydra.sql
index 485e331..ebe2e42 100644
--- a/src/sql/hydra.sql
+++ b/src/sql/hydra.sql
@@ -438,6 +438,10 @@ create table JobsetEvals (
-- over the command-line arguments to hydra-eval-jobs.
hash text not null,
+ -- Cached stats about the builds.
+ nrBuilds integer,
+ nrSucceeded integer, -- set lazily when all builds are finished
+
foreign key (project) references Projects(name) on delete cascade on
update cascade,
foreign key (project, jobset) references Jobsets(project, name) on
delete cascade on update cascade
);
================================================================
Compare: https://github.com/NixOS/hydra/compare/aaacf9e...ec87ad2
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits