Changeset 161099 in webkit


Ignore:
Timestamp:
Dec 27, 2013 12:37:12 AM (10 years ago)
Author:
ap@apple.com
Message:

Display EWS status on bot watcher's dashboard
https://bugs.webkit.org/show_bug.cgi?id=126224

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js: Added.

Moved platform definitions out of Buildbot.js, as they are also needed for EWS.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/QueueView.js: Added.

(QueueView):
(QueueView.prototype.updateSoon):
(QueueView.prototype.update):
(QueueView.prototype._updateHiddenState):
Moved auto-update and hide logic to a base class, as it equally applies to EWS.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js: Added.

This is a peer to Buildbot.js and WebKitBuildbot.js.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js: Added.

Quite simple for now, only keeping track of queue size.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:

Initialize EWS.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:

Create EWS views.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

Updated for Buildbot.Platform rename, it's now Dashboard.Platform.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotBuilderQueueView.css: Removed.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotQueueView.css: Removed.

These were empty, no reason to waste the time loading them.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotTesterQueueView.css: Removed.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css: Copied from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotQueueView.css.

Renamed, as these styles apply to all queues, not just buildbot ones (and they have to, as columns should look alike).

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:
    • Changed page title, as it no longer displays just buildbot status.
    • Updated subresource lists for the new, renamed and removed files.
