[?]
Nov 10, 2008, 10:18 AM
BVOPAMLSAU4UTV3DUX53OYDMXP2SETAQVUKAYE2OTCVVN4RD7LLQCDependencies
- [2]
67P45PY4 - [3]
N22GPKYT* Put info about logs / build products in the DB. - [4]
UVMFS73T* Some jQuery / CSS hackery. - [5]
5QJP6JHS* Get dependencies from the database. - [6]
UMBR3VG3 - [7]
PHX2HIVG* Store info about the build inputs in the build record. - [8]
DVNWJXWW* Generic declaration of build products. - [9]
J5UVLXOK* Start of a basic Catalyst web interface. - [10]
WYN733ST* Store build duration, handle cached builds. - [11]
FDE3BJAP* Refactoring. - [12]
GWCV3TQV* BuildInputs table: link to dependencies, include store paths. - [13]
VCOSLZRP - [14]
ZEHSSVFG - [15]
M552HLIA* Support variant builds. - [16]
7LKUAIGC - [17]
X27GNHDV* Basic job info in the database. - [18]
K5BEBWKM - [*]
ELCI5T2A* Show the latest build for each job.
Change contents
- edit in src/HydraFrontend/lib/HydraFrontend/Controller/Root.pm at line 32
$c->stash->{jobs} = [$c->model('DB::Jobs')->all]; - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Buildlogs.pm at line 24
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:xvWlrugDQD11vH+7f91K0A# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-10 10:30:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:pt0CJFX1pP9Z2TjqrTjTkw - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Buildproducts.pm at line 24
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:SMsT6htcybeWNHhv82+ilA# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-10 10:30:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:3NKUaF4u4H6ZmIRCeva8yA - edit in src/HydraFrontend/lib/HydraFrontend/Schema/Builds.pm at line 41
__PACKAGE__->belongs_to("project","HydraFrontend::Schema::Projects",{ name => "project" },);__PACKAGE__->belongs_to("jobset","HydraFrontend::Schema::Jobsets",{ name => "jobset", project => "project" },); - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Builds.pm at line 68
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:nfVureYYGM1V/NHroQA5Tw# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-10 10:30:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:8s5Z03ugocOVb021EwGVag - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Inputs.pm at line 38
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:3PAsUD+79bZk4vGeSyyACg# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-10 10:30:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:AzV6B/6CCrroPlO32n2p3A - edit in src/HydraFrontend/lib/HydraFrontend/Schema/Jobs.pm at line 16
{ data_type => "integer", is_nullable => 0, size => undef },"busy", - edit in src/HydraFrontend/lib/HydraFrontend/Schema/Jobs.pm at line 19
"locker",{ data_type => "text", is_nullable => 0, size => undef }, - edit in src/HydraFrontend/lib/HydraFrontend/Schema/Jobs.pm at line 37
__PACKAGE__->belongs_to("project","HydraFrontend::Schema::Projects",{ name => "project" },);__PACKAGE__->belongs_to("jobset","HydraFrontend::Schema::Jobsets",{ name => "jobset", project => "project" },); - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Jobs.pm at line 49
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:T8O0XTTOZXapWpJbzjKLTw# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-10 10:30:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:GubRofAmJ/sbJbjyV3aKSQ - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Jobsetinputalts.pm at line 9
__PACKAGE__->table("jobSetInputAlts");__PACKAGE__->table("jobsetInputAlts"); - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Jobsetinputalts.pm at line 36
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:DzEHCDlnponciGmGASknlg# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-10 10:30:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ZjjWLbAWExxOqsDz41A3KA - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Jobsetinputs.pm at line 9
__PACKAGE__->table("jobSetInputs");__PACKAGE__->table("jobsetInputs"); - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Jobsetinputs.pm at line 46
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Lm2oIWEUSHFICYMX2qmTfw# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-10 10:30:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:6hzbFjPWQ872UxFhhpxjFg - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Jobsets.pm at line 9
__PACKAGE__->table("jobSets");__PACKAGE__->table("jobsets"); - edit in src/HydraFrontend/lib/HydraFrontend/Schema/Jobsets.pm at line 23
__PACKAGE__->has_many("builds","HydraFrontend::Schema::Builds",{"foreign.jobset" => "self.name","foreign.project" => "self.project",},); - edit in src/HydraFrontend/lib/HydraFrontend/Schema/Jobsets.pm at line 44
{"foreign.jobset" => "self.name","foreign.project" => "self.project",},);__PACKAGE__->has_many("jobs","HydraFrontend::Schema::Jobs", - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Jobsets.pm at line 59
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:EmATMMeNmMd2AI8lVzcLFA# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-10 10:30:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:oRV4yw0DWG5PI0agcM7QHA - edit in src/HydraFrontend/lib/HydraFrontend/Schema/Projects.pm at line 16
"builds","HydraFrontend::Schema::Builds",{ "foreign.project" => "self.name" },);__PACKAGE__->has_many( - edit in src/HydraFrontend/lib/HydraFrontend/Schema/Projects.pm at line 23
{ "foreign.project" => "self.name" },);__PACKAGE__->has_many("jobs","HydraFrontend::Schema::Jobs", - replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Projects.pm at line 32
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ZifQocKoHOPRrJQSPggZ+w# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-10 10:30:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9SeEXSEOH1ocrdkoa7fx5Q - replacement in src/HydraFrontend/lib/HydraFrontend/Schema.pm at line 11
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:G17vptu+2rEUXbsqVtoXzQ# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-10 10:30:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:xP97YDrN7Bm2B/BlbQJ7fQ - replacement in src/HydraFrontend/root/build.tt at line 4
<h1>Job <tt>[% build.project %]:[% build.attrname %]</tt> build [% id %]</h1><h1>Job <tt>[% build.project.name %]:[% build.attrname %]</tt> build [% id %]</h1> - replacement in src/HydraFrontend/root/build.tt at line 16
<td><a href="[% c.uri_for('/project' build.project) %]"><tt>[% build.project %]</tt></a></td><td><a href="[% c.uri_for('/project' build.project.name) %]"><tt>[% build.project.name %]</tt></a></td> - replacement in src/HydraFrontend/root/build.tt at line 20
<td><tt>[% build.jobset %]</tt></td><td><tt>[% build.jobset.name %]</tt></td> - replacement in src/HydraFrontend/root/build.tt at line 90
<a href="[% c.uri_for('/build' input.dependency.id) %]">Job <tt>[% input.dependency.project %]:[% input.dependency.attrname %]</tt> build [% input.dependency.id %]</a><a href="[% c.uri_for('/build' input.dependency.id) %]">Job <tt>[% input.dependency.project.name %]:[% input.dependency.attrname %]</tt> build [% input.dependency.id %]</a> - replacement in src/HydraFrontend/root/build.tt at line 156
<td><a href="[% c.uri_for('/build' input.build.id) %]">Job <tt>[% input.build.project %]:[% input.build.attrname %]</tt> build [% input.build.id %]</a></td><td><a href="[% c.uri_for('/build' input.build.id) %]">Job <tt>[% input.build.project.name %]:[% input.build.attrname %]</tt> build [% input.build.id %]</a></td> - edit in src/HydraFrontend/root/index.tt at line 2[3.10761][20.400]
[% USE date %]<h1>Queue</h1> - edit in src/HydraFrontend/root/index.tt at line 6[20.401][20.401]
<table class="tablesorter"><thead><tr><th>Priority</th><th>Project</th><th>Job</th><th>System</th><th>Timestamp</th><th>Description</th></tr></thead><tbody>[% FOREACH job IN jobs -%]<tr><td>[% job.priority %]</td><td><tt>[% job.project.name %]</tt></td><td><tt>[% job.jobset.name %]</tt></td><td><tt>[% job.system %]</tt></td><td>[% date.format(job.timestamp, '%Y-%m-%d %H:%M:%S') %]</td><td>[% job.description %]</td></tr>[% END -%]</tbody></table> - replacement in src/HydraFrontend/root/short-build-info.tt at line 12
<td><a href="[% c.uri_for('/project' build.project) %]"><tt>[% build.project %]</tt></a></td><td><a href="[% c.uri_for('/job' build.project build.attrname) %]"><tt>[% build.attrname %]</tt></a></td><td><a href="[% c.uri_for('/project' build.project.name) %]"><tt>[% build.project.name %]</tt></a></td><td><a href="[% c.uri_for('/job' build.project.name build.attrname) %]"><tt>[% build.attrname %]</tt></a></td> - replacement in src/hydra.sql at line 7
jobSet text not null, -- !!! foreign keyjobset text not null, -- !!! foreign key - replacement in src/hydra.sql at line 19
system text not nullsystem text not null,foreign key (project) references projects(name), -- ignored by sqliteforeign key (project, jobset) references jobsets(project, name) -- ignored by sqlite - replacement in src/hydra.sql at line 34
-- Copied from the jobSetInputs from which the build was created.-- Copied from the jobsetinputs from which the build was created. - replacement in src/hydra.sql at line 89
create table jobSets (create table jobsets ( - replacement in src/hydra.sql at line 93
nixExprInput text not null, -- name of the jobSetInput containing the Nix expressionnixExprInput text not null, -- name of the jobsetInput containing the Nix expression - replacement in src/hydra.sql at line 97
foreign key (project, name, nixExprInput) references jobSetInputs(project, job, name)foreign key (project, name, nixExprInput) references jobsetInputs(project, job, name) - replacement in src/hydra.sql at line 101
create table jobSetInputs (create table jobsetInputs ( - replacement in src/hydra.sql at line 107
foreign key (project, jobset) references jobSets(project, name) on delete cascade -- ignored by sqliteforeign key (project, jobset) references jobsets(project, name) on delete cascade -- ignored by sqlite - replacement in src/hydra.sql at line 111
create table jobSetInputAlts (create table jobsetInputAlts ( - replacement in src/hydra.sql at line 124
foreign key (project, jobset, input) references jobSetInputs(project, jobset, name) on delete cascade -- ignored by sqliteforeign key (project, jobset, input) references jobsetInputs(project, jobset, name) on delete cascade -- ignored by sqlite - edit in src/hydra.sql at line 133
busy integer not null, -- true means someone is building this job nowlocker text not null, -- !!! hostname/pid of the process building this job? - replacement in src/hydra.sql at line 139
jobSet text not null, -- !!! foreign keyjobset text not null, -- !!! foreign key - replacement in src/hydra.sql at line 146
system text not nullsystem text not null,foreign key (project) references projects(name), -- ignored by sqliteforeign key (project, jobset) references jobsets(project, name) -- ignored by sqlite - replacement in src/scheduler.pl at line 19
my ($project, $jobset, $jobName, $drvPath, $outPath, $usedInputs, $system) = @_;my ($project, $jobset, $jobName, $description, $drvPath, $outPath, $usedInputs, $system) = @_; - edit in src/scheduler.pl at line 61
, description => $description - replacement in src/scheduler.pl at line 179
my $info = XMLin($infoXml, KeyAttr => ['attrPath', 'name'])my $info = XMLin($infoXml, ForceArray => 1, KeyAttr => ['attrPath', 'name']) - replacement in src/scheduler.pl at line 182
my $job = $info->{item};die if !defined $job || $job->{attrPath} ne $jobName;my $job = $info->{item}->{$jobName};die if !defined $job; - replacement in src/scheduler.pl at line 189
buildJob($project, $jobset, $jobName, $drvPath, $outPath, $inputInfo, $job->{system});buildJob($project, $jobset, $jobName, $description, $drvPath, $outPath, $inputInfo, $job->{system});