Commit d496015f authored by timothy@apple.com's avatar timothy@apple.com

Tweaks to the Buildbot Dashboard

https://bugs.webkit.org/show_bug.cgi?id=122169

Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:
(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView.prototype.revisionLinksForIteration):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot.prototype.buildLogURLForIteration):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156736 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 7d63fc2e
......@@ -58,14 +58,6 @@ BuildbotBuilderQueueView.prototype = {
this.element.removeChildren();
function createRevisionLink(iteration)
{
var messageLinkElement = document.createElement("a");
messageLinkElement.href = iteration.queue.buildbot.tracRevisionURL(iteration.openSourceRevision);
messageLinkElement.textContent = "r" + iteration.openSourceRevision;
return messageLinkElement;
}
function appendBuilderQueueStatus(queue)
{
var pendingBuildCount = queue.pendingIterationsCount;
......@@ -78,15 +70,17 @@ BuildbotBuilderQueueView.prototype = {
var firstRecentFailedIteration = queue.firstRecentFailedIteration;
if (firstRecentFailedIteration && firstRecentFailedIteration.loaded) {
var failureCount = queue.recentFailedIterationCount;
var message = createRevisionLink(firstRecentFailedIteration);
var status = new StatusLineView(message, StatusLineView.Status.Bad, failureCount > 1 ? "failed builds since" : "failed build", failureCount > 1 ? failureCount : null);
var message = this.revisionLinksForIteration(firstRecentFailedIteration);
var url = queue.buildbot.buildLogURLForIteration(firstRecentFailedIteration);
var status = new StatusLineView(message, StatusLineView.Status.Bad, failureCount > 1 ? "failed builds since" : "failed build", failureCount > 1 ? failureCount : null, url);
this.element.appendChild(status.element);
}
var mostRecentSuccessfulIteration = queue.mostRecentSuccessfulIteration;
if (mostRecentSuccessfulIteration && mostRecentSuccessfulIteration.loaded) {
var message = createRevisionLink(mostRecentSuccessfulIteration);
var status = new StatusLineView(message, StatusLineView.Status.Good, firstRecentFailedIteration ? "last successful build" : "latest build");
var message = this.revisionLinksForIteration(mostRecentSuccessfulIteration);
var url = queue.buildbot.buildLogURLForIteration(mostRecentSuccessfulIteration);
var status = new StatusLineView(message, StatusLineView.Status.Good, firstRecentFailedIteration ? "last successful build" : "latest build", null, url);
this.element.appendChild(status.element);
} else {
var status = new StatusLineView("unknown", StatusLineView.Status.Neutral, firstRecentFailedIteration ? "last successful build" : "latest build");
......
......@@ -71,6 +71,32 @@ BuildbotQueueView.prototype = {
// Implemented by subclasses.
},
revisionLinksForIteration: function(iteration)
{
function linkForRevision(revision, internal)
{
var linkElement = document.createElement("a");
linkElement.href = iteration.queue.buildbot.tracRevisionURL(revision, internal);
linkElement.textContent = "r" + revision;
linkElement.target = "_new";
return linkElement;
}
console.assert(iteration.openSourceRevision);
var openSourceLink = linkForRevision(iteration.openSourceRevision, false);
if (!iteration.internalRevision)
return openSourceLink;
var internalLink = linkForRevision(iteration.internalRevision, true);
var fragment = document.createDocumentFragment();
fragment.appendChild(openSourceLink);
fragment.appendChild(document.createTextNode(" \uff0b "));
fragment.appendChild(internalLink);
return fragment;
},
_updateQueues: function()
{
this.releaseQueues.forEach(function(queue) { queue.update(); });
......
......@@ -61,11 +61,7 @@ BuildbotTesterQueueView.prototype = {
--limit;
var message = "r" + iteration.openSourceRevision;
var messageLinkElement = document.createElement("a");
messageLinkElement.href = iteration.queue.buildbot.tracRevisionURL(iteration.openSourceRevision);
messageLinkElement.textContent = message;
var messageLinkElement = this.revisionLinksForIteration(iteration);
var layoutTestResults = iteration.layoutTestResults;
var javascriptTestResults = iteration.javascriptTestResults;
......@@ -74,7 +70,7 @@ BuildbotTesterQueueView.prototype = {
var bindingTestResults = iteration.bindingTestResults;
if (!layoutTestResults.failureCount && !javascriptTestResults.failureCount && !pythonTestResults.failureCount && !perlTestResults.failureCount && !bindingTestResults.failureCount) {
var status = new StatusLineView(messageLinkElement, StatusLineView.Status.Good, "layout tests passed");
var status = new StatusLineView(messageLinkElement, StatusLineView.Status.Good, "all tests passed");
limit = 0;
} else if (layoutTestResults.failureCount && !javascriptTestResults.failureCount && !pythonTestResults.failureCount && !perlTestResults.failureCount && !bindingTestResults.failureCount) {
var url = iteration.queue.buildbot.layoutTestResultsURLForIteration(iteration);
......
/*
* Copyright (C) 2013 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
var buildbot = new WebKitBuildbot;
......@@ -23,15 +23,15 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
var webkitBuildbot = new WebKitBuildbot;
var categorizedQueuesByPlatformAndBuildType = {};
for (var id in webkitBuildbot.queues) {
var queue = webkitBuildbot.queues[id];
for (var id in buildbot.queues) {
var queue = buildbot.queues[id];
var platform = categorizedQueuesByPlatformAndBuildType[queue.platform];
if (!platform)
platform = categorizedQueuesByPlatformAndBuildType[queue.platform] = {};
if (!platform.builders)
platform.builders = {};
var categoryName;
if (queue.builder) {
......
......@@ -59,6 +59,11 @@ WebKitBuildbot.prototype = {
return "http://trac.webkit.org/changeset/" + revision;
},
buildLogURLForIteration: function(iteration)
{
return this.baseURL + "/builders/" + encodeURIComponent(iteration.queue.id) + "/builds/" + iteration.id + "/steps/compile-webkit/logs/stdio/text";
},
layoutTestResultsURLForIteration: function(iteration)
{
return this.baseURL + "/results/" + encodeURIComponent(iteration.queue.id) + "/" + encodeURIComponent("r" + iteration.openSourceRevision + " (" + iteration.id + ")") + "/results.html";
......
......@@ -42,6 +42,7 @@ THE POSSIBILITY OF SUCH DAMAGE.
<script src="Scripts/BuildbotBuilderQueueView.js"></script>
<script src="Scripts/BuildbotTesterQueueView.js"></script>
<script src="Scripts/StatusLineView.js"></script>
<script src="Scripts/Initialization.js"></script>
<script src="Scripts/Main.js"></script>
</head>
<body></body>
......
2013-10-01 Timothy Hatcher <timothy@apple.com>
Tweaks to the Buildbot Dashboard
https://bugs.webkit.org/show_bug.cgi?id=122169
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:
(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView.prototype.revisionLinksForIteration):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot.prototype.buildLogURLForIteration):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:
2013-10-01 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r156725.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment