github.com/billybanfield/evergreen@v0.0.0-20170525200750-eeee692790f7/service/templates/build.html (about)

     1  {{define "scripts"}}
     2  <style type="text/css">
     3    body{ background: #f5f6f7; }
     4  </style>
     5  <script type="text/javascript">
     6    window.build = {{ .Build }};
     7    window.plugins = null
     8  </script>
     9  <script type="text/javascript" src="{{Static "js" "build.js"}}?hash={{ StaticsMD5 }}"></script>
    10  {{if .User }}
    11  <script type="text/javascript" src="{{Static "js" "build_admin.js"}}?hash={{ StaticsMD5 }}"></script>
    12  {{end}}
    13  <script type="text/javascript">
    14    var userTz = {{GetTimezone $.User}}
    15    var plugins = {{.PluginContent.Data}}
    16  </script>
    17    {{range .PluginContent.Includes}}
    18      {{.}}
    19    {{end}}
    20  {{end}}
    21  
    22  {{define "title"}}
    23    {{ if .Build.PatchInfo }}
    24  Evergreen - Build of Patch {{.Build.PatchInfo.Patch.PatchNumber}} by {{.Build.PatchInfo.Patch.Author}} on {{.Build.Build.DisplayName}}
    25    {{ else }}
    26  Evergreen - Build {{Trunc .Build.Build.Revision 10}} on {{.Build.Build.DisplayName}}
    27    {{end}}
    28  {{end}}
    29  
    30  {{define "content"}}
    31  <div id="content" class="container-fluid" ng-controller="BuildViewController">
    32  <notify-box ng-init="destination='notifyHeader';"></notify-box>
    33    {{template "flash" . }}
    34    <ol class="breadcrumb">
    35      <li>
    36        <span>
    37          <span ng-show="build.PatchInfo">
    38            <a ng-href="/version/[[build.Version.id]]">
    39              Patch [[build.PatchInfo.Patch.PatchNumber]]
    40              by [[build.PatchInfo.Patch.Author]]
    41            </a>
    42          </span>
    43          <span class="gitspec" ng-hide="build.PatchInfo">
    44            <a ng-href="/version/[[build.Version.id]]">
    45              [[build.Build.gitspec.substr(0, 10)]]
    46            </a>
    47          </span>
    48        </span>
    49      </li>
    50      <li>
    51        [[build.Build.display_name]]
    52      </li>
    53    </ol>
    54  
    55    <div class="row">
    56      <div class="col-lg-7">
    57        <header class="clearfix">
    58          <h1 class="one-liner">
    59            Build of
    60            <span class="gitspec" ng-hide="build.PatchInfo">[[build.Build.gitspec.substr(0, 10)]]</span>
    61            <span ng-show="build.PatchInfo">Patch [[build.PatchInfo.Patch.PatchNumber]]</span>
    62            on [[build.Build.display_name]]
    63          </h1>
    64  
    65          {{if .User}}
    66            <div ng-controller="AdminOptionsCtrl" ng-init="setBuild(build.Build)" class="pull-right page-actions">
    67              <div id="admin-dropdown" class="dropdown pull-right">
    68                <a id="admin-options" class="btn btn-default" data-toggle="dropdown">
    69                  <i class="fa fa-gear"></i>
    70                  <i class="fa fa-caret-down"></i>
    71                </a>
    72  
    73                <ul class="dropdown-menu" role="menu">
    74                  <li><a tabindex="-1" href="#" ng-click="openAdminModal('schedule')">Schedule Build</a></li>
    75                  <li><a tabindex="-1" href="#" ng-click="openAdminModal('unschedule')">Unschedule Build</a></li>
    76                  <li><a tabindex="-1" href="#" ng-click="openAdminModal('abort')">Abort Build</a></li>
    77                  <li><a tabindex="-1" href="#" ng-click="openAdminModal('priority')">Set Priority</a></li>
    78                  <li><a tabindex="-1" href="#" ng-click="openAdminModal('restart')">Restart Build</a></li>
    79                </ul>
    80              </div>
    81              <admin-modal>
    82                <admin-schedule-build ng-show="adminOption=='schedule'"></admin-schedule-build>
    83                <admin-unschedule-build ng-show="adminOption=='unschedule'"></admin-unschedule-build>
    84                <admin-abort-build ng-show="adminOption=='abort'"></admin-abort-build>
    85                <admin-set-priority ng-show="adminOption=='priority'"></admin-set-priority>
    86                <admin-restart-build ng-show="adminOption=='restart'"></admin-restart-build>
    87              </admin-modal>
    88            </div>
    89          {{end}}
    90        </header>
    91  
    92        <div class="row">
    93          <div class="col-lg-12">
    94            <div class="mci-pod">
    95              <br>
    96              {{if .Build.PatchInfo}}
    97                <patch-commit-panel patchinfo="build.PatchInfo" basecommit="commit" timezone="{{GetTimezone .User}}" baselink="/build" base="{{.Build.PatchInfo.BaseBuildId}}"></patch-commit-panel>
    98              {{else}}
    99                <github-commit-panel commit="commit" timezone="{{GetTimezone .User}}"></github-commit-panel>
   100              {{end}}
   101              <table id="build-info-elements">
   102                <tr><td><i class="fa fa-clock-o"></i></td><th><strong title="The makespan is the difference in time from when the first task in the build has started to when the last task is completed.">Makespan</strong></th>
   103                  <td>
   104                    <span ng-show="makeSpanMS>0">[[makeSpanMS * 1000000 | default:0 | stringifyNanoseconds:true]]</span>
   105                    <span ng-show="makeSpanMS==0">Not Started</span>
   106                  </td>
   107                </tr>
   108                <tr><td><i class="fa fa-clock-o"></i></td><th><strong title="The time spent indicates the sum of the processing time across all the tasks in the build.">Time Spent</strong></th>
   109                  <td>
   110                    <span ng-show="totalTimeMS>0">[[totalTimeMS * 1000000 | default:0 | stringifyNanoseconds:true]]</span>
   111                    <span ng-show="totalTimeMS==0">Not Started</span>
   112                  </td>
   113                </tr>
   114              </table>
   115            </div>
   116          </div>
   117        </div>
   118  
   119        <div class="row">
   120          <div class="col-lg-12">
   121            <patch-diff-panel type="Task" baselink="/task/" diffs="build.PatchInfo.StatusDiffs" ng-show="build.PatchInfo.StatusDiffs"></patch-diff-panel>
   122          </div>
   123        </div>
   124  
   125        <div class="row">
   126          <div class="col-lg-12" ng-controller="BuildVariantHistoryController" ng-init="setBuildId(build.Build._id);" ng-show="!build.PatchInfo">
   127            <h3 class="section-heading"><i class="fa fa-wrench"></i> Build History <span class="semi-muted">for [[build.Build.display_name]]</span></h3>
   128            <div class="mci-pod">
   129              <div ng-repeat="build in builds" class="row build-small" ng-class="buildId == build.Build._id | conditional:'active':''">
   130                <div class="col-lg-6">
   131                  <div class="commit-message">
   132                    <div style="display: inline-block; width: 100px;">
   133                      <span class="label" ng-class="build.Build.status" build-status-label="build"></span>
   134                    </div>
   135                    <b>
   136                      <a ng-href="/build/[[build.Build._id]]" title="[[build.Version.message]]">
   137                        <span ng-class="viewingBuild.Build._id == build.Build._id | conditional:'semi-muted':''">[[build.Version.message]]</span>
   138                      </a>
   139                    </b>
   140                  </div>
   141                </div>
   142                <div class="col-lg-6">
   143                  <div results-bar="buildResults[build.Build._id]"></div>
   144                </div>
   145              </div>
   146              <div class="row build-small" style="margin-top: 10px; margin-bottom: 10px" ng-style="{ 'border-top': (!lastSuccess | conditional:'2px solid red':'2px solid #5cb85c') }" ng-show="showLastSuccess">
   147                <div ng-show="!!lastSuccess">
   148                  <div class="col-lg-12">
   149                    <p class="text-center text-muted"><em>&mdash; Last Successful Build &mdash;</em></p>
   150                  </div>
   151                  <div class="col-lg-6">
   152                    <div class="commit-message">
   153                      <div style="display: inline-block; width: 100px;">
   154                        <span class="label" ng-class="lastSuccess.Build.status" build-status-label="lastSuccess"></span>
   155                      </div>
   156                      <b>
   157                        <a ng-href="/build/[[lastSuccess.Build._id]]" title="[[lastSuccess.Version.message]]">
   158                          <span>[[lastSuccess.Version.message]]</span>
   159                        </a>
   160                      </b>
   161                    </div>
   162                  </div>
   163                  <div class="col-lg-6">
   164                    <div results-bar="buildResults[lastSuccess.Build._id]"></div>
   165                  </div>
   166                </div>
   167                <div ng-show="!lastSuccess">
   168                  <h2>No Prior Successful Builds</h2>
   169                </div>
   170              </div>
   171              <div class="text-right muted">
   172                <span ng-show="loading">Loading...</span>
   173              </div>
   174            </div>
   175          </div>
   176        </div>
   177  
   178        <div class="row">
   179          <div class="col-lg-12">
   180            {{range .PluginContent.Panels.Left}}
   181              {{.}}
   182            {{end}}
   183          </div>
   184        </div>
   185      </div>
   186  
   187      <div id="tasks-info" class="col-lg-5">
   188        <h3 class="section-heading"><i class="fa fa-tasks"></i> Tasks</h3>
   189        <div class="mci-pod">
   190          <table class="table table-new task-panel">
   191            <thead>
   192              <tr>
   193                <th class="col-lg-4">Task</th>
   194                <th class="col-lg-8">Time</th>
   195              </tr>
   196            </thead>
   197            <tbody>
   198              <tr ng-repeat="task in build.Tasks">
   199                <td class="col-lg-4">
   200                  <a ng-href="/task/[[task.Task.id]]">[[task.Task.display_name]]</a>
   201                </td>
   202                <td class="col-lg-8">
   203                  <div class="progress" progress-bar="task.Task.time_taken" progress-bar-max="computed.maxTaskTime" progress-bar-class="task.Task" progress-bar-title="task.Task.time_taken | stringifyNanoseconds"></div>
   204                </td>
   205              </tr>
   206            </tbody>
   207          </table>
   208        </div>
   209          {{range .PluginContent.Panels.Right}}
   210              {{.}}
   211          {{end}}
   212      </div>
   213    </div>
   214    <div class="row">
   215      <div class="col-lg-12">
   216        {{range .PluginContent.Panels.Center}}
   217          {{.}}
   218        {{end}}
   219      </div>
   220    </div>
   221  </div>
   222  {{end}}