зеркало из https://github.com/mozilla/treeherder.git
171 строка
6.5 KiB
HTML
171 строка
6.5 KiB
HTML
<!DOCTYPE html>
|
|
<html ng-controller="LogviewerCtrl" ng-init="init()" ng-app="logviewer" ng-strict-di>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title ng-bind="::logViewerTitle">Log viewer</title>
|
|
<!-- build:css css/logviewer.min.css -->
|
|
<link href="vendor/css/bootstrap.css" rel="stylesheet" media="screen">
|
|
<link href="vendor/css/font-awesome.css" rel="stylesheet" media="screen">
|
|
<link href="css/treeherder-global.css" rel="stylesheet" type="text/css">
|
|
<link href="css/logviewer.css" rel="stylesheet" type="text/css">
|
|
<!-- endbuild -->
|
|
<link id="favicon" type="image/png" rel="shortcut icon" href="img/logviewerIcon.png">
|
|
</head>
|
|
<body class="body-logviewer">
|
|
<!-- Logviewer navbar -->
|
|
<nav class="navbar navbar-default" role="navigation">
|
|
<div class="container-fluid">
|
|
<ul class="nav navbar-nav">
|
|
|
|
<!-- Logo menu button -->
|
|
<li>
|
|
<span class="dropdown">
|
|
<button id="lv-logo" title="Treeherder services" role="button"
|
|
data-toggle="dropdown">Logviewer
|
|
<span class="fa fa-angle-down"></span>
|
|
</button>
|
|
<ul class="dropdown-menu" role="menu" aria-labelledby="lv-logo">
|
|
<li><a href="/">Treeherder</a></li>
|
|
<li><a href="perf.html">Perfherder</a></li>
|
|
</ul>
|
|
</span>
|
|
</li>
|
|
|
|
<!-- Job status -->
|
|
<li ng-if="jobExists" class="{{::resultStatusShading}}">
|
|
<div>
|
|
<span ng-cloak><strong>{{result.label}}: </strong></span>
|
|
<span ng-cloak>{{result.value}}</span>
|
|
</div>
|
|
</li>
|
|
<li ng-if="!jobExists" class="alert-danger">
|
|
<div>
|
|
<span title="The job does not exist or has expired">Unavailable</span>
|
|
</div>
|
|
</li>
|
|
|
|
<!-- Raw log button -->
|
|
<li ng-if="jobExists">
|
|
<a title="{{logError ? 'Raw log link no longer exists or has expired (click for path)' :
|
|
'Open the raw log in a new window'}}"
|
|
target="_blank"
|
|
href="{{rawLogURL}}">
|
|
<span ng-class="logError ? 'fa-warning actionbtn-warning' : 'fa-file-text-o actionbtn-icon'"
|
|
class="fa"></span>
|
|
<span>open raw log</span>
|
|
</a>
|
|
</li>
|
|
|
|
<!-- Ref test button -->
|
|
<li ng-if="isReftest()" ng-cloak>
|
|
<a title="Open the Reftest Analyser in a new window"
|
|
target="_blank"
|
|
href="https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl={{rawLogURL}}&only_show_unexpected=1">
|
|
<span class="fa fa-bar-chart-o actionbtn-icon"></span>
|
|
<span>open analyser</span>
|
|
</a>
|
|
</li>
|
|
|
|
<!-- Show successful steps button -->
|
|
<li ng-if="hasFailedSteps()"
|
|
class="lv-actionbtn">
|
|
<div id="lv-successful-steps">
|
|
<input type="checkbox"
|
|
ng-model="showSuccessful"
|
|
ng-change="toggleSuccessfulSteps()"
|
|
ng-disabled="isTaskClusterLog"
|
|
ng-attr-title="{{isTaskClusterLog ? 'Not available on TaskCluster jobs' : ''}}"/>
|
|
<span>show successful steps</span>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</nav>
|
|
|
|
<!-- Job header and steps navigation -->
|
|
<div class="run-data">
|
|
<div class="col-md-6" >
|
|
<div class="job-header">
|
|
<table class="table table-condensed" >
|
|
<tr ng-repeat="property in logProperties">
|
|
<th ng-cloak>{{property.label}}</th>
|
|
<td ng-if="property.label == 'Revision'" class="break-word">
|
|
<a href="{{::property.value | getRevisionUrl:repoName}}&selectedJob={{job_id}}"
|
|
title="Open push"
|
|
ng-cloak>{{property.value}}</a>
|
|
</td>
|
|
<td ng-if="property.label != 'Revision'"
|
|
ng-cloak class="break-word">{{property.value}}</td>
|
|
</tr>
|
|
<tr ng-repeat="line in job_details | orderBy:'title'">
|
|
<th ng-cloak>
|
|
<span ng-if="line.title">
|
|
{{line.title}}:
|
|
</span>
|
|
</th>
|
|
<td ng-cloak>
|
|
<a ng-if="line.url" title="{{line.value}}"
|
|
href="{{line.url}}" target="_blank">{{line.value}}</a>
|
|
<span ng-if="!line.url" ng-bind-html="line.value"></span>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6" lv-log-steps></div>
|
|
</div>
|
|
|
|
<th-log-viewer class="logview-container"></th-log-viewer>
|
|
|
|
<th-notification-box></th-notification-box>
|
|
|
|
<!-- build:js js/logviewer.min.js -->
|
|
<script src="vendor/jquery-2.1.3.js"></script>
|
|
<script src="vendor/angular/angular.js"></script>
|
|
<script src="vendor/angular/angular-route.js"></script>
|
|
<script src="vendor/angular/angular-resource.js"></script>
|
|
<script src="vendor/angular/angular-cookies.js"></script>
|
|
<script src="vendor/angular/angular-sanitize.js"></script>
|
|
<script src="vendor/angular-local-storage.min.js"></script>
|
|
<script src="vendor/bootstrap.js"></script>
|
|
<script src="vendor/lodash.js"></script>
|
|
<script src="vendor/resizer.js"></script>
|
|
<script src="vendor/taskcluster-1.6.0.js"></script>
|
|
|
|
<script src="js/treeherder.js"></script>
|
|
<script src="js/logviewer.js"></script>
|
|
<script src="js/providers.js"></script>
|
|
<script src="js/values.js"></script>
|
|
|
|
<!-- Directives -->
|
|
<script src="js/directives/treeherder/log_viewer_steps.js"></script>
|
|
<script src="js/directives/treeherder/main.js"></script>
|
|
|
|
<!-- Components -->
|
|
<script src="js/components/logviewer/logviewer.js"></script>
|
|
|
|
<!-- Main services -->
|
|
<script src="js/services/main.js"></script>
|
|
<script src="js/services/log.js"></script>
|
|
<script src="js/services/taskcluster.js"></script>
|
|
|
|
<!-- Model services -->
|
|
<script src="js/models/job_detail.js"></script>
|
|
<script src="js/models/job.js"></script>
|
|
<script src="js/models/runnable_job.js"></script>
|
|
<script src="js/models/resultset.js"></script>
|
|
<script src="js/models/text_log_step.js"></script>
|
|
|
|
<!-- Filter -->
|
|
<script src="js/filters.js"></script>
|
|
|
|
<!-- Controllers -->
|
|
<script src="js/controllers/logviewer.js"></script>
|
|
<!-- endbuild -->
|
|
|
|
<!-- build:dontbuild -->
|
|
<script src="js/config/local.conf.js"></script>
|
|
<!-- endbuild -->
|
|
</body>
|
|
</html>
|