* Store the jobset's nixExprPath and nixExprInput fields in a build to

allow it to be cloned (re-executed with modified inputs) later and
  to provide some traceability.
This commit is contained in:
Eelco Dolstra 2009-10-26 13:33:48 +00:00
parent 69f290413c
commit cb2493eca9
4 changed files with 26 additions and 2 deletions

View file

@ -100,6 +100,8 @@
alter table ViewJobs drop column mayFail;
alter table ViewJobs add column autorelease integer not null default 0;
alter table Builds add column nixExprInput text;
alter table Builds add column nixExprPath text;
* Job selection:

View file

@ -122,6 +122,20 @@ __PACKAGE__->add_columns(
},
"iscurrent",
{ data_type => "integer", default_value => 0, is_nullable => 1, size => undef },
"nixexprinput",
{
data_type => "text",
default_value => undef,
is_nullable => 1,
size => undef,
},
"nixexprpath",
{
data_type => "text",
default_value => undef,
is_nullable => 1,
size => undef,
},
);
__PACKAGE__->set_primary_key("id");
__PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" });
@ -172,8 +186,8 @@ __PACKAGE__->has_many(
);
# Created by DBIx::Class::Schema::Loader v0.04999_09 @ 2009-10-23 16:56:03
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:L+BuQvxJL8gG7jib1AAIrw
# Created by DBIx::Class::Schema::Loader v0.04999_09 @ 2009-10-26 14:22:27
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:qbNPA5NkENlZXILuE3OGkA
use Hydra::Helper::Nix;

View file

@ -304,6 +304,8 @@ sub checkJob {
, outpath => $outPath
, system => $job->{system}
, iscurrent => 1
, nixexprinput => $jobset->nixexprinput
, nixexprpath => $jobset->nixexprpath
});
print "added to queue as build ", $build->id, "\n";

View file

@ -135,6 +135,12 @@ create table Builds (
isCurrent integer default 0,
-- Copy of the nixExprInput/nixExprPath fields of the jobset that
-- instantiated this build. Needed if we want to clone this
-- build.
nixExprInput text,
nixExprPath text,
foreign key (project) references Projects(name) on update cascade,
foreign key (project, jobset) references Jobsets(project, name) on update cascade,
foreign key (project, jobset, job) references Jobs(project, jobset, name) on update cascade