diff --git a/src/root/build.tt b/src/root/build.tt
index 47d3061b..cb268b61 100644
--- a/src/root/build.tt
+++ b/src/root/build.tt
@@ -7,6 +7,7 @@
[% project = build.project %]
[% jobset = build.jobset %]
[% job = build.job %]
+[% isAggregate = build.members_ ? 1 : 0 %]
[% BLOCK renderOutputs %]
[% start=1; FOREACH output IN outputs %]
@@ -68,7 +69,7 @@
- Summary
- [% IF build.members_ %]- Members
[% END %]
+ [% IF isAggregate %]- Constituents
[% END %]
- Details
- Inputs
[% IF build.buildsteps %]- Build steps
[% END %]
@@ -115,7 +116,28 @@
Status: |
- [% INCLUDE renderStatus build=build icon=0 %] |
+
+ [% INCLUDE renderStatus build=build icon=0 %]
+ [% IF isAggregate;
+ nrMembers = 0;
+ nrFinished = 0;
+ nrFailedMembers = 0;
+ FOREACH b IN build.members_;
+ nrMembers = nrMembers + 1;
+ IF b.finished; nrFinished = nrFinished + 1; END;
+ IF b.finished && b.buildstatus != 0; nrFailedMembers = nrFailedMembers + 1; END;
+ END;
+ %];
+ [%+ IF nrFinished == 0 && nrFailedMembers == 0 %]
+ all [% nrMembers %] constituent builds succeeded
+ [% ELSE %]
+ [% nrFailedMembers %] out of [% nrMembers %] constituent builds failed
+ [% IF nrFinished < nrMembers %]
+ ([% nrMembers - nrFinished %] still pending)
+ [% END %]
+ [% END %]
+ [% END %]
+ |
System: |
@@ -147,7 +169,7 @@
[% IF cachedBuild; INCLUDE renderFullBuildLink build=cachedBuild; ELSE %]unknown[% END %] |
[% END %]
- [% IF build.finished %]
+ [% IF !isAggregate && build.finished %]
Duration: |
[% actualBuild = build.iscachedbuild ? cachedBuild : build;
@@ -155,7 +177,7 @@
finished at [% INCLUDE renderDateTime timestamp = actualBuild.stoptime %] |
[% END %]
- [% IF log_exists(build.drvpath) %]
+ [% IF !isAggregate && log_exists(build.drvpath) %]
Logfile: |
@@ -183,7 +205,7 @@
[% END %]
- [% IF build.buildproducts %]
+ [% IF build.buildproducts && !isAggregate %]
Build products
@@ -252,9 +274,9 @@
- [% IF build.members_ %]
+ [% IF isAggregate %]
-
+
This build is an aggregate of the following builds:
|