Rename aggregate members to constituents
[?]
Aug 15, 2013, 12:33 AM
JTHWA6AM6UU4ZVWBH2JKUVFR743LVIMRU7IMDUVDLN4M3K7MR4XQCDependencies
- [2]
FTPCV25MStore aggregate members in the database - [3]
HN3V252LOn the build page, show how many aggregate constituents failed - [4]
H7CNGK4O* Log evaluation errors etc. in the DB. - [5]
SHBLLAVH* More global substitution. - [6]
IK53RV4V - [7]
AHTEIK7G* Added a maintainers field to the Builds table. - [8]
JJT5QG3Kremove revision from cached cvs inputs, and added missing files - [9]
BD3GRK4B* Get rid of "positive failures" and separate log phases. - [10]
5SHCWE7X* Prevent repeated evaluation of a jobset with the same inputs. This - [11]
CMU3YKOU* Store the release name. - [12]
A63IHCMX* Register GC roots properly. - [13]
GNIEG2GC* Disambiguate jobs by jobset name. I.e. jobs with the same name in - [14]
QQ4STW3Smissing file - [15]
JJHVQGELShow aggregate members - [16]
LZVO64YGMerge in the first bits of the API work - [17]
L2E6EVE2* Merged the Build and Job tables. - [18]
VJHIHMEH* Store the meta.longDescription and meta.license attributes in the - [19]
3E6IP3R3* Add the name of the jobset to ReleaseSetJobs, otherwise we can't - [20]
YTZOC7C5* Editing of jobset inputs. - [21]
BHZXGT2H* Channels: provide an index page that lists all the packages in the - [22]
ZI535LI6* hydra: 'new' UI for project/jobset/job/build - [23]
2QA4Y4G3* hydra: added index, actual build time (buildstep with same outpath, so without deps) of the build - [24]
Y6AHH4THRemove the logfile and logSize columns from the database - [25]
PMNWRTGJAdd multiple output support - [26]
CLJQCY2X* Store info about all the build actions and allow them to be - [27]
YTIDBFGUDrop unused "disabled" columns - [28]
S66BOMVU* Added authentication. - [29]
KOTB7BKV - [30]
G2T4WAHIStore the inputs of each evaluation in the database - [31]
SB2V735VKeep track of the database schema version - [32]
YAPITGB3* Boolean inputs. - [33]
FD76WVTQmissing file - [34]
RFE6T5LG* Store jobset evaluations in the database explicitly. This includes - [35]
FANTYCR7Materialize the number of finished builds - [36]
37R34XJO* Negative caching: don't perform a build if a dependency already - [37]
J5UVLXOK* Start of a basic Catalyst web interface. - [38]
E7FID72SRemove the BuildMachines and BuildMachinesSystemTypes tables - [39]
K22TMPH5Make the info tables less compressed - [40]
SJLEZFC4check getHydraPath in stead of Envvar HYDRA_DBI directly - [41]
JD7AWXQGRemove now-unused SystemTypes table - [42]
R5D7DZPE - [43]
ODNCGFQ5* Improved the navigation bar: don't include all projects (since that - [44]
FU4GO5VNOn build pages, provide a link to the build's first eval - [45]
TQKGQ5R3 - [46]
6BLUKEQ2* Caching of "path" inputs, and fake a revision number for those. - [47]
3ZCEPLNO - [48]
D3DIBMOK* For products that are directories (like manuals), allow a default - [49]
V4RNHJNR* Add a link to each project's homepage. Suggested by karltk. - [50]
ECBA3GQO* Make the schema class names match the case of the SQL table names. - [51]
D5QIOJGP* Move everything up one directory. - [52]
TLZ2SPBR - [53]
TWVSALRL* Allow the maximum number of concurrent builds per platform to be - [54]
ZVTSOVHN* Support Subversion checkouts. - [55]
RU7AQO7U* Role-based access control. Only admins can create projects. Only - [56]
2GUAKGTBFix indentation of build.tt - [57]
P5X4P6VK* Renaming "release sets" to "views" (not finished yet). Having - [58]
JM3DPYOMgenerated schema with new dbix class schema loader, grrrrrr - [59]
ZWCTAZGLadded newsitems, added some admin options to clear various caches. - [60]
DHMTPGST* Ran update-dbix. - [61]
HVXL2XUZ - [62]
SMCOU72Fhydra: add some admin for adding/enabling/etc build machines - [63]
MOX7XJ2EMerge the BuildSchedulingInfo table into the Builds table - [64]
4HPT4SDDRevert "Remove now-unused SystemTypes table" - [65]
EYNG4EL4* Regenerate the bindings from a clean sqlite database. - [66]
ZTQEU5QSHydra: Add support for maxSilent meta attribute (also already added timeout, but not implemented the actual timeout for the build yet) - [67]
S5PV6IIM* Represent jobs explicitly in the DB. - [68]
LCKWLQW3* In Sqlite "release" is now a keyword, so use "release_" instead. - [69]
FHF6IZJQ* Basic release management: releases are now dynamically computed as - [70]
3SQCOHZN* minor performance tweaks - [71]
HPEG2RHVMerge the BuildResultInfo table into the Builds table - [72]
B72GLND4 - [73]
5MNUNZWR* Store meta.maintainers. - [74]
NABL63FI* hydra: project members can do stuff that the owner can do - [75]
KXGOUX7P* Creating releases. - [76]
PHJF4FUTAdd missing files - [77]
3PNG7NIBRemove trailing whitespace - [*]
4N5APGRG* Start of a helper tool to evaluate job expressions efficiently. - [*]
N22GPKYT* Put info about logs / build products in the DB.
Change contents
- replacement in src/c/hydra-eval-jobs.cc at line 163
/* If this is an aggregate, then get its members. *//* If this is an aggregate, then get its constituents. */ - replacement in src/c/hydra-eval-jobs.cc at line 166
Bindings::iterator a = v.attrs->find(state.symbols.create("members"));Bindings::iterator a = v.attrs->find(state.symbols.create("constituents")); - replacement in src/c/hydra-eval-jobs.cc at line 168
throw EvalError("derivation must have a ‘members’ attribute");throw EvalError("derivation must have a ‘constituents’ attribute"); - replacement in src/c/hydra-eval-jobs.cc at line 177
xmlAttrs["members"] = concatStringsSep(" ", drvs);xmlAttrs["constituents"] = concatStringsSep(" ", drvs); - file move: AggregateMembers.pm → AggregateConstituents.pm
- replacement in src/lib/Hydra/Schema/AggregateConstituents.pm at line 2
package Hydra::Schema::AggregateMembers;package Hydra::Schema::AggregateConstituents; - replacement in src/lib/Hydra/Schema/AggregateConstituents.pm at line 9
Hydra::Schema::AggregateMembersHydra::Schema::AggregateConstituents - replacement in src/lib/Hydra/Schema/AggregateConstituents.pm at line 30
=head1 TABLE: C<AggregateMembers>=head1 TABLE: C<AggregateConstituents> - replacement in src/lib/Hydra/Schema/AggregateConstituents.pm at line 34
__PACKAGE__->table("AggregateMembers");__PACKAGE__->table("AggregateConstituents"); - replacement in src/lib/Hydra/Schema/AggregateConstituents.pm at line 44
=head2 member=head2 constituent - replacement in src/lib/Hydra/Schema/AggregateConstituents.pm at line 55
"member","constituent", - replacement in src/lib/Hydra/Schema/AggregateConstituents.pm at line 65
=item * L</member>=item * L</constituent> - replacement in src/lib/Hydra/Schema/AggregateConstituents.pm at line 71
__PACKAGE__->set_primary_key("aggregate", "member");__PACKAGE__->set_primary_key("aggregate", "constituent"); - replacement in src/lib/Hydra/Schema/AggregateConstituents.pm at line 90
=head2 member=head2 constituent - replacement in src/lib/Hydra/Schema/AggregateConstituents.pm at line 99
"member","constituent", - replacement in src/lib/Hydra/Schema/AggregateConstituents.pm at line 101
{ id => "member" },{ id => "constituent" }, - replacement in src/lib/Hydra/Schema/AggregateConstituents.pm at line 106
# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-08-13 22:17:52# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:jHJtO2baXiprv0OcWCLZ+w# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-08-15 00:20:01# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:TLNenyPLIWw2gWsOVhplZw - replacement in src/lib/Hydra/Schema/Builds.pm at line 291
=head2 aggregatemembers_aggregates=head2 aggregateconstituents_aggregates - replacement in src/lib/Hydra/Schema/Builds.pm at line 295
Related object: L<Hydra::Schema::AggregateMembers>Related object: L<Hydra::Schema::AggregateConstituents> - replacement in src/lib/Hydra/Schema/Builds.pm at line 300
"aggregatemembers_aggregates","Hydra::Schema::AggregateMembers","aggregateconstituents_aggregates","Hydra::Schema::AggregateConstituents", - replacement in src/lib/Hydra/Schema/Builds.pm at line 306
=head2 aggregatemembers_members=head2 aggregateconstituents_constituents - replacement in src/lib/Hydra/Schema/Builds.pm at line 310
Related object: L<Hydra::Schema::AggregateMembers>Related object: L<Hydra::Schema::AggregateConstituents> - replacement in src/lib/Hydra/Schema/Builds.pm at line 315
"aggregatemembers_members","Hydra::Schema::AggregateMembers",{ "foreign.member" => "self.id" },"aggregateconstituents_constituents","Hydra::Schema::AggregateConstituents",{ "foreign.constituent" => "self.id" }, - replacement in src/lib/Hydra/Schema/Builds.pm at line 505
Composing rels: L</aggregatemembers_members> -> aggregateComposing rels: L</aggregateconstituents_constituents> -> aggregate - replacement in src/lib/Hydra/Schema/Builds.pm at line 509
__PACKAGE__->many_to_many("aggregates", "aggregatemembers_members", "aggregate");__PACKAGE__->many_to_many("aggregates","aggregateconstituents_constituents","aggregate",); - replacement in src/lib/Hydra/Schema/Builds.pm at line 515
=head2 members=head2 constituents - replacement in src/lib/Hydra/Schema/Builds.pm at line 519
Composing rels: L</aggregatemembers_members> -> memberComposing rels: L</aggregateconstituents_constituents> -> constituent - replacement in src/lib/Hydra/Schema/Builds.pm at line 523
__PACKAGE__->many_to_many("members", "aggregatemembers_members", "member");__PACKAGE__->many_to_many("constituents","aggregateconstituents_constituents","constituent",); - replacement in src/lib/Hydra/Schema/Builds.pm at line 530
# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-08-13 22:17:52# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9jqsol/evbHYjusT09hLtw# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-08-15 00:20:01# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:U1j/qm0vslb6Jvgu5mGMtw - replacement in src/lib/Hydra/Schema/Builds.pm at line 563
__PACKAGE__->many_to_many("members_", "aggregatemembers_aggregates", "member");__PACKAGE__->many_to_many("constituents_", "aggregateconstituents_aggregates", "constituent"); - replacement in src/root/build.tt at line 10
[% isAggregate = build.members_ ? 1 : 0 %][% isAggregate = build.constituents_ ? 1 : 0 %] - replacement in src/root/build.tt at line 122
nrMembers = 0;nrConstituents = 0; - replacement in src/root/build.tt at line 124
nrFailedMembers = 0;FOREACH b IN build.members_;nrMembers = nrMembers + 1;nrFailedConstituents = 0;FOREACH b IN build.constituents_;nrConstituents = nrConstituents + 1; - replacement in src/root/build.tt at line 128
IF b.finished && b.buildstatus != 0; nrFailedMembers = nrFailedMembers + 1; END;IF b.finished && b.buildstatus != 0; nrFailedConstituents = nrFailedConstituents + 1; END; - replacement in src/root/build.tt at line 131
[%+ IF nrFinished == 0 && nrFailedMembers == 0 %]all [% nrMembers %] constituent builds succeeded[%+ IF nrFinished == nrMembers && nrFailedConstituents == 0 %]all [% nrConstituents %] constituent builds succeeded - replacement in src/root/build.tt at line 134
[% nrFailedMembers %] out of [% nrMembers %] constituent builds failed[% IF nrFinished < nrMembers %]([% nrMembers - nrFinished %] still pending)[% nrFailedConstituents %] out of [% nrConstituents %] constituent builds failed[% IF nrFinished < nrConstituents %]([% nrConstituents - nrFinished %] still pending) - replacement in src/root/build.tt at line 283
[% INCLUDE renderBuildList builds=build.members_ %][% INCLUDE renderBuildList builds=build.constituents_ %] - replacement in src/script/hydra-evaluator at line 186
# Create AggregateMembers mappings.# Create AggregateConstituents mappings. - replacement in src/script/hydra-evaluator at line 188
next unless $job->{members};next unless $job->{constituents}; - replacement in src/script/hydra-evaluator at line 190
foreach my $drvPath (split / /, $job->{members}) {my $member = $drvPathToId{$drvPath};if (defined $member) {$db->resultset('AggregateMembers')->update_or_create({aggregate => $id, member => $member});foreach my $drvPath (split / /, $job->{constituents}) {my $constituent = $drvPathToId{$drvPath};if (defined $constituent) {$db->resultset('AggregateConstituents')->update_or_create({aggregate => $id, constituent => $constituent}); - replacement in src/script/hydra-evaluator at line 195
warn "aggregate job ‘$job->{jobName}’ has a member ‘$drvPath’ that doesn't correspond to a Hydra build\n";warn "aggregate job ‘$job->{jobName}’ has a constituent ‘$drvPath’ that doesn't correspond to a Hydra build\n"; - replacement in src/sql/hydra.sql at line 517
create table AggregateMembers (create table AggregateConstituents ( - replacement in src/sql/hydra.sql at line 519
member integer not null references Builds(id) on delete cascade,primary key (aggregate, member)constituent integer not null references Builds(id) on delete cascade,primary key (aggregate, constituent) - replacement in src/sql/upgrade-19.sql at line 1
create table AggregateMembers (create table AggregateConstituents ( - replacement in src/sql/upgrade-19.sql at line 3
member integer not null references Builds(id) on delete cascade,primary key (aggregate, member)constituent integer not null references Builds(id) on delete cascade,primary key (aggregate, constituent)