* 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

@ -134,6 +134,12 @@ create table Builds (
maintainers text, -- meta.maintainers (concatenated, comma-separated)
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,