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

Unified Diff: appengine/findit/waterfall/try_job_util.py

Issue 1799313002: [Findit] Collect failed output nodes of compile and link failures by strict regex (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Support Android besides Mac/Linux/CrOS Created 4 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: appengine/findit/waterfall/try_job_util.py
diff --git a/appengine/findit/waterfall/try_job_util.py b/appengine/findit/waterfall/try_job_util.py
index 738c9f197b04544868ed28dd02e2cb56a7c1eeea..891edbd15b48cad22a42b2381f80df4aada6d89b 100644
--- a/appengine/findit/waterfall/try_job_util.py
+++ b/appengine/findit/waterfall/try_job_util.py
@@ -117,17 +117,20 @@ def _NeedANewTryJob(
return need_new_try_job, last_pass, try_job_type, targeted_tests
-def _GetFailedTargetsFromSignals(signals):
+def _GetFailedTargetsFromSignals(signals, master_name, builder_name):
compile_targets = []
if not signals or 'compile' not in signals:
return compile_targets
+ strict_regex = waterfall_config.EnableStrictRegexForCompileLinkFailures(
+ master_name, builder_name)
for source_target in signals['compile']['failed_targets']:
- # Link failures have only targets but no source. TODO(lijeffrey):
- # Currently only link failures on linux are supported. Add support for
- # compile failures and other platforms as well.
- if not source_target.get('source'):
+ # For link failures, we pass the executable targets directly to try-job, and
+ # there is no 'source' for link failures.
+ # For compile failures, only pass the object files as the compile targets
+ # for the bots that we use strict regex to extract such information.
+ if not source_target.get('source') or strict_regex:
compile_targets.append(source_target.get('target'))
return compile_targets
@@ -156,7 +159,8 @@ def ScheduleTryJobIfNeeded(failure_info, signals=None, build_completed=False):
failed_steps, failure_result_map))
if need_new_try_job:
- compile_targets = (_GetFailedTargetsFromSignals(signals)
+ compile_targets = (_GetFailedTargetsFromSignals(
+ signals, master_name, builder_name)
if try_job_type == TryJobType.COMPILE else None)
pipeline = (
« no previous file with comments | « appengine/findit/waterfall/test/waterfall_config_test.py ('k') | appengine/findit/waterfall/waterfall_config.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698