* Channels: provide an index page that lists all the packages in the

[?]
Mar 4, 2009, 2:49 PM
BHZXGT2HWAMFNVBUDG7VR5HNA2SUJBUSMWB7EHTECB4QJ5HVYANAC

Dependencies

  • [2] UXVDOUBJ
  • [3] 7UJ5YV4V * Provide a channel for each project containing all the latest
  • [4] ECBA3GQO * Make the schema class names match the case of the SQL table names.
  • [5] YAPITGB3 * Boolean inputs.
  • [6] EYNG4EL4 * Regenerate the bindings from a clean sqlite database.
  • [7] B72GLND4
  • [8] BVOPAMLS
  • [9] R5D7DZPE
  • [10] 67P45PY4
  • [11] L2E6EVE2 * Merged the Build and Job tables.
  • [12] TWVSALRL * Allow the maximum number of concurrent builds per platform to be
  • [13] VCOSLZRP
  • [14] CLJQCY2X * Store info about all the build actions and allow them to be
  • [15] TLZ2SPBR
  • [16] KOTB7BKV
  • [17] TQKGQ5R3
  • [18] CMU3YKOU * Store the release name.
  • [19] GWCV3TQV * BuildInputs table: link to dependencies, include store paths.
  • [20] XHVZXX6N
  • [21] BD3GRK4B * Get rid of "positive failures" and separate log phases.
  • [22] 6BLUKEQ2 * Caching of "path" inputs, and fake a revision number for those.
  • [23] ZEHSSVFG
  • [24] 7YBYT2LQ
  • [25] ZVTSOVHN * Support Subversion checkouts.
  • [26] 3ZCEPLNO
  • [27] V4RNHJNR * Add a link to each project's homepage. Suggested by karltk.
  • [28] 5NO7NCKT * Refactoring.
  • [29] S66BOMVU * Added authentication.
  • [30] A52HEFHQ * Allow builds to be restarted (if they failed with a transient error,
  • [31] DVNWJXWW * Generic declaration of build products.
  • [32] FHF6IZJQ * Basic release management: releases are now dynamically computed as
  • [33] ZRBXLKFO
  • [34] M552HLIA * Support variant builds.
  • [35] X27GNHDV * Basic job info in the database.
  • [36] 2JQ7WEFM
  • [37] FPK5LF53 * Put the project-related actions in a separate controller. Put the
  • [38] RU7AQO7U * Role-based access control. Only admins can create projects. Only
  • [39] PHX2HIVG * Store info about the build inputs in the build record.
  • [40] IK53RV4V
  • [41] H7CNGK4O * Log evaluation errors etc. in the DB.
  • [42] YTZOC7C5 * Editing of jobset inputs.
  • [43] WYN733ST * Store build duration, handle cached builds.
  • [44] SHBLLAVH * More global substitution.
  • [45] J5UVLXOK * Start of a basic Catalyst web interface.
  • [46] VJHIHMEH * Store the meta.longDescription and meta.license attributes in the
  • [47] LBNVQXUB * Build the /build stuff in a separate controller.
  • [*] LVJKRTIK * Generate a Nix expression for the channel.
  • [*] US27ZTX5 * HydraFrontend -> Hydra.
  • [*] N22GPKYT * Put info about logs / build products in the DB.

Change contents

  • replacement in src/Hydra/lib/Hydra/Base/Controller/NixChannel.pm at line 50
    [4.215][4.215:246]()
    $c->stash->{build} = $pkg;
    [4.215]
    [2.0]
    $c->stash->{build} = $pkg->{build};
  • edit in src/Hydra/lib/Hydra/Base/Controller/NixChannel.pm at line 63
    [49.135]
    [4.451]
    }
    sub name {
    my ($build) = @_;
    return $build->resultInfo->releasename || $build->nixname;
  • edit in src/Hydra/lib/Hydra/Base/Controller/NixChannel.pm at line 71
    [4.454]
    [4.454]
    sub channel_contents : Chained('nix') PathPart('') Args(0) {
    my ($self, $c) = @_;
    $c->stash->{template} = 'channel-contents.tt';
    $c->stash->{nixPkgs} = [sort { lc(name($a->{build})) cmp lc(name($b->{build})) } (values %{$c->stash->{nixPkgs}})];
    }
  • edit in src/Hydra/lib/Hydra/Base/Controller/NixChannel.pm at line 77
    [4.455]
    [4.741]
  • replacement in src/Hydra/lib/Hydra/Controller/Build.pm at line 154
    [4.5][4.363:482](),[4.1881][4.363:482]()
    my $pkgName = $build->nixname . "-" . $build->system . ".nixpkg";
    $c->stash->{nixPkgs} = {$pkgName => $build};
    [4.5]
    [4.56]
    my $pkgName = $build->nixname . "-" . $build->system;
    $c->stash->{nixPkgs} = {"${pkgName}.nixpkg" => {build => $build, name => $pkgName}};
  • replacement in src/Hydra/lib/Hydra/Helper/CatalystUtils.pm at line 81
    [3.1034][3.1034:1178]()
    my $pkgName = $build->nixname . "-" . $build->system . "-" . $build->id . ".nixpkg";
    $c->stash->{nixPkgs}->{$pkgName} = $build;
    [3.1034]
    [3.1178]
    my $pkgName = $build->nixname . "-" . $build->system . "-" . $build->id;
    $c->stash->{nixPkgs}->{"${pkgName}.nixpkg"} = {build => $build, name => $pkgName};
  • replacement in src/Hydra/lib/Hydra/Schema/BuildInputs.pm at line 39
    [4.782][4.63:205]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:sfGY0lHkOxmL8MUh9XRzcQ
    [4.782]
    [4.924]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:7Th7GxvR7m/DdodQqlmJXQ
  • replacement in src/Hydra/lib/Hydra/Schema/BuildProducts.pm at line 36
    [4.4922][4.206:348]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:0Q+SE9zoGRXIKLQbKgUEOg
    [4.4922]
    [4.5064]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:FFVpdoV0vBLhF9yyKJSoTA
  • replacement in src/Hydra/lib/Hydra/Schema/BuildResultInfo.pm at line 34
    [4.2382][4.349:491]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:5fMxCc6sKchB4munRoQ3tg
    [4.2382]
    [4.2524]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:CkjyZptB79J32VhDbXhKEg
  • replacement in src/Hydra/lib/Hydra/Schema/BuildSchedulingInfo.pm at line 30
    [4.4473][4.492:634]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:b3e3/nNEkIL5NT0njXfmvQ
    [4.4473]
    [4.4615]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:HeodRHEOs/do8RKwDJhaXg
  • replacement in src/Hydra/lib/Hydra/Schema/BuildSteps.pm at line 38
    [4.2816][4.635:777]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+Uu75EKOIqmX2kDdoF4urw
    [4.2816]
    [4.2958]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:kKpIuRMrqdh7m4M5XPIEgg
  • edit in src/Hydra/lib/Hydra/Schema/Builds.pm at line 36
    [4.583]
    [4.620]
    { data_type => "text", is_nullable => 0, size => undef },
    "homepage",
  • replacement in src/Hydra/lib/Hydra/Schema/Builds.pm at line 79
    [4.6194][4.778:920]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+5YWpNShfJeY0rZxT6NFXg
    [4.6194]
    [4.3377]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:fGOOscNFEgDZpeVpA6HH0w
  • replacement in src/Hydra/lib/Hydra/Schema/CachedPathInputs.pm at line 25
    [4.1497][4.921:1063]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:fVED/6C0XGnrNGSazH7amg
    [4.1497]
    [4.1639]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:0wY3JTSelPQSTbxpNQDJjg
  • replacement in src/Hydra/lib/Hydra/Schema/CachedSubversionInputs.pm at line 23
    [4.2342][4.1064:1206]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:kOLnExOz2rlFJQ3tcE+7Xg
    [4.2342]
    [4.2484]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:eZPs3SB3XZW5BNQOQFrFBw
  • replacement in src/Hydra/lib/Hydra/Schema/JobsetInputAlts.pm at line 34
    [4.1831][4.1207:1349]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:3QPU9ikr0SZn/S99qOMRAg
    [4.1831]
    [4.1973]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:atlyxsSKg41KbDkbCfuvHQ
  • replacement in src/Hydra/lib/Hydra/Schema/JobsetInputs.pm at line 46
    [4.1681][4.1350:1492]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:dpuTqJIOcIuMe9xxR9NYdQ
    [4.1681]
    [4.1823]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:85ro4sVmhc3HwAjgoA6p6w
  • replacement in src/Hydra/lib/Hydra/Schema/Jobsets.pm at line 53
    [4.2992][4.1493:1635]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:r/PJAD9K8L3WHUncNFlnaw
    [4.2992]
    [4.3134]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:c5PqrzN43jEGGrzKqI6WWQ
  • replacement in src/Hydra/lib/Hydra/Schema/Projects.pm at line 48
    [4.3685][4.1711:1853]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9UhObD4jTQzVnYRWKPQOvg
    [4.3685]
    [4.3827]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:7iZYMDM+wn+Neud0Fm1ZMA
  • replacement in src/Hydra/lib/Hydra/Schema/ReleaseSetJobs.pm at line 35
    [4.6070][4.1854:1996]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:aK/I+BIryTR1h/KGOxQ7mw
    [4.6070]
    [4.6212]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Rs3CRPpzFi30sAeHVe1yQA
  • replacement in src/Hydra/lib/Hydra/Schema/ReleaseSets.pm at line 32
    [4.7142][4.1997:2139]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:vQ4hwubK2w3czUD9ghGHBg
    [4.7142]
    [4.7284]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:PA+dfXHaBsSx9kE1mEZZ9w
  • replacement in src/Hydra/lib/Hydra/Schema/SystemTypes.pm at line 19
    [4.2105][4.2140:2282]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:63NZCqYk/4E0ISCUaDqneA
    [4.2105]
    [4.2247]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:olHboRdtxD6E7Ukr4aCLCA
  • replacement in src/Hydra/lib/Hydra/Schema/UserRoles.pm at line 20
    [4.3736][4.2283:2425]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Lck5v6SX1rzILTrkSdZBtg
    [4.3736]
    [4.3878]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Q7Nd3wv7Y3184GhkE/pdFA
  • replacement in src/Hydra/lib/Hydra/Schema/Users.pm at line 33
    [4.3782][4.2426:2568]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:OQzF0LFe3iSh9KxLk1vL8w
    [4.3782]
    [4.3924]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:z8fRKy//Mx8wqymMgOcrWA
  • replacement in src/Hydra/lib/Hydra/Schema.pm at line 11
    [4.6498][4.2569:2711]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-02-11 23:16:48
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+EFA/I0SY8Jih++hjX1Ypg
    [4.6498]
    [4.6640]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-04 14:50:30
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:QcB8T/bY2/Pw34uuYXt2Cw
  • file addition: channel-contents.tt (----------)
    [50.857]
    [% WRAPPER layout.tt title="Channel ${channelName}" %]
    [% PROCESS common.tt %]
    [% USE HTML %]
    <h1>Channel <tt>[% channelName %]</tt></h1>
    <p>You can subscribe to this channel by doing
    <pre>$ nix-channel --add [% curUri %]</pre>
    </p>
    <h2>Packages</h2>
    <p>This channel contains the following packages.</p>
    <table class="tablesorter">
    <thead>
    <tr>
    <th>#</th>
    <th>Name</th>
    <th>System</th>
    <th>Description</th>
    </tr>
    </thead>
    <tbody>
    [% FOREACH pkg IN nixPkgs %]
    [% build = pkg.build %]
    [% uri = "${curUri}/pkg/${pkg.name}.nixpkg" %]
    <tr class="clickable" onclick="window.location = '[% uri %]'">
    <td><a href="[% c.uri_for('/build' build.id) %]">[% build.id %]</a></td>
    <td><a href="[% uri %]"><tt>[% build.resultInfo.releasename || build.nixname %]</tt></a></td>
    <td><tt>[% build.system %]</tt></td>
    <td>
    [% IF build.homepage -%]
    <a [% HTML.attributes(href => build.homepage) %]>[% HTML.escape(build.description) %]</a>
    [% ELSE -%]
    [% HTML.escape(build.description) -%]
    [% END -%]
    </td>
    </tr>
    [% END %]
    </tbody>
    </table>
    [% END %]
  • edit in src/Hydra/script/hydra_scheduler.pl at line 193
    [4.3396]
    [4.3396]
    my $homepage = defined $job->{meta}->{homepage} ? $job->{meta}->{homepage}->{value} : "";
  • edit in src/Hydra/sql/hydra.sql at line 27
    [4.3623]
    [4.9173]
    homepage text, -- meta.homepage