* Keep the 3 most recent builds for every platform for every job.

[?]
Feb 15, 2010, 10:21 AM
HLYVEJX74DMSDR7VTGSLZCLUKQDZFDIK4FFDV4S27UPBN5JH4KDQC

Dependencies

  • [2] KNAVU6BH * Do not garbage collect releases.
  • [3] IN272KZW * Automatically keep all builds in the latest successful release in
  • [4] NEWDDAOF * Allow users to change the value of a build's "keep" flag, which
  • [5] 3E6IP3R3 * Add the name of the jobset to ReleaseSetJobs, otherwise we can't
  • [6] WZ3AEJ67 * hydra_update_gc_roots.pl registers build outputs that should be kept
  • [7] 4X6NS66Q * Keep the most recent builds for each job.

Change contents

  • replacement in src/script/hydra_update_gc_roots.pl at line 25
    [2.55][3.223:303](),[3.1658][3.223:303](),[3.223][3.223:303]()
    strftime("%Y-%m-%d %H:%M:%S", localtime($build->timestamp)), ")\n";
    [2.55]
    [3.303]
    $build->system, "; ",
    strftime("%Y-%m-%d %H:%M:%S", localtime($build->timestamp)), ")\n";
  • replacement in src/script/hydra_update_gc_roots.pl at line 49
    [3.1946][3.1946:2023](),[3.2023][3.1008:1221](),[3.1008][3.1008:1221](),[3.1221][3.3842:3895]()
    my @recentBuilds = $job->builds->search(
    { finished => 1
    , buildStatus => 0 # == success
    },
    { join => 'resultInfo'
    , order_by => 'timestamp DESC'
    , rows => 3 # !!! should make this configurable
    });
    keepBuild $_ foreach @recentBuilds;
    [3.1946]
    [3.3896]
    my @systems = $job->builds->search({ }, { select => ["system"], distinct => 1 })->all;
    foreach my $system (@systems) {
    my @recentBuilds = $job->builds->search(
    { finished => 1
    , buildStatus => 0 # == success
    , system => $system->system
    },
    { join => 'resultInfo'
    , order_by => 'id DESC'
    , rows => 3 # !!! should make this configurable
    });
    keepBuild $_ foreach @recentBuilds;
    }