* More renaming.

[?]
Oct 20, 2009, 12:35 PM
XBU2ODSPGKXUPOV5CFKOBOJLCIU5BMMZ5YVWFR7CP2G5QQZ5GAJAC

Dependencies

  • [2] 2BUX775I * More release -> view.
  • [3] IN272KZW * Automatically keep all builds in the latest successful release in
  • [4] 2GK5DOU7 * Downloading closures.
  • [5] AFTXA575 * $HYDRA_DATA environment variable.
  • [6] 4X6NS66Q * Keep the most recent builds for each job.
  • [7] BDSD2JLV * Speed up manifest generation.
  • [8] NI5BVF2V * In job inputs of type "build", allow the project and jobset names of
  • [9] LZO3C2KI * Hack around those SQLite timeouts: just retry the transaction.
  • [10] P5X4P6VK * Renaming "release sets" to "views" (not finished yet). Having
  • [11] NEWDDAOF * Allow users to change the value of a build's "keep" flag, which
  • [12] WZ3AEJ67 * hydra_update_gc_roots.pl registers build outputs that should be kept
  • [13] 2T42QGZD * Register builds as GC roots so they don't get deleted.
  • [14] A63IHCMX * Register GC roots properly.
  • [15] PPJN6SDP * paging for releases page

Change contents

  • replacement in src/lib/Hydra/Controller/View.pm at line 98
    [3.3503][3.3503:3674]()
    push @results, getRelease($_, $c->stash->{jobs}) foreach
    getPrimaryBuildsForReleaseSet($c->stash->{project}, $c->stash->{primaryJob}, $page, $resultsPerPage);
    [3.3503]
    [3.3674]
    push @results, getViewResult($_, $c->stash->{jobs}) foreach
    getPrimaryBuildsForView($c->stash->{project}, $c->stash->{primaryJob}, $page, $resultsPerPage);
  • replacement in src/lib/Hydra/Controller/View.pm at line 141
    [3.4380][3.4380:4425]()
    my $latest = getLatestSuccessfulRelease(
    [3.4380]
    [3.4425]
    my $latest = getLatestSuccessfulViewResult(
  • replacement in src/lib/Hydra/Controller/View.pm at line 161
    [3.5205][2.2266:2338]()
    $c->stash->{result} = getRelease($primaryBuild, $c->stash->{jobs});
    [3.5205]
    [3.5278]
    $c->stash->{result} = getViewResult($primaryBuild, $c->stash->{jobs});
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 13
    [3.706][3.594:629]()
    getPrimaryBuildsForReleaseSet
    [3.706]
    [3.629]
    getPrimaryBuildsForView
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 15
    [3.654][3.654:699]()
    getRelease getLatestSuccessfulRelease );
    [3.654]
    [3.486]
    getViewResult getLatestSuccessfulViewResult );
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 138
    [3.893][3.893:982]()
    $attr =~ /^([\w-]+)=([\w-]*)$/ or die "invalid attribute in release set: $attr";
    [3.893]
    [3.982]
    $attr =~ /^([\w-]+)=([\w-]*)$/ or die "invalid attribute in view: $attr";
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 152
    [3.723][3.723:1185]()
    my ($project, $primaryJob) = @_;
    my $allPrimaryBuilds = $project->builds->search(
    { jobset => $primaryJob->get_column('jobset'), job => $primaryJob->get_column('job'), finished => 1 },
    { join => 'resultInfo', order_by => "timestamp DESC"
    , '+select' => ["resultInfo.releasename", "resultInfo.buildstatus"]
    , '+as' => ["releasename", "buildstatus"]
    , where => \ attrsToSQL($primaryJob->attrs, "me.id")
    });
    return $allPrimaryBuilds;
    [3.723]
    [3.1185]
    my ($project, $primaryJob) = @_;
    my $allPrimaryBuilds = $project->builds->search(
    { jobset => $primaryJob->get_column('jobset'), job => $primaryJob->get_column('job'), finished => 1 },
    { join => 'resultInfo', order_by => "timestamp DESC"
    , '+select' => ["resultInfo.releasename", "resultInfo.buildstatus"]
    , '+as' => ["releasename", "buildstatus"]
    , where => \ attrsToSQL($primaryJob->attrs, "me.id")
    });
    return $allPrimaryBuilds;
  • edit in src/lib/Hydra/Helper/Nix.pm at line 162
    [3.1187]
    [3.1406]
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 166
    [3.1480][3.1216:1277]()
    return scalar(allPrimaryBuilds($project, $primaryJob)) ;
    [3.1480]
    [3.1277]
    return scalar(allPrimaryBuilds($project, $primaryJob));
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 169
    [3.1280][3.1280:1316]()
    sub getPrimaryBuildsForReleaseSet {
    [3.1280]
    [3.1316]
    sub getPrimaryBuildsForView {
  • edit in src/lib/Hydra/Helper/Nix.pm at line 183
    [3.1827]
    [3.1650]
  • edit in src/lib/Hydra/Helper/Nix.pm at line 204
    [3.2404]
    [3.2404]
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 226
    [3.2925][3.1828:1845](),[3.1828][3.1828:1845]()
    sub getRelease {
    [3.2925]
    [3.1845]
    sub getViewResult {
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 234
    [3.1936][3.1936:2003]()
    # The timestamp of the release is the highest timestamp of all
    [3.1936]
    [3.2003]
    # The timestamp of the view result is the highest timestamp of all
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 269
    [3.3398][3.3398:3431]()
    sub getLatestSuccessfulRelease {
    [3.3398]
    [3.3431]
    sub getLatestSuccessfulViewResult {
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 272
    [3.3491][3.3491:3637]()
    foreach my $build (getPrimaryBuildsForReleaseSet($project, $primaryJob)) {
    return $build if getRelease($build, $jobs)->{status} == 0;
    [3.3491]
    [3.3637]
    foreach my $build (getPrimaryBuildsForView($project, $primaryJob)) {
    return $build if getViewResult($build, $jobs)->{status} == 0;
  • replacement in src/script/hydra_update_gc_roots.pl at line 60
    [3.1222][3.3903:3947]()
    # Go over all releases in this project.
    [3.1222]
    [3.3947]
    # Go over all views in this project.
  • replacement in src/script/hydra_update_gc_roots.pl at line 62
    [3.3948][3.3948:4006](),[3.4006][3.2024:2141]()
    foreach my $releaseSet ($project->releasesets->all) {
    print STDERR "*** looking for builds to keep in release set ", $project->name, ":", $releaseSet->name, "\n";
    [3.3948]
    [3.4116]
    foreach my $view ($project->views->all) {
    print STDERR "*** looking for builds to keep in view ", $project->name, ":", $view->name, "\n";
  • replacement in src/script/hydra_update_gc_roots.pl at line 65
    [3.4117][3.4117:4254]()
    (my $primaryJob) = $releaseSet->releasesetjobs->search({isprimary => 1});
    my $jobs = [$releaseSet->releasesetjobs->all];
    [3.4117]
    [3.4254]
    (my $primaryJob) = $view->viewjobs->search({isprimary => 1});
    my $jobs = [$view->viewjobs->all];
  • replacement in src/script/hydra_update_gc_roots.pl at line 68
    [3.4255][3.4255:4409]()
    # Keep all builds belonging to the most recent successful release.
    my $latest = getLatestSuccessfulRelease($project, $primaryJob, $jobs);
    [3.4255]
    [3.4409]
    # Keep all builds belonging to the most recent successful view result.
    my $latest = getLatestSuccessfulViewResult($project, $primaryJob, $jobs);
  • replacement in src/script/hydra_update_gc_roots.pl at line 71
    [3.4440][3.2142:2267](),[3.2267][3.4558:4675](),[3.4558][3.4558:4675]()
    print STDERR "keeping latest successful release ", $latest->id, " (", $latest->get_column('releasename'), ")\n";
    my $release = getRelease($latest, $jobs);
    keepBuild $_->{build} foreach @{$release->{jobs}};
    [3.4440]
    [3.4675]
    print STDERR "keeping latest successful view result ", $latest->id, " (", $latest->get_column('releasename'), ")\n";
    my $result = getViewResult($latest, $jobs);
    keepBuild $_->{build} foreach @{$result->{jobs}};