Don't maintain BuildInputs anymore

[?]
Sep 6, 2014, 5:06 PM
QW7GTTXIBDQOXAYDJZHFD4R75ZSVTOZEEEOE4LZTMJRMAQP73CLAC

Dependencies

  • [2] K3HODXGH Check all inputs for blame but only email selected inputs
  • [3] QEC5HR4R Always record inputs passed through -I in the BuildInputs table
  • [4] KHYZVPBR Propagate checkresponsible from JobsetInput to BuildInput
  • [5] A22P7HCO hydra: at evaluation, check if path is already built, and mark as built in stead of adding to the queue.
  • [6] 3XTHEUMP * Implemented the clone feature.
  • [7] MOX7XJ2E Merge the BuildSchedulingInfo table into the Builds table
  • [8] RXVJFQ5A Evaluator cleanups
  • [9] INNOEHO6 * Fix getBuildLog for bzip2'd files.
  • [10] OSVLMLCQ hydra: factored out build restart and
  • [11] VHV6GI4L Add a jobset eval action to restart all aborted/cancelled builds
  • [*] OOQ2D3KC * Refactoring: move fetchInput out of hydra_scheduler into a separate

Change contents

  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 598
    [3.1730][3.1252:1262](),[3.1252][3.1252:1262](),[3.1262][3.6173:6174](),[3.6173][3.6173:6174](),[3.6174][3.0:42](),[3.42][3.6174:6250](),[3.6174][3.6174:6250](),[3.6250][3.43:351](),[3.351][3.727:781](),[3.781][3.406:485](),[3.406][3.406:485](),[3.485][3.6250:6419](),[3.6250][3.6250:6419]()
    }
    # Record which inputs where used.
    my %inputs;
    $inputs{$jobset->nixexprinput} = $nixExprInput;
    foreach my $name (keys %{$inputInfo}) {
    # Unconditionally include all inputs that were included in
    # the Nix search path (through the -I flag). We currently
    # have no way to see which ones were actually used.
    $inputs{$name} = $inputInfo->{$name}->[0]
    if scalar @{$inputInfo->{$name}} == 1
    && defined $inputInfo->{$name}->[0]->{storePath};
    }
    foreach my $arg (@{$buildInfo->{arg}}) {
    $inputs{$arg->{name}} = $inputInfo->{$arg->{name}}->[$arg->{altnr}]
    || die "invalid input";
  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 599
    [3.6429][3.6429:6764](),[3.6764][2.258:323](),[3.284][3.6764:6965](),[2.323][3.6764:6965](),[3.6764][3.6764:6965]()
    foreach my $name (keys %inputs) {
    my $input = $inputs{$name};
    $build->buildinputs_builds->create(
    { name => $name
    , type => $input->{type}
    , uri => $input->{uri}
    , revision => $input->{revision}
    , value => $input->{value}
    , emailresponsible => $input->{emailresponsible}
    , dependency => $input->{id}
    , path => $input->{storePath} || "" # !!! temporary hack
    , sha256hash => $input->{sha256hash}
    });
    }