| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 {{define "title"}} |  | 
| 2   {{ with .Build.Summary -}} |  | 
| 3     {{ if eq .Status.String "InfraFailure" }} |  | 
| 4       Infra Failure |  | 
| 5     {{ else if eq .Status.String "Exception" }} |  | 
| 6       Exception |  | 
| 7     {{ else if eq .Status.String "Failure" }} |  | 
| 8       Failed |  | 
| 9     {{ else if eq .Status.String "NotRun" }} |  | 
| 10       Pending |  | 
| 11     {{ else }} |  | 
| 12       {{ .Status.String }} |  | 
| 13     {{ end }} |  | 
| 14     - |  | 
| 15     {{ if .ParentLabel }} {{ .ParentLabel.Label }} {{ end }} |  | 
| 16     {{ .Label }} |  | 
| 17   {{- end }} |  | 
| 18 {{end}} |  | 
| 19 |  | 
| 20 {{define "head"}} |  | 
| 21 <link id="favicon" rel="shortcut icon" type="image/png" href="/static/common/fav
     icon/ |  | 
| 22 {{- with .Build.Summary.Status.String -}} |  | 
| 23   {{- if eq . "Running" -}} yellow |  | 
| 24   {{- else if eq . "Success" -}} green |  | 
| 25   {{- else if eq . "InfraFailure" -}} purple |  | 
| 26   {{- else if eq . "Exception" -}} purple |  | 
| 27   {{- else if eq . "Expired" -}} darkpurple |  | 
| 28   {{- else if eq . "Failure" -}} red |  | 
| 29   {{- else if eq . "NotRun" -}} gray |  | 
| 30   {{- else if eq . "Warning" -}} yellow |  | 
| 31   {{- else if eq . "DependencyFailure" -}} redamber |  | 
| 32   {{- else if eq . "WaitingDependency" -}} brown |  | 
| 33   {{- else -}} milo |  | 
| 34   {{- end -}} |  | 
| 35 {{- end -}}-32.png"> |  | 
| 36 |  | 
| 37 {{end}} |  | 
| 38 |  | 
| 39 {{define "body"}} |  | 
| 40   <div class="content"> |  | 
| 41     <h1> |  | 
| 42       {{ if .Build.Summary.ParentLabel }} |  | 
| 43         Builder {{ .Build.Summary.ParentLabel | linkify }} |  | 
| 44       {{ end }} |  | 
| 45       Build {{.Build.Summary.Label}} |  | 
| 46       {{ if .Build.Summary.Banner }} |  | 
| 47         {{ range .Build.Summary.Banner.OS }} |  | 
| 48           <img src="/static/common/logos/{{.LogoBase.Img}}" alt="{{.LogoBase.Alt
     }}" |  | 
| 49                width="25px"> |  | 
| 50         {{ end }} |  | 
| 51         {{ range .Build.Summary.Banner.Device }} |  | 
| 52           <img src="/static/common/logos/{{.LogoBase.Img}}" alt="{{.LogoBase.Alt
     }}" |  | 
| 53                width="25px"> |  | 
| 54         {{ end }} |  | 
| 55       {{ end }} |  | 
| 56     </h1> |  | 
| 57 |  | 
| 58     <div class="column"> |  | 
| 59 |  | 
| 60       <h2>Results:</h2> |  | 
| 61       {{ with .Build.Summary }} |  | 
| 62         {{ if eq .Status.String "Running" }} |  | 
| 63           <p class="running result">Build Running |  | 
| 64         {{ else if eq .Status.String "Success" }} |  | 
| 65           <p class="success result">Build Successful |  | 
| 66         {{ else if eq .Status.String "InfraFailure" }} |  | 
| 67           <p class="exception result">Internal Failure |  | 
| 68         {{ else if eq .Status.String "Exception" }} |  | 
| 69           <p class="exception result">Exception |  | 
| 70         {{ else if eq .Status.String "Expired" }} |  | 
| 71           <p class="expired result">Internal Failure - Expired |  | 
| 72         {{ else if eq .Status.String "Failure" }} |  | 
| 73           <p class="failure result">Build Failed |  | 
| 74         {{ else if eq .Status.String "NotRun" }} |  | 
| 75           <p class="pending result">Build Pending |  | 
| 76         {{ else }} |  | 
| 77           <p class="failure result">Unknown status {{.Status.String }} |  | 
| 78         {{ end }} |  | 
| 79         <span class="subtitle"> |  | 
| 80           {{ range .Text }}<div class="step-text">{{ . }}</div>{{ end }} |  | 
| 81         </span> |  | 
| 82         </p> |  | 
| 83       {{ end }} <!-- with --> |  | 
| 84 |  | 
| 85 |  | 
| 86       {{ if .Build.SourceStamp }} |  | 
| 87       {{ with .Build.SourceStamp }} |  | 
| 88 |  | 
| 89       <h2>SourceStamp:</h2> |  | 
| 90 |  | 
| 91       <table class="info" width="100%"> |  | 
| 92 |  | 
| 93       {{ if .Commit.Repo }} |  | 
| 94         <tr><td class="left">Repository</td><td>{{ .Commit.Repo }}</td></tr> |  | 
| 95       {{ end }} |  | 
| 96 |  | 
| 97       {{ if .Commit.Branch }} |  | 
| 98         <tr><td class="left">Branch</td><td>{{ .Commit.Branch }}</td></tr> |  | 
| 99       {{ end }} |  | 
| 100 |  | 
| 101       {{ if .Commit.RequestRevision }} |  | 
| 102         <tr><td class="left">Revision</td><td>{{ .Commit.RequestRevision | linki
     fy }}</td></tr> |  | 
