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

Side by Side Diff: appengine/findit/templates/build_failure.html

Issue 1652603003: [Findit] Modify result page to display tryjob result for test failure. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@1228-try-job-pipeline-for-test-failure
Patch Set: . Created 4 years, 10 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
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <head> 2 <head>
3 <title>Build Failure</title> 3 <title>Build Failure</title>
4 <meta charset="utf-8"> 4 <meta charset="utf-8">
5 <link rel="stylesheet" href="/common.css"> 5 <link rel="stylesheet" href="/common.css">
6 <style> 6 <style>
7 .running { 7 .running {
8 color: #666666; 8 color: #666666;
9 background-color: #fffc6c; 9 background-color: #fffc6c;
10 border-color: #c5c56d; 10 border-color: #c5c56d;
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 clRowId = testRowId + "-" + j; 256 clRowId = testRowId + "-" + j;
257 } 257 }
258 i++; 258 i++;
259 testRowId = stepRowId + "-" + i; 259 testRowId = stepRowId + "-" + i;
260 } 260 }
261 } 261 }
262 262
263 function displayTryJobResult() { 263 function displayTryJobResult() {
264 $.getJSON('try-job-result?url=' + findit.buildUrl, function(data) { 264 $.getJSON('try-job-result?url=' + findit.buildUrl, function(data) {
265 if (! jQuery.isEmptyObject(data)) { 265 if (! jQuery.isEmptyObject(data)) {
266 $('#try_job_status').html(data.status); 266 var tableString = '<table><tr><th>Step</th><th>Test</th><th>Try Job< /th><th>Status</th><th>Culprit</th></tr>';
267 if (data.status == 'Error') { 267 $.each(data, function(key, value) {
268 $('#try_job_status').addClass('error'); 268 tableString += '<tr>';
269 } else if(data.status == 'Analyzed') { 269 tableString += '<td>' + value.step + '</td>';
270 $('#try_job_status').addClass('completed'); 270 tableString += '<td>' + value.test + '</td>';
271 } else { 271 if (value.try_job_url) {
272 $('#try_job_status').append(', will refresh in 1 minute...'); 272 tableString += '<td><a href="' + value.try_job_url + '">' + valu e.try_job_build_number + '</a></td>';
273 $('#try_job_status').addClass('running'); 273 } else {
274 } 274 tableString += '<td></td>';
275 if ('try_job_url' in data) { 275 }
276 $('#try_job_url').html(' <a href="' + data.try_job_url + '">try jo b url</a>'); 276 if (value.status == 'Completed') {
277 } 277 status_class = 'completed';
278 278 } else if (value.status == 'Error') {
279 var tryJobStr = ''; 279 status_class = 'error';
280 var repeatStatusList = ["Pending", "Analyzing"] 280 } else {
281 if (repeatStatusList.indexOf(data.status) > -1) { 281 // If status is either 'Scheduled' or 'Running', add 'running' s tyle.
282 $('#try_job_result').addClass('not-display'); 282 status_class = 'running';
283 setTimeout(displayTryJobResult, 60000); 283 }
284 } else if (data.status == 'Analyzed' && 'review_url' in data) { 284 tableString += '<td><span class="' + status_class + '">' + value.s tatus + '</span></td>';
285 tryJobStr += '<br>culprit: <a href="' + data.review_url + '">'; 285 if (value.review_url) {
286 tryJobStr += data.commit_position || data.revision + '</a>'; 286 tableString += '<td><a href="' + value.review_url + '">' + value .commit_position || value.revision + '</a></td>';
287 $('#try_job_result').html(tryJobStr); 287 } else if (value.revision) {
288 $('#try_job_result').removeClass('not-display'); 288 tableString += '<td>' + value.revision + '</td>';
289 } else { 289 } else {
290 $('#try_job_result').addClass('not-display'); 290 tableString += '<td>Not Found</td>';
291 } 291 }
292 } else { 292 tableString += '</tr>';
293 $('#try_job').addClass('not-display'); 293 });
294 tableString += '</table>';
295 $('#try_job_result').html(tableString);
296 $('#try_job').removeClass('not-display');
294 } 297 }
295 }); 298 });
296 } 299 }
297 300
298 $(document).ready(function() { 301 $(document).ready(function() {
299 if (!findit.analysisCompleted) { 302 if (!findit.analysisCompleted) {
300 $('#status_message').text('running, will refresh in 5 seconds...'); 303 $('#status_message').text('running, will refresh in 5 seconds...');
301 $('#status_message').attr('class', 'running'); 304 $('#status_message').attr('class', 'running');
302 setTimeout(function() { 305 setTimeout(function() {
303 {% if show_debug_info %} 306 {% if show_debug_info %}
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 <br> 360 <br>
358 361
359 <b>Build info:</b> 362 <b>Build info:</b>
360 <div> 363 <div>
361 Master: {{master_name}}<br> 364 Master: {{master_name}}<br>
362 Builder: <a href="https://build.chromium.org/p/{{master_name}}/builders/{{bu ilder_name}}">{{builder_name}}</a><br> 365 Builder: <a href="https://build.chromium.org/p/{{master_name}}/builders/{{bu ilder_name}}">{{builder_name}}</a><br>
363 Build Number: <a href="https://build.chromium.org/p/{{master_name}}/builders /{{builder_name}}/builds/{{build_number}}">{{build_number}}</a> 366 Build Number: <a href="https://build.chromium.org/p/{{master_name}}/builders /{{builder_name}}/builds/{{build_number}}">{{build_number}}</a>
364 </div> 367 </div>
365 <br> 368 <br>
366 369
367 <div id='try_job'> 370 <div id='try_job' class='not-display'>
368 <b> Try Job Result:</b> 371 <b> Try Job Result:</b>
369 <br> 372 <div id='try_job_result'></div>
370 status: <span id='try_job_status'></span><span id="try_job_url"></span>
371 <span id='try_job_result'></span>
372 <br> 373 <br>
373 </div> 374 </div>
374 <br> 375 <br>
375 376
376 <b>Analysis info:</b> 377 <b>Analysis info:</b>
377 <div id="analysis_info"> 378 <div id="analysis_info">
378 status: <span id="status_message"></span> 379 status: <span id="status_message"></span>
379 {% if show_debug_info %} 380 {% if show_debug_info %}
380 {% if pipeline_status_path %} 381 {% if pipeline_status_path %}
381 <a href="{{pipeline_status_path}}">pipeline</a> 382 <a href="{{pipeline_status_path}}">pipeline</a>
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 appearing in the failure log. (eg: file.h was changed and 469 appearing in the failure log. (eg: file.h was changed and
469 file_unittest.cc or file_impl.cc appeared in the log.)</li> 470 file_unittest.cc or file_impl.cc appeared in the log.)</li>
470 <li>1: The CL rolled a dependency within src/DEPS and a file of that 471 <li>1: The CL rolled a dependency within src/DEPS and a file of that
471 dependency appears in the failure log. (eg: third_party/dep 472 dependency appears in the failure log. (eg: third_party/dep
472 was changed in src/DEPS and third_party/dep/f.cpp appeared 473 was changed in src/DEPS and third_party/dep/f.cpp appeared
473 in the log.)</li> 474 in the log.)</li>
474 </ul> 475 </ul>
475 (More rules will be added when implemented.) 476 (More rules will be added when implemented.)
476 </div> 477 </div>
477 </body> 478 </body>
OLDNEW
« no previous file with comments | « appengine/findit/model/wf_analysis_status.py ('k') | appengine/findit/waterfall/identify_try_job_culprit_pipeline.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698