Location:
trunk/Tools
Files:
5 added
2 deleted
7 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js

    r158167 r161099  
    3939
    4040BaseObject.addConstructorFunctions(Buildbot);
    41 
    42 // Ordered importance/recency.
    43 Buildbot.Platform = {
    44     MacOSXMavericks: { name: "mac-os-x-mavericks", readableName: "OS X Mavericks", order: 10 },
    45     MacOSXMountainLion: { name: "mac-os-x-mountain-lion", readableName: "OS X Mountain Lion", order: 20 },
    46     MacOSXLion: { name : "mac-os-x-lion", readableName: "Mac OS X Lion", order: 30 },
    47     Windows8: { name: "windows-8", readableName: "Windows 8", order: 40 },
    48     Windows7: { name: "windows-7", readableName: "Windows 7", order: 50 },
    49     WindowsXP: { name: "windows-xp", readableName: "Windows XP", order: 60 },
    50     LinuxQt: { name : "linux-qt", readableName: "Linux Qt", order: 70 },
    51     LinuxGTK: { name : "linux-gtk", readableName: "Linux GTK", order: 80 },
    52     LinuxEFL: { name: "linux-efl", readableName: "Linux EFL", order : 90 }
    53 };
    5441
    5542// Ordered importance.
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js

    r161090 r161099  
    2626BuildbotQueueView = function(debugQueues, releaseQueues)
    2727{
    28     BaseObject.call(this);
     28    QueueView.call(this);
    2929
    3030    this.releaseQueues = releaseQueues || [];
    3131    this.debugQueues = debugQueues || [];
    32 
    33     this.element = document.createElement("div");
    34     this.element.classList.add("queue-view");
    35     this.element.__queueView = this;
    3632
    3733    this.releaseQueues.forEach(function(queue) {
     
    5450    if (typeof internalTrac != "undefined")
    5551        internalTrac.addEventListener(Trac.Event.NewCommitsRecorded, this._newCommitsRecorded, this);
    56 
    57     this.updateTimer = null;
    58     this._updateHiddenState();
    59     settings.addSettingListener("hiddenPlatforms", this._updateHiddenState.bind(this));
    6052};
    6153
     
    6759BuildbotQueueView.prototype = {
    6860    constructor: BuildbotQueueView,
    69     __proto__: BaseObject.prototype,
    70 
    71     updateSoon: function()
    72     {
    73         if (this._updateTimeout)
    74             return;
    75         this._updateTimeout = setTimeout(this.update.bind(this), BuildbotQueueView.UpdateSoonTimeout);
    76     },
    77 
    78     update: function()
    79     {
    80         if (this._updateTimeout) {
    81             clearTimeout(this._updateTimeout);
    82             delete this._updateTimeout;
    83         }
    84 
    85         // Implemented by subclasses.
    86     },
     61    __proto__: QueueView.prototype,
    8762
    8863    _appendPendingRevisionCount: function(queue)
     
    152127    },
    153128
    154     _updateHiddenState: function()
    155     {
    156         var hiddenPlatforms = settings.getObject("hiddenPlatforms");
    157         var wasHidden = !this.updateTimer;
    158         var isHidden = hiddenPlatforms && hiddenPlatforms.contains(this.platform);
    159 
    160         if (wasHidden && !isHidden)
    161             this.updateTimer = setInterval(this._updateQueues.bind(this), BuildbotQueueView.UpdateInterval);
    162         else if (!wasHidden && isHidden) {
    163             clearInterval(this.updateTimer);
    164             this.updateTimer = null;
    165         }
    166     },
    167 
    168129    _updateQueues: function()
    169130    {
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js

    r161090 r161099  
    2727var buildbot = new WebKitBuildbot;
    2828var webkitTrac = new Trac("http://trac.webkit.org/");
     29var ews = new EWS;
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js

    r159602 r161099  
    2424 */
    2525
     26var hasEWS = typeof ews != "undefined";
     27var EWSCategory = "ews";
     28
    2629var categorizedQueuesByPlatformAndBuildType = {};
    2730
     
    5760}
    5861
     62if (hasEWS) {
     63    for (var id in ews.queues) {
     64        var queue = ews.queues[id];
     65        var platform = categorizedQueuesByPlatformAndBuildType[queue.platform];
     66        if (!platform)
     67            platform = categorizedQueuesByPlatformAndBuildType[queue.platform] = {};
     68        if (!platform.builders)
     69            platform.builders = {};
     70
     71        var categoryName = EWSCategory;
     72
     73        platformQueues = platform[categoryName];
     74        if (!platformQueues)
     75            platformQueues = platform[categoryName] = [];
     76
     77        platformQueues.push(queue);
     78    }
     79}
     80
    5981var testNames = {};
    6082testNames[Buildbot.TestCategory.WebKit2] = "WK2 Tests";
     
    6587    var platforms = [];
    6688
    67     for (var platformKey in Buildbot.Platform)
    68         platforms.push(Buildbot.Platform[platformKey]);
     89    for (var platformKey in Dashboard.Platform)
     90        platforms.push(Dashboard.Platform[platformKey]);
    6991
    7092    platforms.sort(function(a, b) {
     
    121143    }
    122144
     145    if (hasEWS) {
     146        var header = document.createElement("th");
     147        header.textContent = "EWS";
     148        row.appendChild(header);
     149    }
     150
    123151    table.appendChild(row);
    124152
     
    173201        }
    174202
     203        if (hasEWS) {
     204            var cell = document.createElement("td");
     205
     206            if (platformQueues[EWSCategory]) {
     207                var view = new EWSQueueView(platformQueues[EWSCategory]);
     208                cell.appendChild(view.element);
     209            }
     210
     211            row.appendChild(cell);
     212        }
     213
    175214        table.appendChild(row);
    176215    }
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js

    r161090 r161099  
    2727{
    2828    const queueInfo = {
    29         "Apple MountainLion Release (Build)": {platform: Buildbot.Platform.MacOSXMountainLion, builder: true, architecture: Buildbot.BuildArchitecture.SixtyFourBit},
    30         "Apple MountainLion Release (32-bit Build)": {platform: Buildbot.Platform.MacOSXMountainLion, builder: true, architecture: Buildbot.BuildArchitecture.ThirtyTwoBit},
    31         "Apple MountainLion Debug (Build)": {platform: Buildbot.Platform.MacOSXMountainLion, debug: true, builder: true, architecture: Buildbot.BuildArchitecture.SixtyFourBit},
    32         "Apple MountainLion Release WK1 (Tests)": {platform: Buildbot.Platform.MacOSXMountainLion, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
    33         "Apple MountainLion Debug WK1 (Tests)": {platform: Buildbot.Platform.MacOSXMountainLion, debug: true, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
    34         "Apple MountainLion Release WK2 (Tests)": {platform: Buildbot.Platform.MacOSXMountainLion, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
    35         "Apple MountainLion Debug WK2 (Tests)": {platform: Buildbot.Platform.MacOSXMountainLion, debug: true, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
    36         "Apple Mavericks Debug (Build)": {platform: Buildbot.Platform.MacOSXMavericks, debug: true, builder: true, architecture: Buildbot.BuildArchitecture.SixtyFourBit},
    37         "Apple Mavericks Release (Build)": {platform: Buildbot.Platform.MacOSXMavericks, debug: false, builder: true, architecture: Buildbot.BuildArchitecture.SixtyFourBit},
    38         "Apple Mavericks Debug WK1 (Tests)": {platform: Buildbot.Platform.MacOSXMavericks, debug: true, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
    39         "Apple Mavericks Debug WK2 (Tests)": {platform: Buildbot.Platform.MacOSXMavericks, debug: true, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
    40         "Apple Mavericks Release WK1 (Tests)": {platform: Buildbot.Platform.MacOSXMavericks, debug: false, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
    41         "Apple Mavericks Release WK2 (Tests)": {platform: Buildbot.Platform.MacOSXMavericks, debug: false, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
    42         "Apple Win Debug (Build)": {platform: Buildbot.Platform.Windows7, debug: true, builder: true, architecture: Buildbot.BuildArchitecture.ThirtyTwoBit},
    43         "Apple Win Release (Build)": {platform: Buildbot.Platform.Windows7, builder: true, architecture: Buildbot.BuildArchitecture.ThirtyTwoBit},
    44         "Apple Win 7 Debug (Tests)": {platform: Buildbot.Platform.Windows7, debug: true, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
    45         "Apple Win 7 Release (Tests)": {platform: Buildbot.Platform.Windows7, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
    46         "GTK Linux 64-bit Release": {platform: Buildbot.Platform.LinuxGTK, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
    47         "GTK Linux 64-bit Release WK1 (Tests)": {platform: Buildbot.Platform.LinuxGTK, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
    48         "EFL Linux 32-bit Release (Build)": {platform: Buildbot.Platform.LinuxEFL, builder: true, architecture: Buildbot.BuildArchitecture.ThirtyTwoBit},
    49         "EFL Linux 64-bit Release WK1": {platform: Buildbot.Platform.LinuxEFL, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
    50         "EFL Linux 64-bit Release WK2": {platform: Buildbot.Platform.LinuxEFL, tester: true, testCategory: Buildbot.TestCategory.WebKit2}
     29        "Apple MountainLion Release (Build)": {platform: Dashboard.Platform.MacOSXMountainLion, builder: true, architecture: Buildbot.BuildArchitecture.SixtyFourBit},
     30        "Apple MountainLion Release (32-bit Build)": {platform: Dashboard.Platform.MacOSXMountainLion, builder: true, architecture: Buildbot.BuildArchitecture.ThirtyTwoBit},
     31        "Apple MountainLion Debug (Build)": {platform: Dashboard.Platform.MacOSXMountainLion, debug: true, builder: true, architecture: Buildbot.BuildArchitecture.SixtyFourBit},
     32        "Apple MountainLion Release WK1 (Tests)": {platform: Dashboard.Platform.MacOSXMountainLion, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
     33        "Apple MountainLion Debug WK1 (Tests)": {platform: Dashboard.Platform.MacOSXMountainLion, debug: true, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
     34        "Apple MountainLion Release WK2 (Tests)": {platform: Dashboard.Platform.MacOSXMountainLion, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
     35        "Apple MountainLion Debug WK2 (Tests)": {platform: Dashboard.Platform.MacOSXMountainLion, debug: true, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
     36        "Apple Mavericks Debug (Build)": {platform: Dashboard.Platform.MacOSXMavericks, debug: true, builder: true, architecture: Buildbot.BuildArchitecture.SixtyFourBit},
     37        "Apple Mavericks Release (Build)": {platform: Dashboard.Platform.MacOSXMavericks, debug: false, builder: true, architecture: Buildbot.BuildArchitecture.SixtyFourBit},
     38        "Apple Mavericks Debug WK1 (Tests)": {platform: Dashboard.Platform.MacOSXMavericks, debug: true, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
     39        "Apple Mavericks Debug WK2 (Tests)": {platform: Dashboard.Platform.MacOSXMavericks, debug: true, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
     40        "Apple Mavericks Release WK1 (Tests)": {platform: Dashboard.Platform.MacOSXMavericks, debug: false, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
     41        "Apple Mavericks Release WK2 (Tests)": {platform: Dashboard.Platform.MacOSXMavericks, debug: false, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
     42        "Apple Win Debug (Build)": {platform: Dashboard.Platform.Windows7, debug: true, builder: true, architecture: Buildbot.BuildArchitecture.ThirtyTwoBit},
     43        "Apple Win Release (Build)": {platform: Dashboard.Platform.Windows7, builder: true, architecture: Buildbot.BuildArchitecture.ThirtyTwoBit},
     44        "Apple Win 7 Debug (Tests)": {platform: Dashboard.Platform.Windows7, debug: true, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
     45        "Apple Win 7 Release (Tests)": {platform: Dashboard.Platform.Windows7, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
     46        "GTK Linux 64-bit Release": {platform: Dashboard.Platform.LinuxGTK, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
     47        "GTK Linux 64-bit Release WK1 (Tests)": {platform: Dashboard.Platform.LinuxGTK, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
     48        "EFL Linux 32-bit Release (Build)": {platform: Dashboard.Platform.LinuxEFL, builder: true, architecture: Buildbot.BuildArchitecture.ThirtyTwoBit},
     49        "EFL Linux 64-bit Release WK1": {platform: Dashboard.Platform.LinuxEFL, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
     50        "EFL Linux 64-bit Release WK2": {platform: Dashboard.Platform.LinuxEFL, tester: true, testCategory: Buildbot.TestCategory.WebKit2}
    5151    };
    5252
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html

    r161090 r161099  
    2626<html>
    2727<head>
    28     <title>WebKit Buildbot Dashboard</title>
     28    <title>WebKit Bot Watcher's Dashboard</title>
    2929
    3030    <link rel="stylesheet" href="Styles/Main.css"></link>
    31     <link rel="stylesheet" href="Styles/BuildbotQueueView.css"></link>
    32     <link rel="stylesheet" href="Styles/BuildbotBuilderQueueView.css"></link>
    33     <link rel="stylesheet" href="Styles/BuildbotTesterQueueView.css"></link>
     31    <link rel="stylesheet" href="Styles/QueueView.css"></link>
    3432    <link rel="stylesheet" href="Styles/StatusLineView.css"></link>
    3533
    3634    <script src="Scripts/Utilities.js"></script>
    3735    <script src="Scripts/BaseObject.js"></script>
     36    <script src="Scripts/Dashboard.js"></script>
    3837    <script src="Scripts/Buildbot.js"></script>
     38    <script src="Scripts/EWS.js"></script>
    3939    <script src="Scripts/WebKitBuildbot.js"></script>
    4040    <script src="Scripts/BuildbotQueue.js"></script>
     41    <script src="Scripts/EWSQueue.js"></script>
    4142    <script src="Scripts/BuildbotIteration.js"></script>
    4243    <script src="Scripts/BuildbotTestResults.js"></script>
     44    <script src="Scripts/QueueView.js"></script>
    4345    <script src="Scripts/BuildbotQueueView.js"></script>
    4446    <script src="Scripts/BuildbotBuilderQueueView.js"></script>
    4547    <script src="Scripts/BuildbotTesterQueueView.js"></script>
     48    <script src="Scripts/EWSQueueView.js"></script>
    4649    <script src="Scripts/StatusLineView.js"></script>
    4750    <script src="Scripts/Settings.js"></script>
  • trunk/Tools/ChangeLog

    r161098 r161099  
     12013-12-26  Alexey Proskuryakov  <ap@apple.com>
     2
     3        Display EWS status on bot watcher's dashboard
     4        https://bugs.webkit.org/show_bug.cgi?id=126224
     5
     6        Reviewed by Timothy Hatcher.
     7
     8        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
     9        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js: Added.
     10        Moved platform definitions out of Buildbot.js, as they are also needed for EWS.
     11
     12        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
     13        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/QueueView.js: Added.
     14        (QueueView):
     15        (QueueView.prototype.updateSoon):
     16        (QueueView.prototype.update):
     17        (QueueView.prototype._updateHiddenState):
     18        Moved auto-update and hide logic to a base class, as it equally applies to EWS.
     19
     20        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js: Added.
     21        This is a peer to Buildbot.js and WebKitBuildbot.js.
     22
     23        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js: Added.
     24        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js: Added.
     25        Quite simple for now, only keeping track of queue size.
     26       
     27        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:
     28        Initialize EWS.
     29
     30        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
     31        Create EWS views.
     32
     33        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
     34        Updated for Buildbot.Platform rename, it's now Dashboard.Platform.
     35
     36        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotBuilderQueueView.css: Removed.
     37        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotQueueView.css: Removed.
     38        These were empty, no reason to waste the time loading them.
     39
     40        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotTesterQueueView.css: Removed.
     41        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css: Copied from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotQueueView.css.
     42        Renamed, as these styles apply to all queues, not just buildbot ones (and they have to, as columns should look alike).
     43
     44        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:
     45            - Changed page title, as it no longer displays just buildbot status.
     46            - Updated subresource lists for the new, renamed and removed files.
     47
    1482013-12-26  Alexey Proskuryakov  <ap@apple.com>
    249
Note: See TracChangeset for help on using the changeset viewer.