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

Side by Side Diff: appengine/findit/waterfall/trigger_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
« no previous file with comments | « appengine/findit/waterfall/trigger_base_swarming_task_pipeline.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 google.appengine.ext import ndb 9 from google.appengine.ext import ndb
10 10
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 master_name, builder_name, build_number, step_name): 127 master_name, builder_name, build_number, step_name):
128 return _GetSwarmingTaskId( 128 return _GetSwarmingTaskId(
129 master_name, builder_name, build_number, step_name) 129 master_name, builder_name, build_number, step_name)
130 130
131 assert tests 131 assert tests
132 132
133 http_client = HttpClient() 133 http_client = HttpClient()
134 134
135 # 0. Retrieve existing Swarming task ids for the given step. 135 # 0. Retrieve existing Swarming task ids for the given step.
136 swarming_task_items = swarming_util.ListSwarmingTasksDataByTags( 136 swarming_task_items = swarming_util.ListSwarmingTasksDataByTags(
137 master_name, builder_name, build_number, http_client, step_name) 137 master_name, builder_name, build_number, http_client,
138 {'stepname': step_name})
138 assert len(swarming_task_items) > 0, 'No Swarming task was run.' 139 assert len(swarming_task_items) > 0, 'No Swarming task was run.'
139 ref_task_id = swarming_task_items[0]['task_id'] 140 ref_task_id = swarming_task_items[0]['task_id']
140 141
141 # 1. Retrieve Swarming task parameters from a given Swarming task id. 142 # 1. Retrieve Swarming task parameters from a given Swarming task id.
142 ref_request = swarming_util.GetSwarmingTaskRequest( 143 ref_request = swarming_util.GetSwarmingTaskRequest(
143 ref_task_id, http_client) 144 ref_task_id, http_client)
144 145
145 # 2. Update/Overwrite parameters for the re-run. 146 # 2. Update/Overwrite parameters for the re-run.
146 iterations_to_rerun = waterfall_config.GetSwarmingSettings().get( 147 iterations_to_rerun = waterfall_config.GetSwarmingSettings().get(
147 'iterations_to_rerun') 148 'iterations_to_rerun')
148 new_request = _CreateNewSwarmingTaskRequest( 149 new_request = _CreateNewSwarmingTaskRequest(
149 ref_task_id, ref_request, master_name, builder_name, build_number, 150 ref_task_id, ref_request, master_name, builder_name, build_number,
150 step_name, tests, iterations_to_rerun) 151 step_name, tests, iterations_to_rerun)
151 152
152 # 3. Trigger a new Swarming task to re-run the failed tests. 153 # 3. Trigger a new Swarming task to re-run the failed tests.
153 task_id = swarming_util.TriggerSwarmingTask(new_request, http_client) 154 task_id = swarming_util.TriggerSwarmingTask(new_request, http_client)
154 155
155 # Save the task id. 156 # Save the task id.
156 swarming_task = WfSwarmingTask.Get( 157 swarming_task = WfSwarmingTask.Get(
157 master_name, builder_name, build_number, step_name) 158 master_name, builder_name, build_number, step_name)
158 swarming_task.task_id = task_id 159 swarming_task.task_id = task_id
159 swarming_task.parameters['tests'] = tests 160 swarming_task.parameters['tests'] = tests
160 swarming_task.parameters['iterations_to_rerun'] = iterations_to_rerun 161 swarming_task.parameters['iterations_to_rerun'] = iterations_to_rerun
161 swarming_task.parameters['ref_name'] = swarming_util.GetTagValue( 162 swarming_task.parameters['ref_name'] = swarming_util.GetTagValue(
162 new_request.tags, 'ref_name') 163 new_request.tags, 'ref_name')
163 swarming_task.put() 164 swarming_task.put()
164 165
165 logging.info('A Swarming task was triggered:%s', task_id) 166 logging.info('A Swarming task was triggered:%s', task_id)
166 return task_id 167 return task_id
OLDNEW
« no previous file with comments | « appengine/findit/waterfall/trigger_base_swarming_task_pipeline.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698