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

Side by Side Diff: masters/master.chromiumos/master.cfg

Issue 8669004: Add arm/tegra2 CQ builders and major cleanup of dead code in chromeos_factory. (Closed) Base URL: svn://chrome-svn/chrome/trunk/tools/build
Patch Set: 80 Char nit fix, ran presubmit check locally and saw it pass Created 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « masters/master.chromium.chromiumos/master.cfg ('k') | masters/master.chromiumos/slaves.cfg » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # -*- python -*- 1 # -*- python -*-
2 # ex: set syntax=python: 2 # ex: set syntax=python:
3 3
4 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 4 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
5 # Use of this source code is governed by a BSD-style license that can be 5 # Use of this source code is governed by a BSD-style license that can be
6 # found in the LICENSE file. 6 # found in the LICENSE file.
7 7
8 # This is the buildmaster config file for the 'chromeos' bot. It must 8 # This is the buildmaster config file for the 'chromeos' bot. It must
9 # be installed as 'master.cfg' in your buildmaster's base directory 9 # be installed as 'master.cfg' in your buildmaster's base directory
10 # (although the filename can be changed with the --basedir option to 10 # (although the filename can be changed with the --basedir option to
(...skipping 24 matching lines...) Expand all
35 TREE_GATE_KEEPER = ActiveMaster.is_production_host 35 TREE_GATE_KEEPER = ActiveMaster.is_production_host
36 36
37 # This is the dictionary that the buildmaster pays attention to. We also use 37 # This is the dictionary that the buildmaster pays attention to. We also use
38 # a shorter alias to save typing. 38 # a shorter alias to save typing.
39 c = BuildmasterConfig = {} 39 c = BuildmasterConfig = {}
40 40
41 # This is a dictionary that maps waterfall dashboard names to cbuildbot_configs. 41 # This is a dictionary that maps waterfall dashboard names to cbuildbot_configs.
42 # In order to add a new dict, you must edit this first. 42 # In order to add a new dict, you must edit this first.
43 _NAME_CONFIG_DICT = { 43 _NAME_CONFIG_DICT = {
44 'x86 generic PFQ': 'x86-generic-pre-flight-queue', 44 'x86 generic PFQ': 'x86-generic-pre-flight-queue',
45 'x86 generic commit queue': 'x86-generic-commit-queue',
46 'arm generic PFQ': 'arm-generic-bin', 45 'arm generic PFQ': 'arm-generic-bin',
47 'tegra2 PFQ': 'arm-tegra2-bin', 46 'tegra2 PFQ': 'arm-tegra2-bin',
47 'x86 generic commit queue': 'x86-generic-commit-queue',
48 'arm generic commit queue': 'arm-generic-commit-queue',
49 'tegra2 commit queue': 'arm-tegra2-commit-queue',
48 'x86 generic full': 'x86-generic-full', 50 'x86 generic full': 'x86-generic-full',
49 'arm generic full': 'arm-generic-full', 51 'arm generic full': 'arm-generic-full',
50 'tegra2 full': 'arm-tegra2-full', 52 'tegra2 full': 'arm-tegra2-full',
51 'tegra2 seaboard full': 'arm-tegra2-seaboard-full', 53 'tegra2 seaboard full': 'arm-tegra2-seaboard-full',
52 'x86 pineview full': 'x86-pineview-full', 54 'x86 pineview full': 'x86-pineview-full',
53 'amd64 corei7 full': 'amd64-corei7-full', 55 'amd64 corei7 full': 'amd64-corei7-full',
54 'amd64 generic full': 'amd64-generic-full', 56 'amd64 generic full': 'amd64-generic-full',
55 'x86 generic chrome PFQ': 'x86-generic-chrome-pre-flight-queue', 57 'x86 generic chrome PFQ': 'x86-generic-chrome-pre-flight-queue',
56 'arm generic chrome PFQ': 'arm-generic-chrome-pre-flight-queue', 58 'arm generic chrome PFQ': 'arm-generic-chrome-pre-flight-queue',
57 'tegra2 chrome PFQ': 'arm-tegra2-chrome-pre-flight-queue', 59 'tegra2 chrome PFQ': 'arm-tegra2-chrome-pre-flight-queue',
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 # Renamed 'src' to 'master' for git_buildbot.py 100 # Renamed 'src' to 'master' for git_buildbot.py
99 branch='master', 101 branch='master',
100 treeStableTimer=0, 102 treeStableTimer=0,
101 builderNames=[ 103 builderNames=[
102 'chromiumos sdk', 104 'chromiumos sdk',
103 ]) 105 ])
104 106
105 s_refresh_packages = Periodic( 107 s_refresh_packages = Periodic(
106 name='refresh_pkgs_scheduler', 108 name='refresh_pkgs_scheduler',
107 branch='master', 109 branch='master',
108 periodicBuildTimer=24*60*60, # 1 day 110 periodicBuildTimer=24 * 60 * 60, # 1 day
109 builderNames=[ 111 builderNames=[
110 'refresh packages', 112 'refresh packages',
111 ]) 113 ])
112 114
113 s_cq = Periodic( 115 s_cq = Periodic(
114 name='commit_queue_scheduler', 116 name='commit_queue_scheduler',
115 branch='master', 117 branch='master',
116 periodicBuildTimer=5*60, # 5 minutes 118 periodicBuildTimer=5 * 60, # 5 minutes
117 builderNames=[ 119 builderNames=[
118 'x86 generic commit queue', 120 'x86 generic commit queue',
119 ]) 121 ])
120 122
121 s_asan = Scheduler( 123 s_asan = Scheduler(
122 name='x86_generic_asan_scheduler', 124 name='x86_generic_asan_scheduler',
123 branch='master', 125 branch='master',
124 treeStableTimer=0, 126 treeStableTimer=0,
125 builderNames=[ 127 builderNames=[
126 'x86 generic ASAN', 128 'x86 generic ASAN',
(...skipping 28 matching lines...) Expand all
155 157
156 # Triggerable for other pre-flight-queue slaves. We use triggers so that 158 # Triggerable for other pre-flight-queue slaves. We use triggers so that
157 # the other slaves are guaranteed to use the same sourcestamp as the main. 159 # the other slaves are guaranteed to use the same sourcestamp as the main.
158 s_pre_flight_queue_slaves = Triggerable( 160 s_pre_flight_queue_slaves = Triggerable(
159 name='pre_flight_queue_slaves', 161 name='pre_flight_queue_slaves',
160 builderNames=[ 162 builderNames=[
161 'arm generic PFQ', 163 'arm generic PFQ',
162 'tegra2 PFQ', 164 'tegra2 PFQ',
163 ]) 165 ])
164 166
167 # Triggerable for other commit-queue slaves. We use triggers so that
168 # the other slaves are guaranteed to use the same sourcestamp as the main.
169 s_cq_slaves = Triggerable(
170 name='commit_queue_slaves',
171 builderNames=[
172 'arm generic commit queue',
173 'tegra2 commit queue',
174 ])
175
165 # Only trigger fulls when we have a newly revved build. 176 # Only trigger fulls when we have a newly revved build.
166 s_chromeos_full = Dependent( 177 s_chromeos_full = Dependent(
167 name='chromeos', 178 name='chromeos',
168 upstream=s_pre_flight_queue, 179 upstream=s_pre_flight_queue,
169 builderNames=[ 180 builderNames=[
170 'arm generic full', 181 'arm generic full',
171 'tegra2 full', 182 'tegra2 full',
172 'tegra2 seaboard full', 183 'tegra2 seaboard full',
173 'x86 generic full', 184 'x86 generic full',
174 'x86 pineview full', 185 'x86 pineview full',
175 'amd64 generic full', 186 'amd64 generic full',
176 'amd64 corei7 full', 187 'amd64 corei7 full',
177 ]) 188 ])
178 189
179 c['schedulers'] = [ 190 c['schedulers'] = [
180 s_pre_flight_queue, s_pre_flight_queue_slaves, 191 s_pre_flight_queue, s_pre_flight_queue_slaves,
181 s_chrome_pre_flight_queue, s_chrome_pre_flight_queue_slaves, 192 s_chrome_pre_flight_queue, s_chrome_pre_flight_queue_slaves,
182 s_chromeos_full, s_chromiumos_sdk, 193 s_chromeos_full, s_chromiumos_sdk,
183 s_refresh_packages, s_cq, s_asan, 194 s_refresh_packages, s_cq, s_cq_slaves, s_asan,
184 ] 195 ]
185 196
186 BUILDERS = [] 197 BUILDERS = []
187 198
188 # ---------------------------------------------------------------------------- 199 # ----------------------------------------------------------------------------
189 # BUILDER DEFINITIONS 200 # BUILDER DEFINITIONS
190 201
191 # The 'builders' list defines the Builders. Each one is configured with a 202 # The 'builders' list defines the Builders. Each one is configured with a
192 # dictionary, using the following keys: 203 # dictionary, using the following keys:
193 # name (required): the name used to describe this bilder 204 # name (required): the name used to describe this bilder
194 # slavename (required): which slave to use, must appear in c['slaves'] 205 # slavename (required): which slave to use, must appear in c['slaves']
195 # builddir (required): which subdirectory to run the builder in 206 # builddir (required): which subdirectory to run the builder in
196 # factory (required): a BuildFactory to define how the build is run 207 # factory (required): a BuildFactory to define how the build is run
197 # category (optional): it is not used in the normal 'buildbot' meaning. It is 208 # category (optional): it is not used in the normal 'buildbot' meaning. It is
198 # used by gatekeeper to determine which steps it should 209 # used by gatekeeper to determine which steps it should
199 # look for to close the tree. 210 # look for to close the tree.
200 # 211 #
201 212
202 # Cros helper functions to build builders and factories. 213 # Cros helper functions to build builders and factories.
203 214
204 def GetCBuildbotFactory(config, is_master=False): 215 def GetCBuildbotFactory(config, trigger_name=None):
205 """Returns cros buildbot factories.""" 216 """Returns cros buildbot factories."""
206 return chromeos_factory.CbuildbotFactory( 217 return chromeos_factory.CbuildbotFactory(
207 params=config, dry_run=not ActiveMaster.is_production_host, 218 params=config, dry_run=not ActiveMaster.is_production_host,
208 crostools_repo=None, 219 crostools_repo=None,
209 is_master=is_master).get_factory() 220 trigger_name=trigger_name).get_factory()
210 221
211 def GetChromeCBuildbotFactory(config, is_master=False): 222 def AddBuilderDefinition(display_name, closer=True, trigger_name=None):
212 """Returns buildbot factories specifically for Chrome pfqs."""
213 return chromeos_factory.ChromeCbuildbotFactory(
214 params=config, chrome_rev_stages=[],
215 dry_run=not ActiveMaster.is_production_host,
216 crostools_repo=None,
217 is_master=is_master).get_factory()
218
219 def AddBuilderDefinition(display_name, closer=True, chrome_factory=False,
220 is_master=False):
221 """Adds a builder definition given by the args. 223 """Adds a builder definition given by the args.
222 224
223 Args: 225 Args:
224 display_name: Name displayed on buildbot waterfall. 226 display_name: Name displayed on buildbot waterfall.
225 closer: Do we close the tree based on this build's failure. 227 closer: Do we close the tree based on this build's failure.
226 chrome_factory: Use the chrome factory rather than normal factory. 228 trigger_name: Name of the triggerable scheduler to fire for pfqs/commitq's.
227 is_master: One set per pfq type.
228 """ 229 """
229 def GetConfig(): 230 def GetConfig():
230 return _NAME_CONFIG_DICT.get(display_name, display_name) 231 return _NAME_CONFIG_DICT.get(display_name, display_name)
231 232
232 category = '1release full|info' 233 category = '1release full|info'
233 if closer: category = '1release full|closer' 234 if closer: category = '1release full|closer'
234 build_dir = display_name.replace(' ', '-') 235 build_dir = display_name.replace(' ', '-')
235 if chrome_factory: 236 factory = GetCBuildbotFactory(GetConfig(), trigger_name)
236 factory = GetChromeCBuildbotFactory(GetConfig(), is_master)
237 else:
238 factory = GetCBuildbotFactory(GetConfig(), is_master)
239 237
240 BUILDERS.append({ 238 BUILDERS.append({
241 'name': display_name, 239 'name': display_name,
242 'builddir': build_dir, 240 'builddir': build_dir,
243 'factory': factory, 241 'factory': factory,
244 'category': category, 242 'category': category,
245 }) 243 })
246 244
247 # Pre Flight Queues 245 # Pre Flight Queues
248 AddBuilderDefinition('x86 generic PFQ', is_master=True) 246 AddBuilderDefinition('x86 generic PFQ', trigger_name='pre_flight_queue_slaves')
249 AddBuilderDefinition('arm generic PFQ') 247 AddBuilderDefinition('arm generic PFQ')
250 AddBuilderDefinition('tegra2 PFQ') 248 AddBuilderDefinition('tegra2 PFQ')
251 249
252 # Full Builders 250 # Full Builders
253 AddBuilderDefinition('x86 generic full') 251 AddBuilderDefinition('x86 generic full')
254 AddBuilderDefinition('arm generic full') 252 AddBuilderDefinition('arm generic full')
255 AddBuilderDefinition('tegra2 full') 253 AddBuilderDefinition('tegra2 full')
256 AddBuilderDefinition('tegra2 seaboard full') 254 AddBuilderDefinition('tegra2 seaboard full')
257 AddBuilderDefinition('x86 pineview full') 255 AddBuilderDefinition('x86 pineview full')
258 AddBuilderDefinition('amd64 corei7 full') 256 AddBuilderDefinition('amd64 corei7 full')
259 257
260 # Chrome pre-flight builds. 258 # Chrome pre-flight builds.
261 AddBuilderDefinition('x86 generic chrome PFQ', chrome_factory=True, 259 AddBuilderDefinition('x86 generic chrome PFQ',
262 is_master=True) 260 trigger_name='chrome_pre_flight_queue_slaves')
263 AddBuilderDefinition('arm generic chrome PFQ', chrome_factory=True,) 261 AddBuilderDefinition('arm generic chrome PFQ')
264 AddBuilderDefinition('tegra2 chrome PFQ', chrome_factory=True,) 262 AddBuilderDefinition('tegra2 chrome PFQ')
265 263
266 AddBuilderDefinition('chromiumos sdk',) 264 AddBuilderDefinition('chromiumos sdk',)
267 265
268 ####### Non Closer build defs. 266 ####### Non Closer build defs.
269 267
270 AddBuilderDefinition('x86 generic commit queue', closer=False) 268 AddBuilderDefinition('x86 generic commit queue',
269 trigger_name='commit_queue_slaves', closer=False)
270 AddBuilderDefinition('arm generic commit queue', closer=False)
271 AddBuilderDefinition('tegra2 commit queue', closer=False)
271 AddBuilderDefinition('refresh packages', closer=False) 272 AddBuilderDefinition('refresh packages', closer=False)
272 AddBuilderDefinition('x86 generic ASAN', closer=False) 273 AddBuilderDefinition('x86 generic ASAN', closer=False)
273 AddBuilderDefinition('amd64 generic full', closer=False) 274 AddBuilderDefinition('amd64 generic full', closer=False)
274 275
275 c['builders'] = BUILDERS 276 c['builders'] = BUILDERS
276 277
277 278
278 ####### BUILDSLAVES 279 ####### BUILDSLAVES
279 280
280 # the 'slaves' list defines the set of allowable buildslaves. Each element is a 281 # the 'slaves' list defines the set of allowable buildslaves. Each element is a
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 extraRecipients=['troopers@chromium.org'], 366 extraRecipients=['troopers@chromium.org'],
366 sheriffs=['sheriff'], 367 sheriffs=['sheriff'],
367 lookup=master_utils.FilterDomain(), 368 lookup=master_utils.FilterDomain(),
368 use_getname=True)) 369 use_getname=True))
369 370
370 371
371 ####### PROJECT IDENTITY 372 ####### PROJECT IDENTITY
372 373
373 # Buildbot master url: 374 # Buildbot master url:
374 c['buildbotURL'] = 'http://build.chromium.org/buildbot/chromiumos/' 375 c['buildbotURL'] = 'http://build.chromium.org/buildbot/chromiumos/'
OLDNEW
« no previous file with comments | « masters/master.chromium.chromiumos/master.cfg ('k') | masters/master.chromiumos/slaves.cfg » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698