Author: rob
Date: Thu Nov 11 11:03:50 2010
New Revision: 24656
URL: https://svn.nixos.org/websvn/nix/?rev=24656&sc=1
Log:
hydra: store logfile/output path/closure size
Modified:
hydra/trunk/src/lib/Hydra/Schema/BuildMachines.pm
hydra/trunk/src/lib/Hydra/Schema/BuildResultInfo.pm
hydra/trunk/src/script/hydra_build.pl.in
hydra/trunk/src/sql/hydra.sql
Modified: hydra/trunk/src/lib/Hydra/Schema/BuildMachines.pm
==============================================================================
--- hydra/trunk/src/lib/Hydra/Schema/BuildMachines.pm Thu Nov 11 11:02:44
2010 (r24655)
+++ hydra/trunk/src/lib/Hydra/Schema/BuildMachines.pm Thu Nov 11 11:03:50
2010 (r24656)
@@ -29,21 +29,21 @@
=head2 username
data_type: text
- default_value: undef
+ default_value: ''
is_nullable: 0
size: undef
=head2 ssh_key
data_type: text
- default_value: undef
+ default_value: ''
is_nullable: 0
size: undef
=head2 options
data_type: text
- default_value: undef
+ default_value: ''
is_nullable: 0
size: undef
@@ -64,7 +64,7 @@
=head2 enabled
data_type: integer
- default_value: 1
+ default_value: 0
is_nullable: 0
size: undef
@@ -79,32 +79,17 @@
size => undef,
},
"username",
- {
- data_type => "text",
- default_value => undef,
- is_nullable => 0,
- size => undef,
- },
+ { data_type => "text", default_value => "''", is_nullable => 0, size =>
undef },
"ssh_key",
- {
- data_type => "text",
- default_value => undef,
- is_nullable => 0,
- size => undef,
- },
+ { data_type => "text", default_value => "''", is_nullable => 0, size =>
undef },
"options",
- {
- data_type => "text",
- default_value => undef,
- is_nullable => 0,
- size => undef,
- },
+ { data_type => "text", default_value => "''", is_nullable => 0, size =>
undef },
"maxconcurrent",
{ data_type => "integer", default_value => 2, is_nullable => 0, size =>
undef },
"speedfactor",
{ data_type => "integer", default_value => 1, is_nullable => 0, size =>
undef },
"enabled",
- { data_type => "integer", default_value => 1, is_nullable => 0, size =>
undef },
+ { data_type => "integer", default_value => 0, is_nullable => 0, size =>
undef },
);
__PACKAGE__->set_primary_key("hostname");
@@ -125,8 +110,8 @@
);
-# Created by DBIx::Class::Schema::Loader v0.05000 @ 2010-10-11 12:58:16
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:gje+VA73Hghl7JXp+Fl8pw
+# Created by DBIx::Class::Schema::Loader v0.05000 @ 2010-11-11 10:58:44
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:GV0LlwTyjFctix2zArVTGw
# You can replace this text with custom content, and it will be preserved on
regeneration
Modified: hydra/trunk/src/lib/Hydra/Schema/BuildResultInfo.pm
==============================================================================
--- hydra/trunk/src/lib/Hydra/Schema/BuildResultInfo.pm Thu Nov 11 11:02:44
2010 (r24655)
+++ hydra/trunk/src/lib/Hydra/Schema/BuildResultInfo.pm Thu Nov 11 11:03:50
2010 (r24656)
@@ -69,6 +69,27 @@
is_nullable: 1
size: undef
+=head2 logsize
+
+ data_type: integer
+ default_value: 0
+ is_nullable: 0
+ size: undef
+
+=head2 size
+
+ data_type: integer
+ default_value: 0
+ is_nullable: 0
+ size: undef
+
+=head2 closuresize
+
+ data_type: integer
+ default_value: 0
+ is_nullable: 0
+ size: undef
+
=head2 releasename
data_type: text
@@ -150,6 +171,12 @@
is_nullable => 1,
size => undef,
},
+ "logsize",
+ { data_type => "integer", default_value => 0, is_nullable => 0, size =>
undef },
+ "size",
+ { data_type => "integer", default_value => 0, is_nullable => 0, size =>
undef },
+ "closuresize",
+ { data_type => "integer", default_value => 0, is_nullable => 0, size =>
undef },
"releasename",
{
data_type => "text",
@@ -189,8 +216,8 @@
__PACKAGE__->belongs_to("id", "Hydra::Schema::Builds", { id => "id" }, {});
-# Created by DBIx::Class::Schema::Loader v0.05003 @ 2010-02-25 10:29:41
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Vg+v2gK8l7iqBqQGtZJ1cA
+# Created by DBIx::Class::Schema::Loader v0.05000 @ 2010-11-11 10:58:44
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:7RntgXzDYpnfVLfja5RXKg
__PACKAGE__->belongs_to(
"failedDep",
Modified: hydra/trunk/src/script/hydra_build.pl.in
==============================================================================
--- hydra/trunk/src/script/hydra_build.pl.in Thu Nov 11 11:02:44 2010
(r24655)
+++ hydra/trunk/src/script/hydra_build.pl.in Thu Nov 11 11:03:50 2010
(r24656)
@@ -199,6 +199,10 @@
sendmail($email);
}
+sub getSize {
+ my $size = `du -bcs @_ 2> /dev/null | tail -1 | cut -f 1 `;
+ return int($size);
+}
sub doBuild {
my ($build) = @_;
@@ -365,6 +369,16 @@
}
done:
+ my $logfile = getBuildLog($drvPath);
+
+ my $logsize = defined $logfile ? getSize($logfile) : 0;
+ my $size = isValidPath($outPath) ? getSize($outPath) : 0;
+
+ my $closuresize = 0;
+ if (isValidPath($outPath)) {
+ (my $hash, my $deriver, my $refs) = queryPathInfo($outPath) ;
+ $closuresize = getSize(@{$refs});
+ }
txn_do($db, sub {
$build->update({finished => 1, timestamp => time});
@@ -377,7 +391,10 @@
, buildstatus => $buildStatus
, starttime => $startTime
, stoptime => $stopTime
- , logfile => getBuildLog($drvPath)
+ , logfile => $logfile
+ , logsize => $logsize
+ , size => $size
+ , closuresize => $closuresize
, errormsg => $errormsg
, releasename => $releaseName
});
Modified: hydra/trunk/src/sql/hydra.sql
==============================================================================
--- hydra/trunk/src/sql/hydra.sql Thu Nov 11 11:02:44 2010 (r24655)
+++ hydra/trunk/src/sql/hydra.sql Thu Nov 11 11:03:50 2010 (r24656)
@@ -114,7 +114,7 @@
);
--- This table contains all builds, either scheduled or finished. For
+-- This table contains all wbuilds, either scheduled or finished. For
-- scheduled builds, additional info (such as the priority) can be
-- found in the BuildSchedulingInfo table. For finished builds,
-- additional info (such as the logs, build products, etc.) can be
@@ -204,6 +204,10 @@
logfile text, -- the path of the logfile
+ logsize integer not null default 0,
+ size integer not null default 0,
+ closuresize integer not null default 0,
+
releaseName text, -- e.g. "patchelf-0.5pre1234"
keep integer not null default 0, -- true means never
garbage-collect the build output
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits