* Disambiguate jobs by jobset name. I.e. jobs with the same name in
[?]
Mar 12, 2009, 11:46 PM
GNIEG2GCT6BUYHY2WXUAQVKHSYB6TVQT52O5GEY6COLKFK4ODCCQCDependencies
- [2]
3E6IP3R3* Add the name of the jobset to ReleaseSetJobs, otherwise we can't - [3]
TLZ2SPBR - [4]
K5BEBWKM - [5]
CMU3YKOU* Store the release name. - [6]
67P45PY4 - [7]
ZVTSOVHN* Support Subversion checkouts. - [8]
TWVSALRL* Allow the maximum number of concurrent builds per platform to be - [9]
PHX2HIVG* Store info about the build inputs in the build record. - [10]
KOTB7BKV - [11]
3ZCEPLNO - [12]
VJHIHMEH* Store the meta.longDescription and meta.license attributes in the - [13]
H7CNGK4O* Log evaluation errors etc. in the DB. - [14]
WYN733ST* Store build duration, handle cached builds. - [15]
D3DIBMOK* For products that are directories (like manuals), allow a default - [16]
4S4ZMFJK* Links on trs. - [17]
YTSIRIMK* Separate job status and all builds pages. - [18]
B72GLND4 - [19]
37R34XJO* Negative caching: don't perform a build if a dependency already - [20]
DEMSSSB2* Controller for jobs which inherits all actions in ListBuilds. So - [21]
EYNG4EL4* Regenerate the bindings from a clean sqlite database. - [22]
V4RNHJNR* Add a link to each project's homepage. Suggested by karltk. - [23]
NDL67SQT* XHTML validity. - [24]
S66BOMVU* Added authentication. - [25]
JLDUSNUO* Unify rendering of finished and scheduled builds. - [26]
YAPITGB3* Boolean inputs. - [27]
7YBYT2LQ - [28]
BD3GRK4B* Get rid of "positive failures" and separate log phases. - [29]
YTZOC7C5* Editing of jobset inputs. - [30]
LCKWLQW3* In Sqlite "release" is now a keyword, so use "release_" instead. - [31]
K2NXFFKH - [32]
ECBA3GQO* Make the schema class names match the case of the SQL table names. - [33]
FPK5LF53* Put the project-related actions in a separate controller. Put the - [34]
RU7AQO7U* Role-based access control. Only admins can create projects. Only - [35]
BVOPAMLS - [36]
VCOSLZRP - [37]
CLJQCY2X* Store info about all the build actions and allow them to be - [38]
R5D7DZPE - [39]
BHZXGT2H* Channels: provide an index page that lists all the packages in the - [40]
ZEHSSVFG - [41]
FHF6IZJQ* Basic release management: releases are now dynamically computed as - [42]
FEMR2C5W - [43]
M552HLIA* Support variant builds. - [44]
L2E6EVE2* Merged the Build and Job tables. - [45]
6BLUKEQ2* Caching of "path" inputs, and fake a revision number for those. - [46]
DVNWJXWW* Generic declaration of build products. - [47]
J5UVLXOK* Start of a basic Catalyst web interface. - [48]
GWCV3TQV* BuildInputs table: link to dependencies, include store paths. - [49]
7LKUAIGC - [50]
IK53RV4V - [51]
6LTPI6B2 - [52]
X27GNHDV* Basic job info in the database. - [53]
TQKGQ5R3 - [54]
SHBLLAVH* More global substitution. - [*]
2GK5DOU7* Downloading closures. - [*]
N22GPKYT* Put info about logs / build products in the DB. - [*]
POPU2ATH* hydra_scheduler: use eval-jobs.
Change contents
- replacement in src/lib/Hydra/Controller/Job.pm at line 10
sub job : Chained('/project/project') PathPart('job') CaptureArgs(1) {my ($self, $c, $jobName) = @_;sub job : Chained('/') PathPart('job') CaptureArgs(3) {my ($self, $c, $projectName, $jobsetName, $jobName) = @_;# !!! cut&paste from Project::project.my $project = $c->model('DB::Projects')->find($projectName)or notFound($c, "Project $projectName doesn't exist."); - edit in src/lib/Hydra/Controller/Job.pm at line 17
$c->stash->{curProject} = $project;$c->stash->{jobset} = $project->jobsets->find({name => $jobsetName})or notFound($c, "Jobset $jobsetName doesn't exist."); - edit in src/lib/Hydra/Controller/Job.pm at line 23
# !!! nothing to do here yet, since we don't have a jobs table. - replacement in src/lib/Hydra/Controller/Job.pm at line 36
$c->stash->{curProject}->builds->search({job => $c->stash->{jobName}});$c->stash->{jobset}->builds->search({job => $c->stash->{jobName}}); - replacement in src/lib/Hydra/Controller/Project.pm at line 13
my $project = $c->model('DB::Projects')->find($projectName);notFound($c, "Project $projectName doesn't exist.") unless defined $project;my $project = $c->model('DB::Projects')->find($projectName)or notFound($c, "Project $projectName doesn't exist."); - replacement in src/lib/Hydra/Schema/BuildInputs.pm at line 39
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:CLL7aeJ0fe0NX3LCnNs4/A# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9gWr8DPEeH2BjoHT3nt0Lw - replacement in src/lib/Hydra/Schema/BuildProducts.pm at line 38
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9Eer/gLCKlOKfnwC+kfFaw# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:GsPyt1OUQHWN6z7mSpNW2g - replacement in src/lib/Hydra/Schema/BuildResultInfo.pm at line 38
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ieF3JOI4N3XZUyMboZhrjg# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:zIpamqoL0AxNFDpQ/W1TVg - replacement in src/lib/Hydra/Schema/BuildSchedulingInfo.pm at line 30
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:oomDjaTJHIQjraUqhzFPsg# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:McWRZEMJtjFIcR4LplCc9A - replacement in src/lib/Hydra/Schema/BuildSteps.pm at line 38
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+nb1zsYcv9WziZ6IHcc/yw# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:zuyAJq4T5Ynsq920Pd7hLg - replacement in src/lib/Hydra/Schema/Builds.pm at line 79
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:UahvxjBmn7b70IK+QcnKHA# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:6taCYZNB0HaY+fvDjUhrYQ - replacement in src/lib/Hydra/Schema/CachedPathInputs.pm at line 25
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+AZEuCFAfkl7SKwlxDBnaw# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Jhu1KxMfSF1Y1b4VGUqTzg - replacement in src/lib/Hydra/Schema/CachedSubversionInputs.pm at line 23
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:2JtWOkH5OVGl7Cb7STLM5Q# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9aQa6Zo6z3lj/qFHNF5//w - replacement in src/lib/Hydra/Schema/JobsetInputAlts.pm at line 34
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ka/dxG48LaZOQeShZFs0Hw# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:fBv361MRwuWvAJQnOLZDIw - replacement in src/lib/Hydra/Schema/JobsetInputs.pm at line 25
"foreign.name" => "self.job","foreign.name" => "self.jobset", - replacement in src/lib/Hydra/Schema/JobsetInputs.pm at line 46
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:earsp0XPWppy5/VOJkQ/PA# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:S8AQqv8/GkLkXpPutV4N0A - replacement in src/lib/Hydra/Schema/Jobsets.pm at line 41
{ job => "name", name => "nixexprinput", project => "project" },{ jobset => "name", name => "nixexprinput", project => "project" }, - replacement in src/lib/Hydra/Schema/Jobsets.pm at line 53
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ADLNgkS2YPv4DuszwHau7g# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:xYDUCEXRPeVdFJBQnG/Wog - replacement in src/lib/Hydra/Schema/Projects.pm at line 48
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:R/GeZxDujiuKze++Mc2ZTw# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9ZqA/21u40pt4t85YrYbeg - replacement in src/lib/Hydra/Schema/ReleaseSetJobs.pm at line 37
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:OM2joIa3Bj6t9BhVrOjN8Q# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Ta71pOzVsej/w0FoHIUMbg - replacement in src/lib/Hydra/Schema/ReleaseSets.pm at line 32
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:gSzri22yKGHLKCjNLv9/VQ# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:0DtIgm5jznjy1l3809b06Q - replacement in src/lib/Hydra/Schema/SystemTypes.pm at line 19
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:viZlvDAHk9k8ScuA/qfUGw# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:WUSl5Uivcl6E1KLxiq+89A - replacement in src/lib/Hydra/Schema/UserRoles.pm at line 20
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:gRuZJKELtc15+vQFjxjkKQ# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:x/HXSH7s3bgPJSLK71hV9w - replacement in src/lib/Hydra/Schema/Users.pm at line 33
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Lomf54EURbBIbrWGojiFIw# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:uP86PxN/ZWgy5PRVU7Qgow - replacement in src/lib/Hydra/Schema.pm at line 11
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 14:55:11# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:oeLeU2T8C2dVBS+ugF0p8g# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-12 17:44:15# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:oIv4qqdjLKRDgAYXHHTz8A - replacement in src/root/all.tt at line 5
[% IF jobName %]for Job [% curProject.name %]:[% jobName %][% ELSE %][% IF jobName %]for Job [% curProject.name %]:[% jobset.name %]:[% jobName %][% ELSE %] - edit in src/root/build.tt at line 5
[% project = build.get_column('project') %][% jobset = build.get_column('jobset') %][% job = build.get_column('job') %] - replacement in src/root/build.tt at line 11
Job <tt>[% build.project.name %]:[% build.job %]</tt> build [% id %]Job <tt>[% project %]:[% jobset %]:[% job %]</tt> build [% id %] - replacement in src/root/build.tt at line 80
<td><a href="[% c.uri_for('/project' build.project.name) %]"><tt>[% build.project.name %]</tt></a></td><td>[% PROCESS renderProjectName %]</td> - replacement in src/root/build.tt at line 84
<td><tt>[% build.jobset.name %]</tt></td><td>[% PROCESS renderJobsetName %]</td> - replacement in src/root/build.tt at line 88
<td><a href="[% c.uri_for('/project' build.project.name 'job' build.job) %]"><tt>[% build.job %]</tt></a></td><td>[% PROCESS renderJobName %]</td> - edit in src/root/build.tt at line 111
</tr><tr><th>Homepage:</th><td>[% IF build.homepage %]<a [% HTML.attributes(href => build.homepage) %]>[% HTML.escape(build.homepage) %]</a>[% ELSE %]<em>(not given)</em>[% END %]</td> - edit in src/root/common.tt at line 19
[% BLOCK renderProjectName -%]<a href="[% c.uri_for('/project' project) %]"><tt>[% project %]</tt></a>[% END -%][% BLOCK renderJobsetName -%]<a href="[% c.uri_for('/jobset' project jobset) %]"><tt>[% jobset %]</tt></a>[% END -%] - edit in src/root/common.tt at line 29
[% BLOCK renderJobName -%]<a href="[% c.uri_for('/job' project jobset job) %]"><tt>[% job %]</tt></a>[% END -%] - edit in src/root/common.tt at line 32
[% BLOCK renderFullJobName %]<tt>[% PROCESS renderProjectName %]:[% PROCESS renderJobsetName %]:[% PROCESS renderJobName %]</a>[% END %] - edit in src/root/common.tt at line 51
<th>Project</th> - replacement in src/root/common.tt at line 52
<th>Name</th><th>Release Name</th> - replacement in src/root/common.tt at line 81
<td><a href="[% c.uri_for('/project' build.get_column("project")) %]"><tt>[% build.get_column("project") %]</tt></a></td><td><a href="[% c.uri_for('/project' build.get_column("project") 'job' build.job) %]"><tt>[% build.job %]</tt></a></td><td>[% PROCESS renderFullJobName project=build.get_column("project") jobset = build.get_column("jobset") job = build.job %]</td> - edit in src/script/hydra_scheduler.pl at line 238[58.1125][58.1125]
, homepage => $job->{homepage} - replacement in src/sql/hydra.sql at line 203
foreign key (project, name, nixExprInput) references JobsetInputs(project, job, name)foreign key (project, name, nixExprInput) references JobsetInputs(project, jobset, name)