[%- 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 -%]
[%- INCLUDE renderBuildStatusIcon size=16 busy=(showSchedulingInfo ? 1 : 0) buildstatus=build.get_column('buildStatus') -%]
|
[%- END -%]
[% build.id %] |
[%- IF showSchedulingInfo -%]
[% IF build.busy %][% ELSIF build.disabled == 1 || build.get_column('enabled') == 0 %]Disabled[% END %] |
[% build.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 -%]
[%- finished = build != undef ? build.finished : 1 -%]
[%- busy = busy != undef ? busy : build.busy -%]
[%- buildstatus = buildstatus != undef ? buildstatus : build.resultInfo.buildstatus -%]
[%- IF finished -%]
[%- IF buildstatus == 0 -%]
[%- ELSIF buildstatus == 1 -%]
[%- ELSIF buildstatus == 2 -%]
[%- ELSIF buildstatus == 4 -%]
[%- ELSIF buildstatus == 5 -%]
[%- ELSIF buildstatus == 6 -%]
[%- ELSE -%]
[%- END -%]
[%- ELSIF busy -%]
[%- ELSE -%]
[%- END -%]
[%- END -%]
[% BLOCK renderStatus %]
[% IF build.finished %]
[% buildstatus = build.resultInfo.buildstatus %]
[% INCLUDE renderBuildStatusIcon size=16 %]
[% IF buildstatus == 0 %]
Success
[% ELSIF buildstatus == 1 %]
Build returned a non-zero exit code
[% ELSIF buildstatus == 2 %]
A dependency of the build failed
[% ELSIF buildstatus == 4 %]
Cancelled by user
[% ELSIF buildstatus == 5 %]
Build inhibited because a dependency previously failed to build
[% failedDep = build.resultInfo.failedDep %]
(namely, [% failedDep.outpath %])
[% ELSIF buildstatus == 6 %]
Build failed (with result)
[% ELSE %]
Build failed
(see below)
[% END %]
[% IF c.user_exists && (buildstatus == 3 || buildstatus == 4) %]
[% END %]
[% ELSIF build.busy %]
Build in progress
since [% INCLUDE renderDateTime timestamp = build.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" %]
[% input.dependency.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 %]
[% res = bi1.uri.split(' ') %]
[% url = res.0 %]
[% branch = res.1 %]
[% IF bi1.type == "hg" || bi1.type == "git" %]
[% contents %]
[% ELSE %]
[% contents %]
[% END %]
[% 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 %]