* Support Subversion checkouts.
[?]
Nov 25, 2008, 6:13 PM
ZVTSOVHNQNQCRF3N44RKDQSL3UM7HSLTAXICMWEE6EIA6SWJXZCQCDependencies
- [2]
PKPWUHUX* Idem. - [3]
CMU3YKOU* Store the release name. - [4]
N22GPKYT* Put info about logs / build products in the DB. - [5]
GCHNNFZP - [6]
WYN733ST* Store build duration, handle cached builds. - [7]
B72GLND4 - [8]
KOTB7BKV - [9]
IK53RV4V - [10]
X27GNHDV* Basic job info in the database. - [11]
BD3GRK4B* Get rid of "positive failures" and separate log phases. - [12]
SHBLLAVH* More global substitution. - [13]
L2E6EVE2* Merged the Build and Job tables. - [14]
ZEHSSVFG - [15]
PHX2HIVG* Store info about the build inputs in the build record. - [16]
TLZ2SPBR - [17]
DVNWJXWW* Generic declaration of build products. - [18]
H7CNGK4O* Log evaluation errors etc. in the DB. - [19]
TQKGQ5R3 - [20]
CLJQCY2X* Store info about all the build actions and allow them to be - [21]
VCOSLZRP - [22]
J5UVLXOK* Start of a basic Catalyst web interface. - [23]
67P45PY4 - [24]
7YBYT2LQ - [25]
GWCV3TQV* BuildInputs table: link to dependencies, include store paths. - [26]
M552HLIA* Support variant builds. - [27]
6BLUKEQ2* Caching of "path" inputs, and fake a revision number for those. - [28]
YTZOC7C5* Editing of jobset inputs. - [29]
BVOPAMLS
Change contents
- replacement in src/Hydra/lib/Hydra/Schema/Buildinputs.pm at line 39
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:/SS7rITRzALAmC9rNn70cQ# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Mwn4Pp+vduPrAU9s089pAg - replacement in src/Hydra/lib/Hydra/Schema/Buildproducts.pm at line 36
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:j3niyjyAmX10xY1maNh4gA# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:kzQauEWWXur6WilY/1LcfA - replacement in src/Hydra/lib/Hydra/Schema/Buildresultinfo.pm at line 32
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:/KtAIFiCb8EkAMd6OdHSXA# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:85sz3phT3arumqXladRtMQ - replacement in src/Hydra/lib/Hydra/Schema/Builds.pm at line 73
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Ig6LUSp4zaPhrxuzC8gL4Q# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:1fnKUzCj0eAt4HWx0UB3SA - replacement in src/Hydra/lib/Hydra/Schema/Buildschedulinginfo.pm at line 26
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:QuIbtSr8Q9JwhAcePu3Kuw# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+a/kUdHtdjxdAOBSWdUsVA - replacement in src/Hydra/lib/Hydra/Schema/Buildsteps.pm at line 38
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:sLsyDl8Nu63DWaYDIYBTkg# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:FYosIfp2O9OAolXdzalK+Q - file addition: Cachedpathinputs.pm[2.207]
package Hydra::Schema::Cachedpathinputs;use strict;use warnings;use base 'DBIx::Class';__PACKAGE__->load_components("Core");__PACKAGE__->table("CachedPathInputs");__PACKAGE__->add_columns("srcpath",{ data_type => "text", is_nullable => 0, size => undef },"timestamp",{ data_type => "integer", is_nullable => 0, size => undef },"lastseen",{ data_type => "integer", is_nullable => 0, size => undef },"sha256hash",{ data_type => "text", is_nullable => 0, size => undef },"storepath",{ data_type => "text", is_nullable => 0, size => undef },);__PACKAGE__->set_primary_key("srcpath", "sha256hash");# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:KhMAz8E3CDxG2D+zleQEFw# You can replace this text with custom content, and it will be preserved on regeneration1; - file addition: Cachedsubversioninputs.pm[2.207]
package Hydra::Schema::Cachedsubversioninputs;use strict;use warnings;use base 'DBIx::Class';__PACKAGE__->load_components("Core");__PACKAGE__->table("CachedSubversionInputs");__PACKAGE__->add_columns("uri",{ data_type => "text", is_nullable => 0, size => undef },"revision",{ data_type => "integer", is_nullable => 0, size => undef },"sha256hash",{ data_type => "text", is_nullable => 0, size => undef },"storepath",{ data_type => "text", is_nullable => 0, size => undef },);__PACKAGE__->set_primary_key("uri", "revision");# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:S62F6Z2wPT/+NoIApQcBmQ# You can replace this text with custom content, and it will be preserved on regeneration1; - replacement in src/Hydra/lib/Hydra/Schema/Jobsetinputalts.pm at line 34
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:nL04tddxVrJnpaDHMBWkEQ# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:6N8dRzQi9IYgP5F2rbDtWg - replacement in src/Hydra/lib/Hydra/Schema/Jobsetinputs.pm at line 46
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:vPNmAznaZ6z3M8eYOwnENg# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:QeB1Zh2L3q81y5j+fLcazw - replacement in src/Hydra/lib/Hydra/Schema/Jobsets.pm at line 51
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:juL3q644z+R8S4ynbp6MMw# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:6aZCPgci+SLJuoGHcR3boA - replacement in src/Hydra/lib/Hydra/Schema/Projects.pm at line 33
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:e+sS5o6q9SX12ik9beTuFQ# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:meEhwhiWsywgQlrkwOz48A - replacement in src/Hydra/lib/Hydra/Schema.pm at line 11
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 17:11:25# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:4eWDgovhuQLEGBA42J9kKA# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-25 18:59:54# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:woBkuPRoV3DnJmHdcZ2ZIg - edit in src/Hydra/programs/Scheduler.pl at line 107
elsif ($type eq "svn") {my $uri = $alt->value;my $sha256;my $storePath;# First figure out the last-modified revision of the URI.my @cmd = (["svn", "ls", "-v", "--depth", "empty", $uri],"|", ["sed", 's/^ *\([0-9]*\).*/\1/']);my $stdout; my $stderr;die "cannot get head revision of Subversion repository at `$uri':\n$stderr"unless IPC::Run::run(@cmd, \$stdout, \$stderr);my $revision = $stdout; chomp $revision;die unless $revision =~ /^\d+$/;(my $cachedInput) = $db->resultset('Cachedsubversioninputs')->search({uri => $uri, revision => $revision});if (defined $cachedInput && isValidPath($cachedInput->storepath)) {$storePath = $cachedInput->storepath;$sha256 = $cachedInput->sha256hash;} else {# Then download this revision into the store.print "checking out Subversion input ", $input->name, " from $uri revision $revision\n";$ENV{"NIX_HASH_ALGO"} = "sha256";$ENV{"PRINT_PATH"} = "1";(my $res, $stdout, $stderr) = captureStdoutStderr("nix-prefetch-svn", $uri, $revision);die "cannot check out Subversion repository `$uri':\n$stderr" unless $res; - edit in src/Hydra/programs/Scheduler.pl at line 139
($sha256, $storePath) = split ' ', $stdout;$db->txn_do(sub {$db->resultset('Cachedsubversioninputs')->create({ uri => $uri, revision => $revision, sha256hash => $sha256, storepath => $storePath});});}$$inputInfo{$input->name} ={ type => $type, uri => $uri, storePath => $storePath, sha256hash => $sha256, revision => $revision};} - replacement in src/Hydra/programs/Scheduler.pl at line 166
die "input `" . $input->type . "' has unknown type `$type'";die "input `" . $input->name . "' has unknown type `$type'"; - replacement in src/Hydra/programs/Scheduler.pl at line 401
setProjectError($jobset, $@);setJobsetError($jobset, $@); - edit in src/hydra.sql at line 244[4.5645]
create table CachedSubversionInputs (uri text not null,revision integer not null,sha256hash text not null,storePath text not null,primary key (uri, revision));