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

Side by Side Diff: appengine/findit/waterfall/trigger_base_swarming_task_pipeline.py

Issue 2394013002: [Findit] Hacky solution to map a CQ trybot step to a Waterfall buildbot step. (Closed)
Patch Set: Fix nit. Created 4 years, 2 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 unified diff | Download patch
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import copy 5 import copy
6 import logging 6 import logging
7 import time 7 import time
8 8
9 from common import time_util 9 from common import time_util
10 from common.http_client_appengine import HttpClientAppengine as HttpClient 10 from common.http_client_appengine import HttpClientAppengine as HttpClient
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 call_args = self._GetArgs(master_name, builder_name, 144 call_args = self._GetArgs(master_name, builder_name,
145 build_number, step_name, tests) 145 build_number, step_name, tests)
146 # Check if a new Swarming Task is really needed. 146 # Check if a new Swarming Task is really needed.
147 if not self._NeedANewSwarmingTask(*call_args): 147 if not self._NeedANewSwarmingTask(*call_args):
148 return self._GetSwarmingTaskId(*call_args) 148 return self._GetSwarmingTaskId(*call_args)
149 assert tests 149 assert tests
150 http_client = HttpClient() 150 http_client = HttpClient()
151 151
152 # 0. Retrieve existing Swarming task ids for the given step. 152 # 0. Retrieve existing Swarming task ids for the given step.
153 swarming_task_items = swarming_util.ListSwarmingTasksDataByTags( 153 swarming_task_items = swarming_util.ListSwarmingTasksDataByTags(
154 master_name, builder_name, build_number, http_client, step_name) 154 master_name, builder_name, build_number, http_client,
155 {'stepname': step_name})
155 assert len(swarming_task_items) > 0, 'No Swarming task was run.' 156 assert len(swarming_task_items) > 0, 'No Swarming task was run.'
156 ref_task_id = swarming_task_items[0]['task_id'] 157 ref_task_id = swarming_task_items[0]['task_id']
157 158
158 # 1. Retrieve Swarming task parameters from a given Swarming task id. 159 # 1. Retrieve Swarming task parameters from a given Swarming task id.
159 ref_request = swarming_util.GetSwarmingTaskRequest( 160 ref_request = swarming_util.GetSwarmingTaskRequest(
160 ref_task_id, http_client) 161 ref_task_id, http_client)
161 162
162 # 2. Update/Overwrite parameters for the re-run. 163 # 2. Update/Overwrite parameters for the re-run.
163 iterations_to_rerun = self._GetIterationsToRerun() 164 iterations_to_rerun = self._GetIterationsToRerun()
164 165
165 new_request = self._CreateNewSwarmingTaskRequest( 166 new_request = self._CreateNewSwarmingTaskRequest(
166 ref_task_id, ref_request, master_name, builder_name, build_number, 167 ref_task_id, ref_request, master_name, builder_name, build_number,
167 step_name, tests, iterations_to_rerun) 168 step_name, tests, iterations_to_rerun)
168 169
169 # 3. Trigger a new Swarming task to re-run the failed tests. 170 # 3. Trigger a new Swarming task to re-run the failed tests.
170 task_id = swarming_util.TriggerSwarmingTask(new_request, http_client) 171 task_id = swarming_util.TriggerSwarmingTask(new_request, http_client)
171 172
172 # Save the task id. 173 # Save the task id.
173 swarming_task = self._GetSwarmingTask(*call_args) 174 swarming_task = self._GetSwarmingTask(*call_args)
174 swarming_task.task_id = task_id 175 swarming_task.task_id = task_id
175 swarming_task.parameters['tests'] = tests 176 swarming_task.parameters['tests'] = tests
176 swarming_task.parameters['iterations_to_rerun'] = iterations_to_rerun 177 swarming_task.parameters['iterations_to_rerun'] = iterations_to_rerun
177 swarming_task.parameters['ref_name'] = swarming_util.GetTagValue( 178 swarming_task.parameters['ref_name'] = swarming_util.GetTagValue(
178 new_request.tags, 'ref_name') 179 new_request.tags, 'ref_name')
179 swarming_task.put() 180 swarming_task.put()
180 181
181 logging.info('A Swarming task was triggered:%s', task_id) 182 logging.info('A Swarming task was triggered:%s', task_id)
182 return task_id 183 return task_id
OLDNEW
« no previous file with comments | « appengine/findit/waterfall/swarming_util.py ('k') | appengine/findit/waterfall/trigger_swarming_task_pipeline.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698