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

Side by Side Diff: commit-queue/verification/try_job_on_rietveld.py

Issue 66963004: CQ: don't give up on update and clobber build failures (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/
Patch Set: Created 7 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # coding=utf8 1 # coding=utf8
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 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 """Sends patches to the Try server and reads back results. 5 """Sends patches to the Try server and reads back results.
6 6
7 - RietveldTryJobs contains RietveldTryJob, one per try job on a builder. 7 - RietveldTryJobs contains RietveldTryJob, one per try job on a builder.
8 - TryRunnerRietveld uses Rietveld to signal and poll job results. 8 - TryRunnerRietveld uses Rietveld to signal and poll job results.
9 """ 9 """
10 10
(...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 # Figure out steps that should be retried for this builder. 441 # Figure out steps that should be retried for this builder.
442 missing_tests = self.tests_need_to_be_run(now).get(job.builder, []) 442 missing_tests = self.tests_need_to_be_run(now).get(job.builder, [])
443 if not missing_tests: 443 if not missing_tests:
444 return False 444 return False
445 if job.tries > 2: 445 if job.tries > 2:
446 self.error_message = ( 446 self.error_message = (
447 'Retried try job too often on %s for step(s) %s\n%s' % 447 'Retried try job too often on %s for step(s) %s\n%s' %
448 (job.builder, ', '.join(missing_tests), url)) 448 (job.builder, ', '.join(missing_tests), url))
449 logging.info(self.error_message) 449 logging.info(self.error_message)
450 return True 450 return True
451 elif 'update' in job.steps_failed:
452 self.error_message = (
453 'Step "update" is always a major failure.\n'
454 'Look at the try server FAQ for more details.\n%s' % url)
455 logging.info(self.error_message)
456 return True
457 elif 'compile' in job.steps_failed and job.clobber:
458 self.error_message = (
459 'Sorry for I got bad news for ya.\n'
460 'Compile failed with a clobber build on %s.\n'
461 '%s\n'
462 'Your code is likely broken or HEAD is junk. Please ensure your\n'
463 'code is not broken then alert the build sheriffs.\n'
464 'Look at the try server FAQ for more details.') % (
465 job.builder,
466 url)
467 logging.info(self.error_message)
468 return True
469 return False 451 return False
470 452
471 @model.immutable 453 @model.immutable
472 def why_not(self): 454 def why_not(self):
473 # Skipped or failed, nothing to do. 455 # Skipped or failed, nothing to do.
474 if self.skipped or self.error_message: 456 if self.skipped or self.error_message:
475 return None 457 return None
476 waiting = self.tests_waiting_for_result() 458 waiting = self.tests_waiting_for_result()
477 if waiting: 459 if waiting:
478 out = 'Waiting for the following jobs:\n' 460 out = 'Waiting for the following jobs:\n'
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
760 logging.warning(str(e)) 742 logging.warning(str(e))
761 return False 743 return False
762 raise 744 raise
763 if handle: 745 if handle:
764 for updated_key in keys: 746 for updated_key in keys:
765 job = jobs.try_jobs[updated_key] 747 job = jobs.try_jobs[updated_key]
766 self._update_dashboard(pending, job, status) 748 self._update_dashboard(pending, job, status)
767 jobs.signal_as_failed_if_needed(job, self._build_status_url(job), now) 749 jobs.signal_as_failed_if_needed(job, self._build_status_url(job), now)
768 750
769 return True 751 return True
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698