* Store info about the build inputs in the build record.

[?]
Nov 5, 2008, 6:23 AM
PHX2HIVGHHKCAX6VNN2WXD4LRGSA74KQMJCCTMHK7HS6JPELVECAC

Dependencies

  • [2] T7AHGVGM
  • [3] 5QJP6JHS * Get dependencies from the database.
  • [4] X27GNHDV * Basic job info in the database.
  • [5] N22GPKYT * Put info about logs / build products in the DB.
  • [6] J5UVLXOK * Start of a basic Catalyst web interface.
  • [7] WYN733ST * Store build duration, handle cached builds.

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 regeneration
    1;
  • replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Buildlogs.pm at line 28
    [4.3992][4.0:142]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-04 14:45:23
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:kck2qlNZVLFUnevNPSBVKw
    [4.3992]
    [4.4134]
    # 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
    [4.4922][4.143:285]()
    # 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
    [4.4922]
    [4.5064]
    # 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
    [4.6192]
    [4.6192]
    __PACKAGE__->has_many(
    "buildinputs",
    "HydraFrontend::Schema::Buildinputs",
    { "foreign.buildid" => "self.id" },
    );
  • replacement in src/HydraFrontend/lib/HydraFrontend/Schema/Builds.pm at line 56
    [4.6194][4.446:588]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-04 14:45:23
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Odp6qymLlNXbsD7VOQ7PAQ
    [4.6194]
    [4.6336]
    # 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
    [4.1681][4.1681:1823]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-04 14:45:23
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:pzKFsX3b5wTNZvo8t3WTDg
    [4.1681]
    [4.1823]
    # 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
    [4.2992][4.2992:3134]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-04 14:45:23
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:pEIAO9lDM+lMKLCLGWRdXg
    [4.2992]
    [4.3134]
    # 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
    [4.3685][4.3685:3827]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-04 14:45:23
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cpO0BGfChpnpm7KBKkSUjw
    [4.3685]
    [4.3827]
    # 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
    [4.6498][4.3959:4101]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-04 14:45:23
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:UAjA2VmMoOSjiHk0NUzLfQ
    [4.6498]
    [4.6640]
    # 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
    [4.7438]
    [4.7438]
  • edit in src/HydraFrontend/root/build.tt at line 55
    [4.7983]
    [4.7983]
    <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
    [4.2170]
    [4.360]
    );
    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
    [4.1169]
    [4.1169]
    delete from buildInputs where buildId = old.id;
  • replacement in src/scheduler.pl at line 19
    [4.5777][4.5777:5840]()
    my ($project, $jobset, $jobName, $drvPath, $outPath) = @_;
    [4.5777]
    [4.1492]
    my ($project, $jobset, $jobName, $drvPath, $outPath, $usedInputs) = @_;
  • edit in src/scheduler.pl at line 60
    [4.6621]
    [2.54]
    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
    [4.7002][4.7002:7065]()
    $$inputInfo{$input->name} = {storePath => $storePath};
    [4.7002]
    [4.7065]
    $$inputInfo{$input->name} = {orig => $input, storePath => $storePath};
  • edit in src/scheduler.pl at line 164
    [4.8294]
    [4.8294]
    my $usedInputs = {};
  • edit in src/scheduler.pl at line 170
    [4.8469]
    [4.8469]
  • edit in src/scheduler.pl at line 173
    [4.8609]
    [3.153]
  • edit in src/scheduler.pl at line 175
    [3.184]
    [3.184]
  • replacement in src/scheduler.pl at line 179
    [3.366][3.366:391]()
    } else {
    [3.366]
    [3.391]
    $$usedInputs{$argName} = $inputInfo->{$argName};
    }
    else {
  • edit in src/scheduler.pl at line 186
    [3.631]
    [3.631]
  • edit in src/scheduler.pl at line 201
    [3.1364]
    [3.1364]
  • edit in src/scheduler.pl at line 207
    [4.8866][3.1445:1475]()
    print "$extraArgs\n";
  • replacement in src/scheduler.pl at line 225
    [4.9807][4.9807:9874]()
    buildJob($project, $jobset, $jobName, $drvPath, $outPath);
    [4.9807]
    [4.9874]
    buildJob($project, $jobset, $jobName, $drvPath, $outPath, $usedInputs);