Allow creating a release from an evaluation

[?]
Jul 18, 2012, 9:46 PM
KQZQI2WNMXADNASI7OOMB56OOSBAARTI5ZWY52TUVHHJW6D2HMVAC

Dependencies

  • [2] T273UOB7 Support obtaining the contents of an evaluation as a channel
  • [*] U4TD3AIQ Add support for viewing jobset evaluations

Change contents

  • edit in src/lib/Hydra/Controller/JobsetEval.pm at line 99
    [4.3916]
    [2.49]
    }
    sub release : Chained('eval') PathPart('release') Args(0) {
    my ($self, $c) = @_;
    my $eval = $c->stash->{eval};
    requireProjectOwner($c, $c->stash->{project});
    my @builds = $eval->builds;
    my $releaseName;
    $releaseName ||= $_->releasename foreach @builds;
    error($c, "No build in this evaluation has a release name.")
    unless defined $releaseName;
    my $release;
    txn_do($c->model('DB')->schema, sub {
    $release = $c->stash->{project}->releases->create(
    { name => $releaseName
    , timestamp => time
    });
    foreach my $build (@builds) {
    $release->releasemembers->create(
    { build => $build->id
    , description => $build->description
    }) if $build->buildstatus == 0;
    }
    });
    $c->res->redirect($c->uri_for($c->controller('Release')->action_for('view'),
    [$c->stash->{project}->name, $release->name]));
  • edit in src/root/jobset-eval.tt at line 71
    [4.6282]
    [4.6282]
    [% IF c.user_exists %]
    <p>
    <a class="btn" href="[% c.uri_for(c.controller('JobsetEval').action_for('release'), [eval.id]) %]">Release</a>
    </p>
    [% END %]