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

Side by Side Diff: build/masters/master.chromium.perf_av/master.cfg

Issue 115363004: Remove "AV Win7" bot. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/
Patch Set: Created 7 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
OLDNEW
(Empty)
1 # -*- python -*-
2 # ex: set syntax=python:
3
4 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
5 # Use of this source code is governed by a BSD-style license that can be
6 # found in the LICENSE file.
7
8 # This is the buildmaster config file for the 'chromium' bot. It must
9 # be installed as 'master.cfg' in your buildmaster's base directory
10 # (although the filename can be changed with the --basedir option to
11 # 'mktap buildbot master').
12
13 # It has one job: define a dictionary named BuildmasterConfig. This
14 # dictionary has a variety of keys to control different aspects of the
15 # buildmaster. They are documented in docs/config.xhtml .
16
17 # This file follows this naming convention:
18 # Factories: f_cr_[dbg/rel]_[type]
19 # Builders: b_chromium_[dbg/rel]_[os]_[type]
20 # BuildDir: chromium-[dbg/rel]-[os]-[type]
21 #
22 # os = xp/vista/linux/mac
23 # type = perf
24
25 from buildbot.changes import svnpoller
26 from buildbot.scheduler import Scheduler
27 from buildbot.scheduler import Triggerable
28
29 from common import chromium_utils
30
31 from master import build_utils
32 from master import master_config
33 from master import master_utils
34 from master import perf_count_notifier
35 from master import slaves_list
36 from master.factory import chromium_factory
37
38 import config
39 import master_site_config
40
41 ActiveMaster = master_site_config.ChromiumPerfAv
42
43 # Enable PERF_NOTIFIER in production to send cmp@google.com perf alerts.
44 PERF_NOTIFIER = ActiveMaster.is_production_host
45
46 # This is the dictionary that the buildmaster pays attention to. We also use
47 # a shorter alias to save typing.
48 c = BuildmasterConfig = {}
49
50 # 'slavePortnum' defines the TCP port to listen on. This must match the value
51 # configured into the buildslaves (with their --master option)
52 c['slavePortnum'] = ActiveMaster.slave_port
53
54 # Disable compression for the stdio files.
55 c['logCompressionLimit'] = False
56
57 # Load the list of slaves.
58 slaves = slaves_list.SlavesList('slaves.cfg', 'ChromiumPerfAv')
59
60 config.DatabaseSetup(c, require_dbconfig=ActiveMaster.is_production_host)
61
62 ####### CHANGESOURCES
63
64 # the 'change_source' list tells the buildmaster how it should find out about
65 # source code changes. Any class which implements IChangeSource can be added
66 # to this list: there are several in buildbot/changes/*.py to choose from.
67 def ChromeTreeFileSplitter(path):
68 """split_file for the 'src' project in the trunk."""
69
70 # Exclude .DEPS.git from triggering builds on chrome.
71 if path == 'src/.DEPS.git':
72 return None
73
74 # List of projects we are interested in. The project names must exactly
75 # match paths in the Subversion repository, relative to the 'path' URL
76 # argument. build_utils.SplitPath() will use them as branch names to
77 # kick off the Schedulers for different projects.
78 projects = ['src']
79 return build_utils.SplitPath(projects, path)
80
81 # Polls config.Master.trunk_url for changes
82 chromium_rev = 'http://src.chromium.org/viewvc/chrome?view=rev&revision=%s'
83 trunk_poller = svnpoller.SVNPoller(svnurl=config.Master.trunk_url,
84 svnbin=chromium_utils.SVN_BIN,
85 split_file=ChromeTreeFileSplitter,
86 pollinterval=10,
87 revlinktmpl=chromium_rev)
88
89 c['change_source'] = [trunk_poller]
90
91
92 ####### SCHEDULERS
93
94 ## configure the Schedulers
95
96 # Scheduler to trigger slaves that depend on the linux release build.
97 s_chromium_linux_rel_builder = Scheduler(name='chromium_linux_rel_builder',
98 branch='src',
99 treeStableTimer=60,
100 builderNames=['AV Linux Builder',
101 'AV Win7'])
102
103 s_chromium_linux_rel_trigger = Triggerable('linuxrel',
104 ['AV Linux',
105 ])
106
107 c['schedulers'] = [s_chromium_linux_rel_builder,
108 s_chromium_linux_rel_trigger]
109
110 ####### BUILDERS
111
112 # buildbot/process/factory.py provides several BuildFactory classes you can
113 # start with, which implement build processes for common targets (GNU
114 # autoconf projects, CPAN perl modules, etc). The factory.BuildFactory is the
115 # base class, and is configured with a series of BuildSteps. When the build
116 # is run, the appropriate buildslave is told to execute each Step in turn.
117
118 # the first BuildStep is typically responsible for obtaining a copy of the
119 # sources. There are source-obtaining Steps in buildbot/process/step.py for
120 # CVS, SVN, and others.
121
122 builders = []
123
124 # ----------------------------------------------------------------------------
125 # FACTORIES
126
127 m_linux = chromium_factory.ChromiumFactory('src/out', 'linux2')
128 m_win = chromium_factory.ChromiumFactory('src/build', 'win32')
129
130 # Some shortcut to simplify the code below.
131 F_LINUX = m_linux.ChromiumAVPerfFactory
132 F_WIN = m_win.ChromiumAVPerfFactory
133
134 chromium_rel_linux_archive = master_config.GetArchiveUrl('ChromiumPerfAv',
135 'AV Linux Builder',
136 'chromium-rel-linux-builder',
137 'linux')
138
139 # The identifier of the factory is the build configuration. If two factories
140 # are using the same build configuration, they should have the same identifier.
141
142 # GYP DEFINES used to enable codecs available in chrome.
143 FFMPEG_GYP_DEFINES_LINUX = (
144 'ffmpeg_branding=ChromeOS '
145 'proprietary_codecs=1 '
146 'python_ver=2.7 '
147 )
148
149 FFMPEG_GYP_DEFINES_WIN = (
150 'ffmpeg_branding=Chrome '
151 'proprietary_codecs=1 '
152 'fastbuild=1 '
153 'component=shared_library '
154 )
155
156 perf_av_tests = ['avperf']
157
158 f_cr_rel_linux_builder = F_LINUX(target='Release',
159 slave_type='Builder',
160 options=['--', 'chromium_builder_perf_av'],
161 factory_properties={
162 'gclient_env': {
163 'GYP_DEFINES': FFMPEG_GYP_DEFINES_LINUX},
164 'trigger': 'linuxrel'})
165
166 f_cr_rel_linux = F_LINUX(slave_type='Tester',
167 build_url=chromium_rel_linux_archive,
168 tests=perf_av_tests,
169 factory_properties={
170 'show_perf_results': True,
171 'expectations': True,
172 'halt_on_missing_build': True,
173 'perf_id': 'linux-release',
174 'pyauto_env': {
175 'DO_NOT_RESTART_PYTHON_FOR_PYAUTO': '1'
176 },
177 })
178
179 f_win7_rel = F_WIN(slave_type='BuilderTester',
180 project='all.sln;chromium_builder_perf_av',
181 target='Release',
182 tests=perf_av_tests,
183 factory_properties={
184 'gclient_env': {'GYP_DEFINES': FFMPEG_GYP_DEFINES_WIN},
185 'show_perf_results': True,
186 'expectations': True,
187 'perf_id': 'win-release'})
188
189 # ----------------------------------------------------------------------------
190 # BUILDER DEFINITIONS
191
192 # The 'builders' list defines the Builders. Each one is configured with a
193 # dictionary, using the following keys:
194 # name (required): the name used to describe this bilder
195 # builddir (required): which subdirectory to run the builder in
196 # factory (required): a BuildFactory to define how the build is run
197 # periodicBuildTime (optional): if set, force a build every N seconds
198 # category (optional): it is not used in the normal 'buildbot' meaning. It is
199 # used by gatekeeper to determine which steps it should
200 # look for to close the tree.
201 #
202
203 b_chromium_rel_linux_builder = {'name': 'AV Linux Builder',
204 'builddir': 'chromium-rel-linux-builder',
205 'factory': f_cr_rel_linux_builder,
206 'category': '1linux|builders_compile|builder_testers',
207 'auto_reboot': False,
208 }
209
210 b_chromium_rel_linux = {'name': 'AV Linux',
211 'builddir': 'chromium-rel-linux',
212 'factory': f_cr_rel_linux,
213 'category': '1linux|builders_compile|builder_testers',
214 }
215
216 b_chromium_rel_win = {'name': 'AV Win7',
217 'factory': f_win7_rel,
218 'category': 'windows',
219 }
220
221 c['builders'] = [
222 b_chromium_rel_linux_builder,
223 b_chromium_rel_linux,
224 b_chromium_rel_win,
225 ]
226
227
228 ####### BUILDSLAVES
229
230 # Associate the slaves to the manual builders. The configuration is in
231 # slaves.cfg.
232 for builder in c['builders']:
233 builder['slavenames'] = slaves.GetSlavesName(builder=builder['name'])
234
235 # The 'slaves' list defines the set of allowable buildslaves. List all the
236 # slaves registered to a builder. Remove dupes.
237 c['slaves'] = master_utils.AutoSetupSlaves(c['builders'],
238 config.Master.GetBotPassword())
239 master_utils.VerifySetup(c, slaves)
240
241
242 ####### STATUS TARGETS
243
244 # The 'buildbotURL' string should point to the location where the buildbot's
245 # internal web server (usually the html.Waterfall page) is visible. This
246 # typically uses the port number set in the Waterfall 'status' entry, but
247 # with an externally-visible host name which the buildbot cannot figure out
248 # without some help.
249
250 # Must come before AutoSetupMaster().
251 c['buildbotURL'] = 'http://build.chromium.org/p/chromium.perf_av/'
252
253 # Adds common status and tools to this master.
254 master_utils.AutoSetupMaster(c, ActiveMaster,
255 public_html="../master.chromium/public_html",
256 templates=['../master.chromium/templates'],
257 enable_http_status_push=ActiveMaster.is_production_host)
258
259 # Add more.
260
261 if PERF_NOTIFIER:
262 # Builder exclusions
263 c['status'].append(perf_count_notifier.PerfCountNotifier(
264 fromaddr=ActiveMaster.from_address,
265 relayhost=config.Master.smtp,
266 status_header='Perf results on "%(builder)s":\n',
267 subject='Buildbot %(result)s in %(projectName)s on %(builder)s, '
268 'revision %(revision)s',
269 extraRecipients=['videostack-eng@google.com'],
270 lookup=master_utils.FilterDomain(),
271 use_getname=True,
272 # Perf steps to look for perf results. Other steps will be ignored.
273 step_names=['media_tests_av_perf'],
274 # 24 hours delay between emails perf bot result.
275 minimum_delay_between_alert=3600*24,
276 # A least 5 consecutive regressions are needed before notifying.
277 minimum_count=5,
278 # Combine bot results into one email.
279 combine_results=True))
280
281 ####### PROJECT IDENTITY
282
283 # the 'projectName' string will be used to describe the project that this
284 # buildbot is working on. For example, it is used as the title of the
285 # waterfall HTML page. The 'projectURL' string will be used to provide a link
286 # from buildbot HTML pages to your project's home page.
287
288 c['projectName'] = ActiveMaster.project_name
289 c['projectURL'] = config.Master.project_url
OLDNEW
« no previous file with comments | « build/masters/master.chromium.perf_av/buildbot.tac ('k') | build/masters/master.chromium.perf_av/master_site_config.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698