* Store info about the build inputs in the build record.
[?]
Nov 5, 2008, 6:23 AM
PHX2HIVGHHKCAX6VNN2WXD4LRGSA74KQMJCCTMHK7HS6JPELVECACDependencies
- [2]
T7AHGVGM - [3]
5QJP6JHS* Get dependencies from the database. - [4]
X27GNHDV* Basic job info in the database. - [5]
J5UVLXOK* Start of a basic Catalyst web interface. - [6]
WYN733ST* Store build duration, handle cached builds. - [7]
N22GPKYT* Put info about logs / build products in the DB.
Change contents
- file addition: Buildinputs.pm[4.3332]
package HydraFrontend::Schema::Buildinputs;use strict;use warnings;use base 'DBIx::Class';__PACKAGE__->load_components("Core");__PACKAGE__->table("buildInputs");__PACKAGE__->add_columns("buildid",{ data_type => "integer", is_nullable => 0, size => undef },"name",{ data_type => "text", is_nullable => 0, size => undef },"type",{ data_type => "text", is_nullable => 0, size => undef },"uri",{ data_type => "text", is_nullable => 0, size => undef },"revision",{ data_type => "integer", is_nullable => 0, size => undef },"tag",{ data_type => "text", is_nullable => 0, size => undef },);__PACKAGE__->set_primary_key("buildid", "name");__PACKAGE__->belongs_to("buildid","HydraFrontend::Schema::Builds",{ id => "buildid" },);# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-05 07:10:07# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:m8eC8wnRqF6OLO7EQ7gEvg# You can replace this text with custom content, and it will be preserved on regeneration1; - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Buildlogs.pm at line 28
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-04 14:45:23# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:kck2qlNZVLFUnevNPSBVKw# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-05 07:10:07# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:aEqSRZwHoE8HMwlUb05r+w - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Buildproducts.pm at line 28
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-04 14:45:23# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:CnCSHdI5+5p+L6+r/YITxQ# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-05 07:10:07# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ft672+6Aile/GNGUGMsGWw - edit in src/HydraFrontend/lib/HydraFrontend/Schema/Builds.pm at line 49
__PACKAGE__->has_many("buildinputs","HydraFrontend::Schema::Buildinputs",{ "foreign.buildid" => "self.id" },); - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Builds.pm at line 56
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-04 14:45:23# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Odp6qymLlNXbsD7VOQ7PAQ# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-05 07:10:07# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:uogJnVTVX17swfcbZgGQYg - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Jobsetinputs.pm at line 43
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-04 14:45:23# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:pzKFsX3b5wTNZvo8t3WTDg# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-05 07:10:07# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:q2kFjFI0X2cbHCrWi3GUCg - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Jobsets.pm at line 40
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-04 14:45:23# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:pEIAO9lDM+lMKLCLGWRdXg# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-05 07:10:07# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Y3YaApHX3uowoamLrr3fAA - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Projects.pm at line 22
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-04 14:45:23# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cpO0BGfChpnpm7KBKkSUjw# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-05 07:10:07# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:gjIRVxp5x78v1ctQ6+ZqLg - replacement in src/HydraFrontend/lib/HydraFrontend/Schema.pm at line 11
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-04 14:45:23# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:UAjA2VmMoOSjiHk0NUzLfQ# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-05 07:10:07# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:uu8sYu88Z2oes5zF82ugmg - edit in src/HydraFrontend/root/build.tt at line 5
- edit in src/HydraFrontend/root/build.tt at line 55
<h2>Build inputs</h2><table class="tablesorter"><thead><tr><th>Name</th><th>type</th><th>Uri</th></tr></thead><tbody>[% FOREACH input IN build.buildinputs -%]<tr><td>[% input.name %]</td><td>[% input.type %]</td><td>[% input.uri %]</td></tr>[% END -%]</tbody></table> - edit in src/hydra.sql at line 21
);create table buildInputs (buildId integer not null,-- Copied from the jobSetInputs from which the build was created.name text not null,type text not null,uri text,revision integer,tag text,primary key (buildId, name),foreign key (buildId) references builds(id) on delete cascade -- ignored by sqlite - edit in src/hydra.sql at line 61
delete from buildInputs where buildId = old.id; - replacement in src/scheduler.pl at line 19
my ($project, $jobset, $jobName, $drvPath, $outPath) = @_;my ($project, $jobset, $jobName, $drvPath, $outPath, $usedInputs) = @_; - edit in src/scheduler.pl at line 60
foreach my $input (keys %{$usedInputs}) {$db->resultset('Buildinputs')->create({ buildid => $build->id, name => $usedInputs->{$input}->{orig}->name, type => $usedInputs->{$input}->{orig}->type, uri => $usedInputs->{$input}->{orig}->uri, revision => $usedInputs->{$input}->{orig}->revision, tag => $usedInputs->{$input}->{orig}->tag});} - replacement in src/scheduler.pl at line 119
$$inputInfo{$input->name} = {storePath => $storePath};$$inputInfo{$input->name} = {orig => $input, storePath => $storePath}; - edit in src/scheduler.pl at line 164
my $usedInputs = {}; - edit in src/scheduler.pl at line 170
- edit in src/scheduler.pl at line 173
- edit in src/scheduler.pl at line 175
- replacement in src/scheduler.pl at line 179
} else {$$usedInputs{$argName} = $inputInfo->{$argName};}else { - edit in src/scheduler.pl at line 186
- edit in src/scheduler.pl at line 201
- edit in src/scheduler.pl at line 207
print "$extraArgs\n"; - replacement in src/scheduler.pl at line 225
buildJob($project, $jobset, $jobName, $drvPath, $outPath);buildJob($project, $jobset, $jobName, $drvPath, $outPath, $usedInputs);