[% WRAPPER layout.tt title="Job ‘$project.name:$jobset.name:$job.name’ build $id" %] [% PROCESS common.tt %] [% PROCESS "product-list.tt" %] [% USE HTML %] [% USE Date %] [% project = build.project %] [% jobset = build.jobset %] [% job = build.job %] [% BLOCK renderBuildSteps %]
Nr | What | Duration | Machine | Status |
---|---|---|---|---|
[% step.stepnr %] | [% IF step.type == 0 %] Build of [% step.outpath %] [% ELSE %] Substitution of [% step.outpath %] [% END %] | [% IF step.busy == 0 %] [% INCLUDE renderDuration duration = step.stoptime - step.starttime %] [% ELSE %] [% IF build.finished %] [% INCLUDE renderDuration duration = build.resultInfo.stoptime - step.starttime %] [% ELSE %] [% INCLUDE renderDuration duration = curTime - step.starttime %] [% END %] [% END %] | [% step.machine.split('@').1 %] | [% IF step.busy == 1 %] [% IF build.finished %] Aborted [% ELSE %] Building [% END %] [% ELSIF step.status == 0 %] Succeeded [% ELSE %] Failed: [% HTML.escape(step.errormsg) %] [% END %] [% IF step.logfile %] (log, raw, tail) [% END %] |
[% flashMsg %]
[% END %][% INCLUDE renderBuildStatusIcon size=128, build=build %] |
|
Note: this build is no longer available.
[% END %] [% INCLUDE renderProductList latestRoot=['/job' build.project.name build.jobset.name build.job.name 'latest'] %] [% END %] [% IF !build.finished %] [% INCLUDE renderBuildSteps type="Running" %] [% END %] [% IF build.finished %] [% IF build.buildsteps && build.resultInfo.buildstatus != 0 && build.resultInfo.buildstatus != 6 %] [% INCLUDE renderBuildSteps type="Failed" %] [% END %] [% IF build.resultInfo.buildstatus != 0 && prevSuccessfulBuild %]Last successful build [% INCLUDE renderDateTime timestamp = prevSuccessfulBuild.timestamp %] | [% IF prevSuccessfulBuild && firstBrokenBuild && firstBrokenBuild.id != build.id %]First broken build [% INCLUDE renderDateTime timestamp = firstBrokenBuild.timestamp %] | [% END %]This build [% INCLUDE renderDateTime timestamp = build.timestamp %] |
---|---|---|
[% INCLUDE renderBuildStatusIcon build=prevSuccessfulBuild size=32 %] [% INCLUDE renderFullBuildLink build=prevSuccessfulBuild %] | [% IF prevSuccessfulBuild && firstBrokenBuild && firstBrokenBuild.id != build.id %][% INCLUDE renderBuildStatusIcon build=firstBrokenBuild size=32 %] [% INCLUDE renderFullBuildLink build=firstBrokenBuild %] | [% END %][% INCLUDE renderBuildStatusIcon build=build size=32 %] [% INCLUDE renderFullBuildLink build=build %] |
[% IF prevSuccessfulBuild && firstBrokenBuild && firstBrokenBuild.id != build.id %] | [% INCLUDE renderInputDiff build1=prevSuccessfulBuild , build2=firstBrokenBuild %] | [% END %][% INCLUDE renderInputDiff build1=prevSuccessfulBuild , build2=build %] |
[% HTML.escape(build.resultInfo.errormsg) -%][% END %] [% END %] [% IF logtext %]
[% HTML.escape(logtext) -%][% END %]
Build ID: | [% build.id %] |
---|---|
Status: | [% INCLUDE renderStatus build=build %] |
Project: | [% INCLUDE renderProjectName project=project.name %] |
Jobset: | [% INCLUDE renderJobsetName project=project.name jobset=jobset.name %] |
Job name: | [% INCLUDE renderJobName project=project.name jobset=jobset.name job=job.name %] |
Nix expression: | file [% HTML.escape(build.nixexprpath) %] in input [% HTML.escape(build.nixexprinput) %] |
Nix name: | [% build.nixname %] |
Release name: | [% HTML.escape(build.resultInfo.releasename) %] |
Short description: | [% IF build.description %][% HTML.escape(build.description) %][% ELSE %](not given)[% END %] |
Long description: | [% IF build.longdescription %][% HTML.escape(build.longdescription) %][% ELSE %](not given)[% END %] |
License: | [% IF build.license %][% HTML.escape(build.license) %][% ELSE %](not given)[% END %] |
Homepage: | [% IF build.homepage %] build.homepage) %]>[% HTML.escape(build.homepage) %][% ELSE %](not given)[% END %] |
Maintainer(s): | [% IF build.maintainers %][% HTML.escape(build.maintainers) %][% ELSE %](not given)[% END %] |
System: | [% build.system %] |
Max silent / timeout: | [% build.maxsilent %]s / [% build.timeout %]s |
Derivation store path: | [% build.drvpath %] [% IF drvAvailable %] (build-time dependencies: graph | list) [% END %] |
Output store path: | [% build.outpath %] [% IF available %] (runtime dependencies: graph | list) [% END %] |
Output store path hash: | [% pathHash %] |
Time added: | [% INCLUDE renderDateTime timestamp = build.timestamp %] |
Cached build: | [% INCLUDE renderFullBuildLink build=cachedBuild %] |
Build started: | [% IF build.resultInfo.starttime %][% INCLUDE renderDateTime timestamp = build.resultInfo.starttime %][% ELSE %](cached build)[% END %] |
Build finished: | [% IF build.resultInfo.stoptime %][% INCLUDE renderDateTime timestamp = build.resultInfo.stoptime %][% ELSE %](cached build)[% END %] |
Duration: | [% IF build.resultInfo.iscachedbuild %] (cached build) [% ELSE %] [% INCLUDE renderDuration duration = build.resultInfo.stoptime - build.resultInfo.starttime %] [% END %] |
Logfile: | Available (raw, tail) |
Priority: | [% build.schedulingInfo.priority %] |
Availability: | [% IF !available %] Build output is no longer available [% ELSIF build.resultInfo.keep %] Build output will be kept permanently [% IF c.user_exists %] [% END %] [% ELSE %] Build output is available, but may be garbage-collected [% IF c.user_exists %] [% END %] [% END %] |
Name | Type | Value | Revision | Store path |
---|---|---|---|---|
[% input.name %] | [% type = input.type; inputTypes.$type %] | [% IF input.type == "build" || input.type == "sysbuild" %] [% INCLUDE renderFullBuildLink build=input.dependency %] [% ELSIF input.type == "string" || input.type == "boolean" %] "[% input.value %]" [% ELSE %] [% input.uri %] [% END %] | [% IF input.revision %][% input.revision %][% END %] | [% input.path %] |
The following builds have used this build as an input:
Build | Input name | System | Timestamp |
---|---|---|---|
[% INCLUDE renderFullBuildLink build=input.build %] | [% input.name %] | [% input.build.system %] | [% INCLUDE renderDateTime timestamp = input.build.timestamp %] |