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 972288159f2d67bcc577fd56baa5be633dae34d7..74c3f3f3781b87528b9d86e1f228346bfbe8ba05 100644 |
--- a/appengine/findit/waterfall/build_failure_analysis_pipelines.py |
+++ b/appengine/findit/waterfall/build_failure_analysis_pipelines.py |
@@ -11,6 +11,9 @@ from model.build_analysis import BuildAnalysis |
from model.build_analysis_status import BuildAnalysisStatus |
from waterfall.base_pipeline import BasePipeline |
from waterfall.detect_first_failure_pipeline import DetectFirstFailurePipeline |
+from waterfall.extract_signal_pipeline import ExtractSignalPipeline |
+from waterfall.identify_culprit_pipeline import IdentifyCulpritPipeline |
+from waterfall.pull_changelog_pipeline import PullChangelogPipeline |
class BuildFailurePipeline(BasePipeline): |
@@ -23,13 +26,11 @@ class BuildFailurePipeline(BasePipeline): |
self.build_number = build_number |
def finalized(self): |
qyearsley
2015/01/15 19:10:28
When is this method called? Why is no BuildAnalysi
stgao
2015/01/16 20:21:39
This method is called when all sub-pipelines finis
|
- analysis = BuildAnalysis.GetBuildAnalysis( |
- self.master_name, self.builder_name, self.build_number) |
if self.was_aborted: # pragma: no cover |
+ analysis = BuildAnalysis.GetBuildAnalysis( |
+ self.master_name, self.builder_name, self.build_number) |
analysis.status = BuildAnalysisStatus.ERROR |
- else: |
- analysis.status = BuildAnalysisStatus.ANALYZED |
- analysis.put() |
+ analysis.put() |
# Arguments number differs from overridden method - pylint: disable=W0221 |
def run(self, master_name, builder_name, build_number): |
@@ -40,7 +41,11 @@ class BuildFailurePipeline(BasePipeline): |
analysis.start_time = datetime.utcnow() |
analysis.put() |
- yield DetectFirstFailurePipeline(master_name, builder_name, build_number) |
+ failure_info = yield DetectFirstFailurePipeline( |
qyearsley
2015/01/15 19:10:28
It may be worth adding a comment here saying what
stgao
2015/01/16 20:21:39
Done.
I added a comment.
Yes, the documentation f
|
+ master_name, builder_name, build_number) |
+ change_logs = yield PullChangelogPipeline(failure_info) |
+ signals = yield ExtractSignalPipeline(failure_info) |
+ yield IdentifyCulpritPipeline(failure_info, change_logs, signals) |
@ndb.transactional |