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

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

Issue 838003004: [Findit] Add three sub-pipelines to analyze build failure. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Just rebase. Created 5 years, 11 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/identify_culprit_pipeline.py
diff --git a/appengine/findit/waterfall/identify_culprit_pipeline.py b/appengine/findit/waterfall/identify_culprit_pipeline.py
new file mode 100644
index 0000000000000000000000000000000000000000..746ee55c0544d7d8475dd565876ad767f90b8ca9
--- /dev/null
+++ b/appengine/findit/waterfall/identify_culprit_pipeline.py
@@ -0,0 +1,38 @@
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+from model.build_analysis import BuildAnalysis
+from model.build_analysis_status import BuildAnalysisStatus
+from waterfall import build_failure_analysis
+from waterfall.base_pipeline import BasePipeline
+
+
+class IdentifyCulpritPipeline(BasePipeline):
+ """A pipeline to identify culprit CLs for a build failure."""
+
+ # Arguments number differs from overridden method - pylint: disable=W0221
+ def run(self, failure_info, change_logs, signals):
+ """
+ Args:
+ failure_info (dict): Output of pipeline DetectFirstFailurePipeline.
+ change_logs (dict): Output of pipeline PullChangelogPipeline.
+ signals (dict): Output of pipeline ExtractSignalPipeline.
+
+ Returns:
+ The same dict as the returned value of function
+ build_failure_analysis.AnalyzeBuildFailure.
+ """
+ master_name = failure_info['master_name']
+ builder_name = failure_info['builder_name']
+ build_number = failure_info['build_number']
+
+ analysis_result = build_failure_analysis.AnalyzeBuildFailure(
+ failure_info, change_logs, signals)
+ analysis = BuildAnalysis.GetBuildAnalysis(
+ master_name, builder_name, build_number)
+ analysis.result = analysis_result
+ analysis.status = BuildAnalysisStatus.ANALYZED
+ analysis.put()
+
+ return analysis_result
« no previous file with comments | « appengine/findit/waterfall/extract_signal_pipeline.py ('k') | appengine/findit/waterfall/pull_changelog_pipeline.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698