| 103       {{ end }} |  | 
| 104 |  | 
| 105       {{ if .Commit.Revision }} |  | 
| 106         <tr><td class="left">Got Revision</td><td>{{ .Commit.Revision | linkify 
     }}</td></tr> |  | 
| 107       {{ end }} |  | 
| 108 |  | 
| 109       {{ if .Commit.Changelist }} |  | 
| 110         <tr><td class="left">Patch</td><td>{{ .Commit.Changelist | linkify }}</t
     d></tr> |  | 
| 111       {{ end }} |  | 
| 112 |  | 
| 113       </table> |  | 
| 114       {{ end }}  <!-- with --> |  | 
| 115       {{ end }}  <!-- if --> |  | 
| 116 |  | 
| 117       {{ if or .Build.Summary.Bot .Build.Summary.Source }} |  | 
| 118       <h2>Execution:</h2> |  | 
| 119       <ul> |  | 
| 120         {{ if .Build.Summary.Source }} |  | 
| 121         <li> |  | 
| 122           Source: |  | 
| 123           <a href="{{ .Build.Summary.Source.URL }}">{{ .Build.Summary.Source.Lab
     el }}</a> |  | 
| 124         </li> |  | 
| 125         {{ end }} |  | 
| 126 |  | 
| 127         {{ if .Build.Summary.Bot }} |  | 
| 128         <li> |  | 
| 129           Bot: |  | 
| 130           <a href="{{ .Build.Summary.Bot.URL }}">{{ .Build.Summary.Bot.Label }}<
     /a> |  | 
| 131         </li> |  | 
| 132         {{ end }} |  | 
| 133 |  | 
| 134         {{ if .Build.Summary.Recipe}} |  | 
| 135         <li> |  | 
| 136           Recipe: {{ .Build.Summary.Recipe | linkify }} |  | 
| 137         </li> |  | 
| 138         {{ end }} |  | 
| 139       </ul> |  | 
| 140       {{ end }} <!-- if --> |  | 
| 141 |  | 
| 142       {{ if .Build.SourceStamp }} |  | 
| 143         {{ if .Build.SourceStamp.Source }} |  | 
| 144           <h2>Reason:</h2> |  | 
| 145           <p>{{ .Source }}</p> |  | 
| 146         {{ end }} |  | 
| 147       {{ end }} |  | 
| 148 |  | 
| 149       {{ if or .Build.Components .Build.Summary.SubLink }} |  | 
| 150         <h2>Steps and Logfiles:</h2> |  | 
| 151         Show: |  | 
| 152         <input type="radio" name="hider" id="showAll"> |  | 
| 153           <label for="showAll">All</label> |  | 
| 154         <input type="radio" name="hider" id="showStandard" checked> |  | 
| 155           <label for="showStandard">Standard</label> |  | 
| 156         <input type="radio" name="hider" id="showInteresting"> |  | 
| 157           <label for="showInteresting">Non-Green Only</label> |  | 
| 158         <ol id="steps" class="standard"> |  | 
| 159 |  | 
| 160           {{ with .Build.Summary }} |  | 
| 161             {{ if .SubLink }} |  | 
| 162             <li class="verbosity-{{.Verbosity.String}}"> |  | 
| 163               <div class="status-{{.Status}} result"> |  | 
| 164                 {{ if .Duration -}} |  | 
| 165                 <span class="duration" |  | 
| 166                       data-starttime="{{ .Started | formatTime }}" |  | 
| 167                       {{ if .Finished }}data-endtime="{{ .Finished | formatTime 
     }}"{{ end }}> |  | 
