Switch build.webkit.org URLs to https
[WebKit-https.git] / Tools / BuildSlaveSupport / build.webkit.org-config / public_html / TestFailures / scripts / config.js
1 /*
2  * Copyright (C) 2011 Google Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23  * THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 var config = config || {};
27
28 (function() {
29
30 config.kBuildNumberLimit = 20;
31
32 config.kPlatforms = {
33     'apple' : {
34         label : 'Apple',
35         buildConsoleURL: 'https://build.webkit.org',
36         layoutTestResultsURL: 'https://build.webkit.org/results',
37         waterfallURL: 'https://build.webkit.org/waterfall',
38         builders: {
39             'Apple Lion Release WK1 (Tests)' : {version: 'lion' },
40             'Apple Lion Debug WK1 (Tests)' : {version: 'lion', debug: true},
41             'Apple Lion Release WK2 (Tests)' : {version: 'lion' },
42             'Apple Lion Debug WK2 (Tests)' : {version: 'lion', debug: true},
43             'Apple MountainLion Release WK1 (Tests)' : {version: 'mountainlion' },
44             'Apple MountainLion Debug WK1 (Tests)' : {version: 'mountainlion', debug: true},
45             'Apple MountainLion Release WK2 (Tests)' : {version: 'mountainlion' },
46             'Apple MountainLion Debug WK2 (Tests)' : {version: 'mountainlion', debug: true},
47             // 'Apple Win XP Debug (Tests)' : {version: 'xp',debug: true},
48             // 'Apple Win 7 Release (Tests)' : {version: 'win7'},
49         },
50         haveBuilderAccumulatedResults : false,
51         useDirectoryListingForOldBuilds: false,
52         useFlakinessDashboard: false,
53         resultsDirectoryNameFromBuilderName: function(builderName) {
54             return encodeURIComponent(builderName);
55         },
56         resultsDirectoryForBuildNumber: function(buildNumber, revision) {
57             return encodeURIComponent('r' + revision + ' (' + buildNumber + ')');
58         },
59         _builderApplies: function(builderName) {
60             return builderName.indexOf('Apple') != -1;
61         },
62     },
63     'gtk' : {
64         label : 'GTK',
65         buildConsoleURL: 'https://build.webkit.org',
66         layoutTestResultsURL: 'https://build.webkit.org/results',
67         waterfallURL: 'https://build.webkit.org/waterfall',
68         builders: {
69             'GTK Linux 32-bit Release' : {version: '32-bit release'},
70             'GTK Linux 64-bit Release (Tests)' : {version: '64-bit release'},
71             'GTK Linux 64-bit Debug (Tests)' : {version: '64-bit debug', debug: true},
72         },
73         haveBuilderAccumulatedResults : false,
74         useDirectoryListingForOldBuilds: false,
75         useFlakinessDashboard: false,
76         resultsDirectoryNameFromBuilderName: function(builderName) {
77             return encodeURIComponent(builderName);
78         },
79         resultsDirectoryForBuildNumber: function(buildNumber, revision) {
80             return encodeURIComponent('r' + revision + ' (' + buildNumber + ')');
81         },
82         _builderApplies: function(builderName) {
83             return builderName.indexOf('GTK') != -1;
84         },
85     },
86     'qt' : {
87         label : 'Qt',
88         buildConsoleURL: 'https://build.webkit.org',
89         layoutTestResultsURL: 'https://build.webkit.org/results',
90         waterfallURL: 'https://build.webkit.org/waterfall',
91         builders: {
92             'Qt Linux Release' : {version : '32-bit release'},
93         },
94         haveBuilderAccumulatedResults : false,
95         useDirectoryListingForOldBuilds: false,
96         useFlakinessDashboard: false,
97         resultsDirectoryNameFromBuilderName: function(builderName) {
98             return encodeURIComponent(builderName);
99         },
100         resultsDirectoryForBuildNumber: function(buildNumber, revision) {
101             return encodeURIComponent('r' + revision + ' (' + buildNumber + ')');
102         },
103         _builderApplies: function(builderName) {
104             return builderName.indexOf('Qt') != -1;
105         },
106     },
107     'efl' : {
108         label : 'EFL',
109         buildConsoleURL: 'https://build.webkit.org',
110         layoutTestResultsURL: 'https://build.webkit.org/results',
111         waterfallURL: 'https://build.webkit.org/waterfall',
112         builders: {
113             'EFL Linux 64-bit Release WK2' : {version: '64-bit WK2'},
114         },
115         haveBuilderAccumulatedResults : false,
116         useDirectoryListingForOldBuilds: false,
117         useFlakinessDashboard: false,
118         resultsDirectoryNameFromBuilderName: function(builderName) {
119             return encodeURIComponent(builderName);
120         },
121         resultsDirectoryForBuildNumber: function(buildNumber, revision) {
122             return encodeURIComponent('r' + revision + ' (' + buildNumber + ')');
123         },
124         _builderApplies: function(builderName) {
125             return builderName.indexOf('EFL') != -1;
126         },
127     },
128 };
129
130 config.kTracURL = 'http://trac.webkit.org';
131 config.kBugzillaURL = 'https://bugs.webkit.org';
132
133 config.kRevisionAttr = 'data-revision';
134 config.kTestNameAttr = 'data-test-name';
135 config.kBuilderNameAttr = 'data-builder-name';
136 config.kFailureCountAttr = 'data-failure-count';
137 config.kFailureTypesAttr = 'data-failure-types';
138 config.kInfobarTypeAttr = 'data-infobar-type';
139
140 var kTenMinutesInMilliseconds = 10 * 60 * 1000;
141 config.kUpdateFrequency = kTenMinutesInMilliseconds;
142 config.kRelativeTimeUpdateFrequency = 1000 * 60;
143
144 config.kExperimentalFeatures = window.location.search.search('enableExperiments=1') != -1;
145
146 config.currentPlatform = base.getURLParameter('platform') || 'apple';
147
148 // FIXME: We should add a way to restrict the results to a subset of the builders
149 // (or maybe just a single builder) in the UI as well as via an URL parameter.
150 config.currentBuilder = base.getURLParameter('builder');
151
152 config.currentBuilders = function() {
153     var current_builders = {};
154     if (config.currentBuilder) {
155         current_builders[config.currentBuilder] = config.kPlatforms[config.currentPlatform].builders[config.currentBuilder];
156         return current_builders;
157     } else {
158         return config.kPlatforms[config.currentPlatform].builders;
159     }
160 };
161
162 config.builderApplies = function(builderName) {
163     if (config.currentBuilder)
164         return builderName == config.currentBuilder;
165     return config.kPlatforms[config.currentPlatform]._builderApplies(builderName);
166 };
167
168 config.setPlatform = function(platform) {
169     if (!this.kPlatforms[platform]) {
170         window.console.log(platform + ' is not a recognized platform');
171         return;
172     }
173     config.currentPlatform = platform;
174 };
175
176 config.useLocalResults = Boolean(base.getURLParameter('useLocalResults')) || false;
177
178 })();