[?]
Nov 10, 2008, 10:18 AM
BVOPAMLSAU4UTV3DUX53OYDMXP2SETAQVUKAYE2OTCVVN4RD7LLQC

Dependencies

  • [2] 67P45PY4
  • [3] X27GNHDV * Basic job info in the database.
  • [4] J5UVLXOK * Start of a basic Catalyst web interface.
  • [5] M552HLIA * Support variant builds.
  • [6] UMBR3VG3
  • [7] VCOSLZRP
  • [8] UVMFS73T * Some jQuery / CSS hackery.
  • [9] FDE3BJAP * Refactoring.
  • [10] 5QJP6JHS * Get dependencies from the database.
  • [11] DVNWJXWW * Generic declaration of build products.
  • [12] WYN733ST * Store build duration, handle cached builds.
  • [13] N22GPKYT * Put info about logs / build products in the DB.
  • [14] PHX2HIVG * Store info about the build inputs in the build record.
  • [15] 7LKUAIGC
  • [16] GWCV3TQV * BuildInputs table: link to dependencies, include store paths.
  • [17] K5BEBWKM
  • [18] ZEHSSVFG
  • [*] ELCI5T2A * Show the latest build for each job.

Change contents

  • edit in src/HydraFrontend/lib/HydraFrontend/Controller/Root.pm at line 32
    [3.1449]
    [2.0]
    $c->stash->{jobs} = [$c->model('DB::Jobs')->all];
  • replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Buildlogs.pm at line 24
    [3.3992][2.213:355]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:xvWlrugDQD11vH+7f91K0A
    [3.3992]
    [3.4134]
    # 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
    [3.4922][2.502:644]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:SMsT6htcybeWNHhv82+ilA
    [3.4922]
    [3.5064]
    # 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
    [3.5950]
    [3.5950]
    __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
    [3.6194][2.803:945]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:nfVureYYGM1V/NHroQA5Tw
    [3.6194]
    [3.0]
    # 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
    [3.782][2.1501:1643]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:3PAsUD+79bZk4vGeSyyACg
    [3.782]
    [3.924]
    # 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
    [2.2088]
    [2.2088]
    { data_type => "integer", is_nullable => 0, size => undef },
    "busy",
  • edit in src/HydraFrontend/lib/HydraFrontend/Schema/Jobs.pm at line 19
    [2.2151]
    [2.2151]
    "locker",
    { data_type => "text", is_nullable => 0, size => undef },
  • edit in src/HydraFrontend/lib/HydraFrontend/Schema/Jobs.pm at line 37
    [2.2704]
    [2.2704]
    __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
    [2.2706][2.2706:2848]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:T8O0XTTOZXapWpJbzjKLTw
    [2.2706]
    [2.2848]
    # 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
    [3.965][3.965:1004]()
    __PACKAGE__->table("jobSetInputAlts");
    [3.965]
    [3.1004]
    __PACKAGE__->table("jobsetInputAlts");
  • replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Jobsetinputalts.pm at line 36
    [3.1831][2.2976:3118]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:DzEHCDlnponciGmGASknlg
    [3.1831]
    [3.1973]
    # 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
    [3.727][3.727:763]()
    __PACKAGE__->table("jobSetInputs");
    [3.727]
    [3.763]
    __PACKAGE__->table("jobsetInputs");
  • replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Jobsetinputs.pm at line 46
    [3.1681][2.3119:3261]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Lm2oIWEUSHFICYMX2qmTfw
    [3.1681]
    [3.1823]
    # 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
    [3.2092][3.2092:2123]()
    __PACKAGE__->table("jobSets");
    [3.2092]
    [3.2123]
    __PACKAGE__->table("jobsets");
  • edit in src/HydraFrontend/lib/HydraFrontend/Schema/Jobsets.pm at line 23
    [3.2576]
    [3.2576]
    __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
    [3.2914]
    [3.2594]
    {
    "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
    [3.2992][2.3262:3404]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:EmATMMeNmMd2AI8lVzcLFA
    [3.2992]
    [3.3134]
    # 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
    [3.3591]
    [3.3591]
    "builds",
    "HydraFrontend::Schema::Builds",
    { "foreign.project" => "self.name" },
    );
    __PACKAGE__->has_many(
  • edit in src/HydraFrontend/lib/HydraFrontend/Schema/Projects.pm at line 23
    [3.3640]
    [3.3640]
    { "foreign.project" => "self.name" },
    );
    __PACKAGE__->has_many(
    "jobs",
    "HydraFrontend::Schema::Jobs",
  • replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Projects.pm at line 32
    [3.3685][2.3405:3547]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ZifQocKoHOPRrJQSPggZ+w
    [3.3685]
    [3.3827]
    # 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
    [3.6498][2.3548:3690]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-09 01:36:21
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:G17vptu+2rEUXbsqVtoXzQ
    [3.6498]
    [3.6640]
    # 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
    [3.7414][3.1291:1369]()
    <h1>Job <tt>[% build.project %]:[% build.attrname %]</tt> build [% id %]</h1>
    [3.7414]
    [3.2182]
    <h1>Job <tt>[% build.project.name %]:[% build.attrname %]</tt> build [% id %]</h1>
  • replacement in src/HydraFrontend/root/build.tt at line 16
    [3.451][3.518:616]()
    <td><a href="[% c.uri_for('/project' build.project) %]"><tt>[% build.project %]</tt></a></td>
    [3.451]
    [3.493]
    <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
    [3.529][3.529:570]()
    <td><tt>[% build.jobset %]</tt></td>
    [3.529]
    [3.7527]
    <td><tt>[% build.jobset.name %]</tt></td>
  • replacement in src/HydraFrontend/root/build.tt at line 90
    [3.1583][2.4003:4183]()
    <a href="[% c.uri_for('/build' input.dependency.id) %]">Job <tt>[% input.dependency.project %]:[% input.dependency.attrname %]</tt> build [% input.dependency.id %]</a>
    [3.1583]
    [3.3182]
    <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
    [3.417][2.4257:4422]()
    <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>
    [3.417]
    [3.590]
    <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
    [3.2345][3.914:1010](),[3.1010][3.859:967]()
    <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>
    [3.2345]
    [3.3752]
    <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
    [3.4302][3.4302:4354]()
    jobSet text not null, -- !!! foreign key
    [3.4302]
    [3.4354]
    jobset text not null, -- !!! foreign key
  • replacement in src/hydra.sql at line 19
    [3.3819][3.3819:3851]()
    system text not null
    [3.3819]
    [3.2526]
    system text not null,
    foreign key (project) references projects(name), -- ignored by sqlite
    foreign key (project, jobset) references jobsets(project, name) -- ignored by sqlite
  • replacement in src/hydra.sql at line 34
    [3.1816][3.2594:2664](),[3.2594][3.2594:2664]()
    -- Copied from the jobSetInputs from which the build was created.
    [3.1816]
    [3.2664]
    -- Copied from the jobsetinputs from which the build was created.
  • replacement in src/hydra.sql at line 89
    [3.4706][3.4706:4729]()
    create table jobSets (
    [3.4706]
    [3.4729]
    create table jobsets (
  • replacement in src/hydra.sql at line 93
    [3.4819][3.4819:4909]()
    nixExprInput text not null, -- name of the jobSetInput containing the Nix expression
    [3.4819]
    [3.4909]
    nixExprInput text not null, -- name of the jobsetInput containing the Nix expression
  • replacement in src/hydra.sql at line 97
    [3.5110][3.5110:5202]()
    foreign key (project, name, nixExprInput) references jobSetInputs(project, job, name)
    [3.5110]
    [3.5202]
    foreign key (project, name, nixExprInput) references jobsetInputs(project, job, name)
  • replacement in src/hydra.sql at line 101
    [3.5207][3.5207:5235]()
    create table jobSetInputs (
    [3.5207]
    [3.5235]
    create table jobsetInputs (
  • replacement in src/hydra.sql at line 107
    [3.4054][3.4054:4163]()
    foreign key (project, jobset) references jobSets(project, name) on delete cascade -- ignored by sqlite
    [3.4054]
    [3.4163]
    foreign key (project, jobset) references jobsets(project, name) on delete cascade -- ignored by sqlite
  • replacement in src/hydra.sql at line 111
    [3.4168][3.4168:4199]()
    create table jobSetInputAlts (
    [3.4168]
    [3.4199]
    create table jobsetInputAlts (
  • replacement in src/hydra.sql at line 124
    [3.4536][3.4536:4665]()
    foreign key (project, jobset, input) references jobSetInputs(project, jobset, name) on delete cascade -- ignored by sqlite
    [3.4536]
    [3.4159]
    foreign key (project, jobset, input) references jobsetInputs(project, jobset, name) on delete cascade -- ignored by sqlite
  • edit in src/hydra.sql at line 133
    [2.5793]
    [3.4340]
    busy integer not null, -- true means someone is building this job now
    locker text not null, -- !!! hostname/pid of the process building this job?
  • replacement in src/hydra.sql at line 139
    [3.4427][3.4427:4479]()
    jobSet text not null, -- !!! foreign key
    [3.4427]
    [3.4479]
    jobset text not null, -- !!! foreign key
  • replacement in src/hydra.sql at line 146
    [3.4636][3.4636:4668]()
    system text not null
    [3.4636]
    [3.5642]
    system text not null,
    foreign key (project) references projects(name), -- ignored by sqlite
    foreign key (project, jobset) references jobsets(project, name) -- ignored by sqlite
  • replacement in src/scheduler.pl at line 19
    [3.5777][3.4666:4751]()
    my ($project, $jobset, $jobName, $drvPath, $outPath, $usedInputs, $system) = @_;
    [3.5777]
    [3.1492]
    my ($project, $jobset, $jobName, $description, $drvPath, $outPath, $usedInputs, $system) = @_;
  • edit in src/scheduler.pl at line 61
    [3.6366]
    [3.6366]
    , description => $description
  • replacement in src/scheduler.pl at line 179
    [3.699][3.699:763]()
    my $info = XMLin($infoXml, KeyAttr => ['attrPath', 'name'])
    [3.699]
    [3.763]
    my $info = XMLin($infoXml, ForceArray => 1, KeyAttr => ['attrPath', 'name'])
  • replacement in src/scheduler.pl at line 182
    [3.806][3.806:893]()
    my $job = $info->{item};
    die if !defined $job || $job->{attrPath} ne $jobName;
    [3.806]
    [3.893]
    my $job = $info->{item}->{$jobName};
    die if !defined $job;
  • replacement in src/scheduler.pl at line 189
    [3.1085][3.1085:1176]()
    buildJob($project, $jobset, $jobName, $drvPath, $outPath, $inputInfo, $job->{system});
    [3.1085]
    [3.1176]
    buildJob($project, $jobset, $jobName, $description, $drvPath, $outPath, $inputInfo, $job->{system});