| 168                       ( {{ .Duration | humanDuration }} )</span> |  | 
| 169                 {{- end }} |  | 
| 170                 <b>Steps</b> |  | 
| 171               </div> |  | 
| 172               <ul> |  | 
| 173                 {{ range .SubLink  }} |  | 
| 174                 <li class="sublink">{{ . | linkifySet }}</li> |  | 
| 175                 {{ end }} |  | 
| 176               </ul> |  | 
| 177             </li> |  | 
| 178             {{ end }} |  | 
| 179           {{ end }} |  | 
| 180 |  | 
| 181           {{ range .Build.Components  }} |  | 
| 182           <li class="verbosity-{{.Verbosity.String}}"> |  | 
| 183             <div class="status-{{.Status}} result"> |  | 
| 184               {{ if .Duration -}} |  | 
| 185               <span class="duration" |  | 
| 186                     data-starttime="{{ .Started | formatTime }}" |  | 
| 187                     {{ if .Finished }}data-endtime="{{ .Finished | formatTime }}
     "{{ end }}> |  | 
| 188                     ( {{ .Duration | humanDuration }} )</span> |  | 
| 189               {{- end }} |  | 
| 190               <b>{{.Label}}</b> |  | 
| 191               <span> |  | 
| 192                 {{ range .Text -}} |  | 
| 193                   <div class="step-text"> |  | 
| 194                     {{- if . -}}{{- . -}}{{- else -}} {{- end -}} |  | 
| 195                   </div> |  | 
| 196                 {{- end }} |  | 
| 197               </span> |  | 
| 198             </div> |  | 
| 199             <ul> |  | 
| 200               {{ if .MainLink }} |  | 
| 201                 <li class="sublink">{{.MainLink | linkifySet}}</li> |  | 
| 202                 {{- if eq .Verbosity.String "Interesting" -}} |  | 
| 203                   {{ range .MainLink }} |  | 
| 204                     <link rel="prerender" href="{{.URL}}"> |  | 
| 205                     <link rel="prefetch" href="{{.URL}}"> |  | 
| 206                   {{ end }} |  | 
| 207                 {{ end }} |  | 
| 208               {{- end }} |  | 
| 209               {{ range .SubLink }} |  | 
| 210                 <li class="sublink">{{. | linkifySet}}</li> |  | 
| 211               {{ end }} |  | 
| 212               {{ if not (or .MainLink .SubLink) }} |  | 
| 213                 <li class="sublink"> - no logs - </li> |  | 
| 214               {{ end }} |  | 
| 215             </ul> |  | 
| 216           </li> |  | 
| 217           {{ end }} |  | 
| 218         </ol> |  | 
| 219       {{ end }} <!-- if .Build.Components --> |  | 
| 220 |  | 
| 221     </div> |  | 
| 222 |  | 
| 223     <div class="column"> |  | 
| 224 |  | 
| 225       <h2>Build Properties:</h2> |  | 
| 226 |  | 
| 227       <table class="info BuildProperties" width="100%"> |  | 
| 228       <tr><th>Name</th><th>Value</th><th>Source</th></tr> |  | 
| 229 |  | 
| 230         {{ range .Build.PropertyGroup }} |  | 
| 231         {{ $name := .GroupName }} |  | 
| 232           {{ range .Property }} |  | 
| 233             <tr> |  | 
| 234               <td class="left">{{.Key}}</td> |  | 
| 235               <td class="middle"><abbr title="{{.Value}}">{{.Value}}</abbr></td> |  | 
| 236               <td>{{$name}}</td> |  | 
| 237             </tr> |  | 
| 238           {{ end }} |  | 
| 239         {{ end }} |  | 
| 240       </table> |  | 
| 241 |  | 
| 242       {{ if .Build.Blame }} |  | 
| 243         <h2>Blamelist:</h2> |  | 
| 244         <ol> |  | 
| 245         {{ range .Build.Blame }} |  | 
| 246           <li>{{ .AuthorName }} ({{ .AuthorEmail | obfuscateEmail }})</li> |  | 
| 247         {{ end }} |  | 
| 248         </ol> |  | 
| 249       {{ end }} |  | 
| 250 |  | 
| 251       <h2>Timing:</h2> |  | 
| 252       <table class="info" width="100%"> |  | 
| 253         <tr class="alt"><td class="left">Start</td> |  | 
| 254         <td> |  | 
| 255           {{ .Build.Summary.Started | localTime "N/A" }} |  | 
| 256         </td></tr> |  | 
| 257         <tr><td class="left">End</td> |  | 
| 258         <td> |  | 
| 259           {{ .Build.Summary.Finished | localTime "N/A" }} |  | 
| 260         </td></tr> |  | 
| 261         <tr class="alt"><td class="left">Elapsed</td> |  | 
| 262         <td id="duration"> |  | 
| 263           {{ if .Build.Summary.Started.IsZero }} |  | 
| 264             N/A |  | 
| 265           {{ else }} |  | 
| 266             {{ .Build.Summary.Duration | humanDuration }} |  | 
| 267           {{ end }} |  | 
| 268         </td></tr> |  | 
| 269       </table> |  | 
| 270 |  | 
| 271     </div> |  | 
| 272 |  | 
| 273     {{ if .Build.Blame}} |  | 
| 274     <div class="column"> |  | 
| 275       <h2>All Changes:</h2> |  | 
| 276       <ol> |  | 
| 277       {{ range .Build.Blame }} |  | 
| 278       <li> |  | 
| 279         <h3>{{.Title}}</h3> |  | 
| 280         <table class="info"> |  | 
| 281           <tbody> |  | 
| 282             <tr> |  | 
| 283               <td class="left">Changed by</td> |  | 
| 284               <td class="value"> |  | 
| 285                   {{ if .AuthorName }}{{ .AuthorName }} - {{ end }} |  | 
| 286                   {{ .AuthorEmail | obfuscateEmail }} |  | 
| 287               </td> |  | 
| 288             </tr> |  | 
| 289             <tr> |  | 
| 290               <td class="left">Changed at</td> |  | 
| 291               <td class="value">{{ .CommitTime | localTime "N/A" }}</td> |  | 
| 292             </tr> |  | 
| 293             <tr> |  | 
| 294               <td class="left">Repository</td> |  | 
| 295               <td class="value">{{ .Repo }}</td> |  | 
| 296             </tr> |  | 
| 297             <tr> |  | 
| 298               <td class="left">Branch</td> |  | 
| 299               <td class="value">{{ .Branch }}</td> |  | 
| 300             </tr> |  | 
| 301             <tr> |  | 
| 302               <td class="left">Revision</td> |  | 
| 303               <td class="value">{{ .Revision | linkify }}</td> |  | 
| 304             </tr> |  | 
| 305           </tbody> |  | 
| 306         </table> |  | 
| 307 |  | 
| 308         {{ if .Description }} |  | 
| 309           <h3>Comments</h3> |  | 
| 310           <pre class="comments">{{ .Description }}</pre> |  | 
| 311         {{ end }} |  | 
| 312 |  | 
| 313         {{ if .File }} |  | 
| 314           <h3 class="files">Changed files</h3> |  | 
| 315           <ul class="alternating"> |  | 
| 316             {{ range .File }} |  | 
| 317             <li class="file">{{ . }}</li> |  | 
| 318             {{ end }} |  | 
| 319           </ul> |  | 
| 320         {{ end }} |  | 
| 321 |  | 
| 322       </li> |  | 
| 323       {{ end }} |  | 
| 324       </ol> |  | 
| 325     </div> |  | 
| 326     {{ end }} |  | 
| 327   </div> |  | 
| 328 </div> |  | 
| 329 <script language="javascript"> |  | 
| 330 $(document).ready(function() { |  | 
| 331 |  | 
| 332   var check = function(className) { |  | 
| 333     $("#steps").removeClass("all standard interesting").addClass(className) |  | 
| 334   } |  | 
| 335 |  | 
| 336   $("#showInteresting").click(function(e) { |  | 
| 337     check("interesting"); |  | 
| 338   }); |  | 
| 339   $("#showStandard").click(function(e) { |  | 
| 340     check("standard"); |  | 
| 341   }); |  | 
| 342   $("#showAll").click(function(e) { |  | 
| 343     check("all"); |  | 
| 344   }); |  | 
| 345 |  | 
| 346   $("input[name='hider']").each(function(){ |  | 
| 347     if ($(this).prop("checked")) { |  | 
| 348       $(this).click(); |  | 
| 349     } |  | 
| 350   }); |  | 
| 351 }); |  | 
| 352 </script> |  | 
| 353 {{end}} |  | 
| OLD | NEW | 
|---|