Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Side by Side Diff: Tools/GardeningServer/model/ct-failures.html

Issue 511253004: Use failure.tree field provided by the builder_alerts generator (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | Tools/GardeningServer/model/test/ct-failures-tests.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!-- 1 <!--
2 Copyright 2014 The Chromium Authors. All rights reserved. 2 Copyright 2014 The Chromium Authors. All rights reserved.
3 Use of this source code is governed by a BSD-style license that can be 3 Use of this source code is governed by a BSD-style license that can be
4 found in the LICENSE file. 4 found in the LICENSE file.
5 --> 5 -->
6 6
7 <link rel="import" href="../lib/net.html"> 7 <link rel="import" href="../lib/net.html">
8 <link rel="import" href="../lib/update-util.html"> 8 <link rel="import" href="../lib/update-util.html">
9 <link rel="import" href="ct-builder-revisions.html"> 9 <link rel="import" href="ct-builder-revisions.html">
10 <link rel="import" href="ct-failure.html"> 10 <link rel="import" href="ct-failure.html">
11 <link rel="import" href="ct-failure-group.html"> 11 <link rel="import" href="ct-failure-group.html">
12 <link rel="import" href="ct-sheriff-failure-group-data.html"> 12 <link rel="import" href="ct-sheriff-failure-group-data.html">
13 <link rel="import" href="ct-trooper-failure-group-data.html"> 13 <link rel="import" href="ct-trooper-failure-group-data.html">
14 <link rel="import" href="ct-commit-list.html"> 14 <link rel="import" href="ct-commit-list.html">
15 15
16 <script> 16 <script>
17 function CTFailures(commitLog) { 17 function CTFailures(commitLog) {
18 this.commitLog = commitLog; 18 this.commitLog = commitLog;
19 this.builderLatestRevisions = null; 19 this.builderLatestRevisions = null;
20 // Maps a tree id to an array of CTFailureGroups within that tree. 20 // Maps a tree id to an array of CTFailureGroups within that tree.
21 this.failures = null; 21 this.failures = null;
22 this.lastUpdateDate = null; 22 this.lastUpdateDate = null;
23
24 // FIXME: Get this from
25 // https://chromium.googlesource.com/chromium/tools/build/+/master/scripts/sla ve/gatekeeper_trees.json?format=text.
26 this._trees = {
27 blink: [
28 "https://build.chromium.org/p/chromium.webkit",
29 ],
30 chromium: [
31 "https://build.chromium.org/p/chromium",
32 "https://build.chromium.org/p/chromium.chrome",
33 "https://build.chromium.org/p/chromium.chromiumos",
34 "https://build.chromium.org/p/chromium.gpu",
35 "https://build.chromium.org/p/chromium.linux",
36 "https://build.chromium.org/p/chromium.mac",
37 "https://build.chromium.org/p/chromium.memory",
38 "https://build.chromium.org/p/chromium.win"
39 ],
40 };
41 } 23 }
42 24
43 (function() { 25 (function() {
44 'use strict'; 26 'use strict';
45 27
46 // FIXME: This could potentially move onto CTSheriffFailureGroupData as it isn't relevant to 28 // FIXME: This could potentially move onto CTSheriffFailureGroupData as it isn't relevant to
47 // trooper failures. 29 // trooper failures.
48 // Reverse sorting order, if a > b, return a negative number. 30 // Reverse sorting order, if a > b, return a negative number.
49 CTFailures.prototype._failureByTreeListComparator = function(tree, a, b) { 31 CTFailures.prototype._failureByTreeListComparator = function(tree, a, b) {
50 if (tree === undefined) 32 if (tree === undefined)
(...skipping 28 matching lines...) Expand all
79 return -1; 61 return -1;
80 62
81 if (a_list.last() != b_list.last()) 63 if (a_list.last() != b_list.last())
82 return b_list.last() - a_list.last(); 64 return b_list.last() - a_list.last();
83 } 65 }
84 return 0; 66 return 0;
85 }; 67 };
86 68
87 // Updates the format of the alerts array to be easier to parse. 69 // Updates the format of the alerts array to be easier to parse.
88 CTFailures.prototype._mungeAlerts = function(alerts) { 70 CTFailures.prototype._mungeAlerts = function(alerts) {
89 var masterToTree = {};
90 Object.keys(this._trees, function(tree, masters) {
91 masters.forEach(function(master) {
92 masterToTree[master] = tree;
93 });
94 });
95
96 alerts.forEach(function(failure) { 71 alerts.forEach(function(failure) {
97 // FIXME: Have the server store the actual failure type in a different 72 // FIXME: Have the server store the actual failure type in a different
98 // field instead of smashing it into the reason. 73 // field instead of smashing it into the reason.
99 if (failure.failureType) { 74 if (failure.failureType) {
100 // The server has been fixed. 75 // The server has been fixed.
101 } else { 76 } else {
102 if (failure.reason) { 77 if (failure.reason) {
103 var parts = failure.reason.split(':'); 78 var parts = failure.reason.split(':');
104 failure.reason = parts[0]; 79 failure.reason = parts[0];
105 failure.failureType = parts[1] || 'FAIL'; 80 failure.failureType = parts[1] || 'FAIL';
106 } else { 81 } else {
107 failure.failureType = 'UNKNOWN'; 82 failure.failureType = 'UNKNOWN';
108 } 83 }
109 } 84 }
110
111 // FIXME: Figure out what tree masters that aren't in masterToTree
112 // we should have.
113 failure.tree = masterToTree[failure.master_url];
114 }); 85 });
115 }; 86 };
116 87
117 CTFailures.prototype.update = function() { 88 CTFailures.prototype.update = function() {
118 var annotationPromise = CTFailureGroup.fetchAnnotations(); 89 var annotationPromise = CTFailureGroup.fetchAnnotations();
119 return Promise.all([annotationPromise, net.json('http://sheriff-o-matic.appspo t.com/alerts'), 90 return Promise.all([annotationPromise, net.json('http://sheriff-o-matic.appspo t.com/alerts'),
120 net.json('http://trooper-o-matic.appspot.com/alerts')]).then(function(data _array) { 91 net.json('http://trooper-o-matic.appspot.com/alerts')]).then(function(data _array) {
121 var annotations = data_array[0]; 92 var annotations = data_array[0];
122 var sheriff_data = data_array[1]; 93 var sheriff_data = data_array[1];
123 var trooper_data = data_array[2]; 94 var trooper_data = data_array[2];
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 196
226 if (!newFailures[tree]) 197 if (!newFailures[tree])
227 newFailures[tree] = []; 198 newFailures[tree] = [];
228 var commitList = new CTCommitList(this.commitLog, rangeGroup.likely_revision s); 199 var commitList = new CTCommitList(this.commitLog, rangeGroup.likely_revision s);
229 newFailures[tree].push(new CTFailureGroup(rangeGroup.sort_key, new CTSheriff FailureGroupData(treeFailures, commitList))); 200 newFailures[tree].push(new CTFailureGroup(rangeGroup.sort_key, new CTSheriff FailureGroupData(treeFailures, commitList)));
230 }.bind(this)); 201 }.bind(this));
231 }; 202 };
232 203
233 })(); 204 })();
234 </script> 205 </script>
OLDNEW
« no previous file with comments | « no previous file | Tools/GardeningServer/model/test/ct-failures-tests.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698