[% USE date %]
[% USE String %]
[% USE HTML %]
[% inputTypes =
{ "svn" = "Subversion export"
, "svn-checkout" = "Subversion checkout"
, "bzr" = "Bazaar export"
, "bzr-checkout" = "Bazaar checkout"
, "git" = "Git checkout"
, "tarball" = "Download of a tarball"
, "hg" = "Mercurial checkout"
, "string" = "String value"
, "boolean" = "Boolean"
, "path" = "Local path"
, "build" = "Build output"
, "sysbuild" = "Build output (same system)"
}
%]
[% BLOCK renderDateTime %]
[% date.format(timestamp, '%Y-%m-%d %H:%M:%S') -%]
[% END %]
[% BLOCK renderProjectName -%]
[% project %][% END -%]
[% BLOCK renderJobsetName -%]
[% jobset %][% END -%]
[% BLOCK renderJobName -%]
[% job %][% END -%]
[% BLOCK renderFullJobsetName %]
[% INCLUDE renderProjectName %]:[% INCLUDE renderJobsetName %]
[% END %]
[% BLOCK renderFullJobName %]
[% INCLUDE renderProjectName %]:[% INCLUDE renderJobsetName %]:[% INCLUDE renderJobName %]
[% END %]
[% BLOCK renderFullJobNameOfBuild %]
[% INCLUDE renderFullJobName project=build.get_column("project") jobset = build.get_column("jobset") job = build.get_column("job") %]
[% END %]
[% BLOCK renderDuration -%]
[% IF duration >= 24 * 60 * 60 %][% duration div (24 * 60 * 60) %]d[% END %]
[% IF duration >= 60 * 60 %][% duration div (60 * 60) % 24 %]h[% END %]
[% IF duration >= 60 %][% duration div 60 % 60 %]m[% END %]
[% duration % 60 %]s
[% END %]
[% BLOCK renderBuildList %]
[% IF !hideResultInfo %]
|
[% END %]
# |
[% IF showSchedulingInfo %]
|
P |
[% END %]
Job |
Release Name |
System |
Timestamp |
[% IF showStatusChange %]
[% END %]
[% IF showDescription %]
Description |
[% END %]
[% odd = 0 %]
[% FOREACH build IN builds -%]
[% IF !hideResultInfo %]
[% IF build.get_column('buildstatus') == 0 %]
[% ELSE %]
[% END %]
|
[% END %]
[% build.id %] |
[% IF showSchedulingInfo %]
[% IF build.get_column('busy') %][% ELSIF build.get_column('disabled') == 1 || build.get_column('enabled') == 0 %]Disabled[% END %] |
[% build.get_column('priority') %] |
[% END %]
[% INCLUDE renderFullJobNameOfBuild %]
|
[% !showSchedulingInfo and build.get_column('releasename') ? build.get_column('releasename') : build.nixname %] |
[% build.system %] |
[% date.format(build.timestamp, '%Y-%m-%d %H:%M:%S') %] |
[% IF showStatusChange %]
[% IF build.get_column('statusChangeTime') %]
[% date.format(build.get_column('statusChangeTime'), '%Y-%m-%d %H:%M:%S') %]
[% ELSE %]
never
[% END %]
|
[% END %]
[% IF showDescription %]
[% build.description %] |
[% END -%]
[% END -%]
[% END %]
[% BLOCK renderLink %][% title %][% END %]
[% BLOCK showBuildStats %]
Finished builds: |
[% finishedBuilds %] |
Succeeded builds: |
[% succeededBuilds %] |
Failed builds: |
[% finishedBuilds - succeededBuilds %] |
Total build time: |
[% INCLUDE renderDuration duration = totalBuildTime %] |
Scheduled builds: |
[% scheduledBuilds %] |
Currently executing builds: |
[% busyBuilds %] |
[% END %]
[% BLOCK renderViewJobName -%]
[% IF job.description; HTML.escape(job.description); ELSE %][% job.job %] ([% job.attrs %])[% END -%]
[% END -%]
[% BLOCK maybeLink -%]
[% IF uri %] uri) %][% IF confirmmsg %]onclick="javascript:return confirm('[% confirmmsg %]')"[% END %]>[% content %][% ELSE; content; END -%]
[% END -%]
[% BLOCK renderSelection %]
[% IF edit %]
[% ELSE %]
[% options.$curValue %]
[% END %]
[% END %]
[% BLOCK maybeEditString;
IF edit -%]
param, name => param, value => value) %] />
[% ELSE;
HTML.escape(value);
END -%]
[% END -%]
[% BLOCK renderFullBuildLink %]
[% INCLUDE renderFullJobNameOfBuild build=build %] build [% build.id %][% -%]
[% END %]
[% BLOCK renderBuildStatusIcon; %]
[% IF build.finished %]
[% IF build.resultInfo.buildstatus == 0 %]
[% ELSIF build.resultInfo.buildstatus == 1 %]
[% ELSIF build.resultInfo.buildstatus == 2 %]
[% ELSIF build.resultInfo.buildstatus == 4 %]
[% ELSIF build.resultInfo.buildstatus == 5 %]
[% ELSIF build.resultInfo.buildstatus == 6 %]
[% ELSE %]
[% END %]
[% ELSIF build.schedulingInfo.busy %]
[% ELSE %]
[% END %]
[% END %]
[% BLOCK renderStatus; %]
[% IF build.finished %]
[% IF build.resultInfo.buildstatus == 0 %]
Success
[% ELSIF build.resultInfo.buildstatus == 1 %]
Build returned a non-zero exit code
[% ELSIF build.resultInfo.buildstatus == 2 %]
A dependency of the build failed
[% ELSIF build.resultInfo.buildstatus == 4 %]
Cancelled by user
[% ELSIF build.resultInfo.buildstatus == 5 %]
Build inhibited because a dependency previously failed to build
[% failedDep = build.resultInfo.failedDep %]
(namely, [% failedDep.outpath %])
[% ELSIF build.resultInfo.buildstatus == 6 %]
Build failed (with result)
[% ELSE %]
Build failed
(see below)
[% END %]
[% IF c.user_exists && (build.resultInfo.buildstatus == 3 || build.resultInfo.buildstatus == 4) %]
[% END %]
[% ELSIF build.schedulingInfo.busy %]
Build in progress
since [% INCLUDE renderDateTime timestamp = build.schedulingInfo.starttime %]
[% ELSE %]
Scheduled to be built
[% IF c.user_exists %]
[% END %]
[% END %]
[% END -%]
[% BLOCK renderInputValue %]
[% IF input.type == "build" || input.type == "sysbuild" %]
[% INCLUDE renderFullBuildLink build=input.dependency %]
[% ELSIF input.type == "string" || input.type == "boolean" %]
"[% input.value %]"
[% ELSE %]
[% input.uri %][% IF input.revision %] (r. [% input.revision %])[% END %]
[% END %]
[% END %]
[% BLOCK renderShortInputValue %]
[% IF input.type == "build" || input.type == "sysbuild" %]
[% build.id %]
[% ELSIF input.type == "string" || input.type == "boolean" %]
"[% input.value %]"
[% ELSE %]
[% input.uri %][% IF input.revision %] (r. [% input.revision %])[% END %]
[% END %]
[% END %]
[% BLOCK renderDiffUri; %]
[% nouri = 1 %]
[% FOREACH m IN mappers %]
[% base = m.baseuri %]
[% url = bi1.uri %]
[% path = url.replace(base, '') %]
[% IF url.match(base) %]
[% contents %]
[% nouri = 0 %]
[% END %]
[% END %]
[% IF nouri %]
[% contents %]
[% END %]
[% END %]
[% BLOCK renderInputDiff; %]
[% IF !nestedDiff %]
Input | Changes |
[% END %]
[% FOREACH bi1 IN build1.inputs %]
[% deletedInput = 1 %]
[% FOREACH bi2 IN build2.inputs %]
[% IF bi1.name == bi2.name %]
[% IF bi1.type == bi2.type %]
[% IF bi1.value != bi2.value || bi1.uri != bi2.uri %]
[% bi1.name %] | [% INCLUDE renderShortInputValue input=bi1 %] to [% INCLUDE renderShortInputValue input=bi2 %] |
[% ELSIF bi1.uri == bi2.uri && bi1.revision != bi2.revision %]
[% IF bi1.type == "git" %]
[% bi1.name %] | [% INCLUDE renderDiffUri contents=(bi1.revision.substr(0, 6) _ ' to ' _ bi2.revision.substr(0, 6)) %]
|
[% ELSE %]
[% bi1.name %] | [% INCLUDE renderDiffUri contents=(bi1.revision _ ' to ' _ bi2.revision) %]
|
[% END %]
[% ELSIF bi1.dependency.id != bi2.dependency.id || bi1.path != bi2.path %]
[% bi1.name %] | [% INCLUDE renderShortInputValue input=bi1 %] to [% INCLUDE renderShortInputValue input=bi2 %]
[% INCLUDE renderInputDiff build1=bi1.dependency, build2=bi2.dependency, nestedDiff=1 %]
|
[% END %]
[% ELSE %]
[% bi1.name %] | Changed input type from '[% type = bi1.type; inputTypes.$type %]' to '[% type = bi2.type; inputTypes.$type %]' |
[% END %]
[% deletedInput = 0 %]
[% END %]
[% END %]
[% IF deletedInput == 1 %]
[% bi1.name %] | Input not present in this build. |
[% END %]
[% END %]
[% END %]
[% BLOCK hydraStatus %]
Machine | Job | Type | Build | Step | What | Since |
[% FOREACH step IN steps %]
[% IF step.machine; step.machine.match('@(.*)').0; ELSE; 'localhost'; END %] |
[% INCLUDE renderFullJobName project = step.build.project.name jobset = step.build.jobset.name job = step.build.job.name %] |
[% step.system %] |
[% step.build.id %] |
[% step.stepnr %] |
[% step.outpath.match('-(.*)').0 %] |
[% INCLUDE renderDuration duration = curTime - step.starttime %] |
[% END %]
[% END %]
[% BLOCK buildsGraph %]
[% END %]