hydra-update-gc-roots: Keep derivations of failed builds

[?]
Apr 8, 2014, 3:54 PM
SLBM7H4QGAX5J25YXYZL7APK5Y3TSB4KSWCEJPF3X3KF7UG7Y3GQC

Dependencies

  • [2] ACFFJUAN hydra-update-gc-roots: Keep more evals
  • [3] 4X6NS66Q * Keep the most recent builds for each job.
  • [4] KNAVU6BH * Do not garbage collect releases.
  • [5] WZ3AEJ67 * hydra_update_gc_roots.pl registers build outputs that should be kept
  • [6] I3X25POI hydra-update-gc-roots: Keep the most recent evaluations
  • [7] 3E6IP3R3 * Add the name of the jobset to ReleaseSetJobs, otherwise we can't
  • [8] AEFNBIIW * Merge the GC branch.
  • [9] MUBBWJPA Keep builds that failed with output
  • [10] IN272KZW * Automatically keep all builds in the latest successful release in
  • [11] NEWDDAOF * Allow users to change the value of a build's "keep" flag, which
  • [12] HLYVEJX7 * Keep the 3 most recent builds for every platform for every job.
  • [13] SZPBGW2N Fix a race condition in hydra-update-gc-roots
  • [14] PMNWRTGJ Add multiple output support
  • [15] KJQWSRCC Speed up hydra-update-gc-roots

Change contents

  • replacement in src/script/hydra-update-gc-roots at line 24
    [3.1073][3.17994:18092]()
    my @columns = ( "id", "project", "jobset", "job", "system", "finished", "drvpath", "timestamp" );
    [3.1073]
    [3.1073]
    my @columns = ( "id", "project", "jobset", "job", "system", "finished", "drvpath", "timestamp", "buildstatus" );
  • replacement in src/script/hydra-update-gc-roots at line 27
    [3.155][3.155:177]()
    my ($build) = @_;
    [3.155]
    [3.153]
    my ($build, $keepFailedDrvs) = @_;
  • replacement in src/script/hydra-update-gc-roots at line 32
    [3.106][3.18124:18365]()
    foreach my $out ($build->buildoutputs->all) {
    if (isValidPath($out->path)) {
    addRoot $out->path;
    } else {
    print STDERR " warning: output ", $out->path, " has disappeared\n" if $build->finished;
    [3.106]
    [3.18365]
    if ($build->finished && ($build->buildstatus == 0 || $build->buildstatus == 6)) {
    foreach my $out ($build->buildoutputs->all) {
    if (isValidPath($out->path)) {
    addRoot $out->path;
    } else {
    print STDERR " warning: output ", $out->path, " has disappeared\n" if $build->finished;
    }
  • replacement in src/script/hydra-update-gc-roots at line 41
    [3.525][3.525:554]()
    if (!$build->finished) {
    [3.525]
    [3.18376]
    if (!$build->finished || ($keepFailedDrvs && $build->buildstatus != 0)) {
  • replacement in src/script/hydra-update-gc-roots at line 63
    [2.116][2.116:219]()
    keepBuild $_ foreach $db->resultset('Builds')->search({ finished => 0 }, { columns => [ @columns ] });
    [2.116]
    [2.219]
    keepBuild($_, 0) foreach $db->resultset('Builds')->search({ finished => 0 }, { columns => [ @columns ] });
  • replacement in src/script/hydra-update-gc-roots at line 68
    [3.824][3.824:887]()
    keepBuild $_ foreach $db->resultset('Builds')->search_literal(
    [3.824]
    [3.18577]
    keepBuild($_, 0) foreach $db->resultset('Builds')->search_literal(
  • replacement in src/script/hydra-update-gc-roots at line 77
    [3.1269][3.1269:1305]()
    keepBuild $_ foreach @buildsToKeep;
    [3.1269]
    [3.1148]
    keepBuild($_, 0) foreach @buildsToKeep;
  • replacement in src/script/hydra-update-gc-roots at line 112
    [3.798][3.0:116](),[3.116][2.1041:1183]()
    keepBuild $_ foreach $jobset->builds->search(
    { finished => 1, buildStatus => { -in => [0, 6] }
    , id => { -in => $db->resultset('JobsetEvalMembers')->search({ eval => { -in => [@evals] } }, { select => "build" })->as_query }
    [3.798]
    [3.146]
    keepBuild($_, 1) foreach $jobset->builds->search(
    { id => { -in => $db->resultset('JobsetEvalMembers')->search({ eval => { -in => [@evals] } }, { select => "build" })->as_query }