* Support redirecting to some job of a release. For instance, this

[?]
Apr 8, 2009, 9:03 AM
H3DLVNCJYUJDCILB5LEQDMQDHPRS7ZU66EW3FWXDRBX6WSBUXJTAC

Dependencies

  • [2] XJFHFZCA * Provide some redirects to build products by type so that we can for
  • [3] WZ3AEJ67 * hydra_update_gc_roots.pl registers build outputs that should be kept
  • [4] J5UVLXOK * Start of a basic Catalyst web interface.
  • [5] SMM4HQTP * Put actions related to builds under /build (e.g. /log/<buildid>
  • [6] 7Z3YOKCV * PROCESS -> INCLUDE in most cases. INCLUDE does proper scoping of
  • [7] 5IK6NYKF
  • [8] ODNCGFQ5 * Improved the navigation bar: don't include all projects (since that
  • [9] 5NO7NCKT * Refactoring.
  • [10] G6HJY2V4
  • [11] FHF6IZJQ * Basic release management: releases are now dynamically computed as
  • [12] DVNWJXWW * Generic declaration of build products.
  • [13] IN272KZW * Automatically keep all builds in the latest successful release in
  • [14] JFZNAYJX * Showing releases.
  • [15] ZNFDFJHG * Provide a redirect to the latest successful release in a release set
  • [*] 2AIIYGI5 * Show job status and all builds for a project.

Change contents

  • replacement in src/lib/Hydra/Controller/Root.pm at line 200
    [3.2144][3.1626:1694]()
    my ($self, $c, $projectName, $releaseSetName, $releaseId) = @_;
    [3.2144]
    [3.2209]
    my ($self, $c, $projectName, $releaseSetName, $releaseId, @args) = @_;
  • replacement in src/lib/Hydra/Controller/Root.pm at line 209
    [3.2823][3.958:1061](),[3.958][3.958:1061]()
    return $c->res->redirect($c->uri_for("/release", $projectName, $releaseSetName, $latest->id));
    [3.2823]
    [3.1061]
    return $c->res->redirect($c->uri_for("/release", $projectName, $releaseSetName, $latest->id, @args));
  • replacement in src/lib/Hydra/Controller/Root.pm at line 211
    [3.1067][3.1067:1072]()
    [3.1067]
    [3.2346]
  • edit in src/lib/Hydra/Controller/Root.pm at line 221
    [3.600]
    [17.821]
    # Provide a redirect to the specified job of this release. !!!
    # This isn't uniquely defined if there are multiple jobs with the
    # same name (e.g. builds for different platforms). However, this
    # mechanism is primarily to allow linking to resources of which
    # there is only one build, such as the manual of the latest
    # release.
    if (scalar @args != 0) {
    my $jobName = shift @args;
    (my $build, my @others) = grep { $_->{job}->job eq $jobName } @{$c->stash->{release}->{jobs}};
    notFound($c, "Release doesn't have a job named `$jobName'")
    unless defined $build;
    error($c, "Job `$jobName' isn't unique.") if @others;
    return $c->res->redirect($c->uri_for($c->controller('Build')->action_for('view_build'),
    [$build->{build}->id], @args));
    }
  • replacement in src/root/build.tt at line 311
    [3.8008][3.813:845]()
    [% INCLUDE renderProductList %]
    [3.8008]
    [3.8013]
    [% INCLUDE renderProductList latestRoot=['/job' build.project.name build.jobset.name build.job.name 'latest'] %]
  • replacement in src/root/product-list.tt at line 111
    [3.5285][2.1649:1810]()
    [% uri2 = "${c.uri_for('/job' build.project.name build.jobset.name build.job.name 'latest' 'download-by-type' product.type product.subtype)}" %]
    [3.5285]
    [2.1810]
    [% uri2 = "${c.uri_for(latestRoot.join('/') 'download-by-type' product.type product.subtype)}" %]
  • replacement in src/root/product-list.tt at line 114
    [2.1894][2.1894:2036]()
    [% uri2 = "${c.uri_for('/job' build.project.name build.jobset.name build.job.name 'latest' 'download' product.productnr)}" %]
    [2.1894]
    [2.2036]
    [% uri2 = "${c.uri_for(latestRoot.join('/') 'download' product.productnr)}" %]
  • replacement in src/root/release.tt at line 20
    [3.7808][3.22736:22815]()
    [% IF j.build %]<a href="[% c.uri_for('/build' job.build.id) %]">[% END %]
    [3.7808]
    [3.22815]
    [% IF j.build %]<a href="[% c.uri_for('/build' j.build.id) %]">[% END %]
  • replacement in src/root/release.tt at line 29
    [3.8059][3.22969:23021]()
    [% INCLUDE renderProductList build=j.build %]
    [3.8059]
    [3.8113]
    [% INCLUDE renderProductList build=j.build latestRoot=['/release' project.name releaseSet.name 'latest' j.job.job] %]