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

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

Issue 2563383002: [Findit] Flake Checker: Extract commit position and git hash and display to UI for each analyzed bu… (Closed)
Patch Set: Fixing nit Created 4 years 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
« no previous file with comments | « appengine/findit/waterfall/buildbot.py ('k') | appengine/findit/waterfall/test/buildbot_test.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: appengine/findit/waterfall/process_flake_swarming_task_result_pipeline.py
diff --git a/appengine/findit/waterfall/process_flake_swarming_task_result_pipeline.py b/appengine/findit/waterfall/process_flake_swarming_task_result_pipeline.py
index f9e7925cb5a89e59f81669cab5c4b397dc1e26db..5d81cbbe1d10406b3813b4ac27c425176e8ab6ba 100644
--- a/appengine/findit/waterfall/process_flake_swarming_task_result_pipeline.py
+++ b/appengine/findit/waterfall/process_flake_swarming_task_result_pipeline.py
@@ -7,10 +7,38 @@ import logging
from model.flake.flake_swarming_task import FlakeSwarmingTask
from model.flake.master_flake_analysis import DataPoint
from model.flake.master_flake_analysis import MasterFlakeAnalysis
+from waterfall import build_util
+from waterfall import buildbot
from waterfall.process_base_swarming_task_result_pipeline import (
ProcessBaseSwarmingTaskResultPipeline)
+def _GetCommitPositionAndGitHash(master_name, builder_name, build_number):
+ """Gets the commit position and git hash of a build.
+
+ Args:
+ master_name (str): The name of the master.
+ builder_name (str): The name of the builder.
+ build_number (int): The build number.
+
+ Returns:
+ commit_position (int), git_hash (str): The git commit position corresponding
+ to the last commit in the build, and the git hash itself.
+ """
+ if build_number < 0:
+ return None, None
+
+ build = build_util.DownloadBuildData(master_name, builder_name, build_number)
+
+ if not build.data:
+ return None, None
+
+ build_info = buildbot.ExtractBuildInfo(
+ master_name, builder_name, build_number, build.data)
+
+ return build_info.commit_position, build_info.chromium_revision
+
+
class ProcessFlakeSwarmingTaskResultPipeline(
ProcessBaseSwarmingTaskResultPipeline):
"""A pipeline for monitoring swarming task and processing task result.
@@ -75,6 +103,19 @@ class ProcessFlakeSwarmingTaskResultPipeline(
data_point.build_number = build_number
data_point.pass_rate = pass_rate
data_point.task_id = flake_swarming_task.task_id
+
+ # Include git commit position information about each build that was run.
+ if build_number > 0:
+ previous_commit, previous_build_git_hash = _GetCommitPositionAndGitHash(
+ master_name, builder_name, build_number - 1)
+ data_point.previous_build_commit_position = previous_commit
+ data_point.previous_build_git_hash = previous_build_git_hash
+
+ commit_position, git_hash = _GetCommitPositionAndGitHash(
+ master_name, builder_name, build_number)
+ data_point.commit_position = commit_position
+ data_point.git_hash = git_hash
+
master_flake_analysis.data_points.append(data_point)
results = flake_swarming_task.GetFlakeSwarmingTaskData()
@@ -100,4 +141,4 @@ class ProcessFlakeSwarmingTaskResultPipeline(
step_name, master_build_number, test_name, _):
# Gets the appropriate kind of swarming task (FlakeSwarmingTask).
return FlakeSwarmingTask.Get(master_name, builder_name, build_number,
- step_name, test_name)
+ step_name, test_name)
« no previous file with comments | « appengine/findit/waterfall/buildbot.py ('k') | appengine/findit/waterfall/test/buildbot_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698