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

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

Issue 2026283002: [Findit] Adding logic to force try jobs regardless of bailout or previous results (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Created 4 years, 7 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/build_failure_analysis_pipelines.py
diff --git a/appengine/findit/waterfall/build_failure_analysis_pipelines.py b/appengine/findit/waterfall/build_failure_analysis_pipelines.py
index c9fbd2b3756588e80b7538be22d7a05833140abb..30992befaebd05d9f2c64c65051598471c90c49e 100644
--- a/appengine/findit/waterfall/build_failure_analysis_pipelines.py
+++ b/appengine/findit/waterfall/build_failure_analysis_pipelines.py
@@ -13,6 +13,7 @@ from model.wf_analysis import WfAnalysis
from model import analysis_status
from waterfall import analyze_build_failure_pipeline
+
@ndb.transactional
def NeedANewAnalysis(
master_name, builder_name, build_number, failed_steps,
@@ -75,6 +76,7 @@ def ScheduleAnalysisIfNeeded(master_name, builder_name, build_number,
failed_steps=None,
build_completed=False,
force=False,
+ force_try_job_rerun=False,
queue_name=constants.DEFAULT_QUEUE):
"""Schedules an analysis if needed and returns the build analysis.
@@ -89,6 +91,8 @@ def ScheduleAnalysisIfNeeded(master_name, builder_name, build_number,
build_completed (bool): Indicate whether the build is completed.
force (bool): If True, a fresh new analysis will be triggered even when an
old one was completed already; otherwise bail out.
+ force_try_job_rerun (bool): Indicate whether or not a try job should be
+ rerun as long as a corresponding try bot is configured.
queue_name (str): The task queue to be used for pipeline tasks.
Returns:
@@ -98,7 +102,8 @@ def ScheduleAnalysisIfNeeded(master_name, builder_name, build_number,
master_name, builder_name, build_number, failed_steps,
build_completed, force):
pipeline_job = analyze_build_failure_pipeline.AnalyzeBuildFailurePipeline(
- master_name, builder_name, build_number, build_completed)
+ master_name, builder_name, build_number, build_completed,
+ force_try_job_rerun)
# Explicitly run analysis in the backend module "waterfall-backend".
# Note: Just setting the target in queue.yaml does NOT work for pipeline
# when deployed to App Engine, but it does work in dev-server locally.

Powered by Google App Engine
This is Rietveld 408576698