* Support linking to the latest job in a view for a specific platform, e.g.

[?]
Mar 7, 2010, 11:24 AM
3Y7AFJSSMMEXQEHA6O4UXYXY3YPP7G55ZG72U2WXFMZKOZDEKGKAC

Dependencies

  • [2] OOQ2D3KC * Refactoring: move fetchInput out of hydra_scheduler into a separate
  • [3] OW6XV2YS * Allow a view result to be saved as a release.
  • [4] 4BXTDMSA * I should test before committing.
  • [5] ODNCGFQ5 * Improved the navigation bar: don't include all projects (since that
  • [6] 2BUX775I * More release -> view.
  • [7] CS7T2XFI
  • [8] FPK5LF53 * Put the project-related actions in a separate controller. Put the
  • [9] P5X4P6VK * Renaming "release sets" to "views" (not finished yet). Having
  • [10] AS2OXLRM * Editing releases.
  • [11] KZAP6QPO
  • [12] XBU2ODSP * More renaming.
  • [*] LBNVQXUB * Build the /build stuff in a separate controller.
  • [*] JFZNAYJX * Showing releases.

Change contents

  • replacement in src/lib/Hydra/Controller/View.pm at line 195
    [3.1175][5.2339:2702](),[5.5279][5.2339:2702]()
    # Provide a redirect to the specified job of this view result.
    # !!! 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
    # view result.
    [3.1175]
    [3.1176]
    # Provide a redirect to the specified job of this view result
    # through `http://.../view/$project/$viewName/$viewResult/$jobName'.
    # Optionally, you can append `-$system' to the $jobName to get a
    # build for a specific platform.
  • replacement in src/lib/Hydra/Controller/View.pm at line 201
    [5.5698][3.1209:1299](),[3.1299][5.2805:2870](),[5.2805][5.2805:2870]()
    (my $build, my @others) = grep { $_->{job}->job eq $jobName } @{$result->{jobs}};
    notFound($c, "View doesn't have a job named `$jobName'")
    [5.5698]
    [5.5869]
    my $system;
    if ($jobName =~ /^($jobNameRE)-($systemRE)$/) {
    $jobName = $1;
    $system = $2;
    }
    (my $build, my @others) =
    grep { $_->{job}->job eq $jobName && (!defined $system || ($_->{build} && $_->{build}->system eq $system)) }
    @{$result->{jobs}};
    notFound($c, "View doesn't have a job named ‘$jobName’" . ($system ? " for ‘$system’" : "") . ".")
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 14
    [5.9780][2.10437:10486]()
    $pathCompRE $relPathRE $relNameRE $jobNameRE
    [5.9780]
    [5.180]
    $pathCompRE $relPathRE $relNameRE $jobNameRE $systemRE
  • edit in src/lib/Hydra/Helper/CatalystUtils.pm at line 177
    [2.10770]
    [5.367]
    Readonly::Scalar our $systemRE => "(?:[a-z0-9_]+-[a-z0-9_]+)";
  • replacement in src/root/view-result.tt at line 30
    [4.37][4.37:154]()
    [% INCLUDE renderProductList build=j.build latestRoot=['/view' project.name view.name 'latest' j.job.job] %]
    [4.37]
    [4.154]
    [% INCLUDE renderProductList build=j.build latestRoot=['/view' project.name view.name 'latest' "${j.job.job}-${j.build.system}"] %]