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

Unified Diff: masters/master.client.pagespeed/master.cfg

Issue 5285010: Add a basic configuration (gclient sync + build) for pagespeed. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build/
Patch Set: '' Created 10 years, 1 month 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
Index: masters/master.client.pagespeed/master.cfg
===================================================================
--- masters/master.client.pagespeed/master.cfg (revision 0)
+++ masters/master.client.pagespeed/master.cfg (revision 0)
@@ -0,0 +1,134 @@
+# Copyright (c) 2010 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+from buildbot.changes import svnpoller
+from buildbot.scheduler import Scheduler
+
+from master import build_utils
+from master import master_utils
+from master import slaves_list
+from master.factory import pagespeed_factory
+
+import config
+
+ActiveMaster = config.Master.PageSpeed
+
+# This is the dictionary that the buildmaster pays attention to. We also use
+# a shorter alias to save typing.
+c = BuildmasterConfig = {}
+
+# Disable compression for the stdio files.
+c['logCompressionLimit'] = False
+
+
+####### POLLERS
+
+def TreeFileSplitter(path):
+ # List of projects we are interested in. The project names must exactly
+ # match paths in the Subversion repository, relative to the 'path' URL
+ # argument. build_utils.SplitPath() will use them as branch names to
+ # kick off the Schedulers for different projects.
+ projects = ['src']
+ return build_utils.SplitPath(projects, path)
+
+# Polls the svn server every 10 seconds for new changes.
+pagespeed_rev = 'http://code.google.com/p/page-speed/source/detail?r=%s'
+trunk_poller = svnpoller.SVNPoller(svnurl="http://page-speed.googlecode.com/svn/lib/trunk/",
+ split_file=TreeFileSplitter,
+ pollinterval=10,
+ revlinktmpl=pagespeed_rev)
+
+c['change_source'] = [trunk_poller]
+
+
+####### SCHEDULERS
+
+## configure the Schedulers
+
+# Main scheduler for all changes in trunk/src.
+s_src = Scheduler(name='src',
+ branch='src',
+ treeStableTimer=60,
+ builderNames=['Windows XP',
+ 'Windows 7',
+ 'Lucid 64',
+ 'Lucid 32',
+ 'Mac 10.6'])
+
+c['schedulers'] = [s_src]
+
+####### BUILDERS
+
+builders = []
+
+# ----------------------------------------------------------------------------
+# FACTORIES
+
+m_win = pagespeed_factory.PageSpeedFactory('src/build', 'win32')
+m_linux = pagespeed_factory.PageSpeedFactory('src/build', 'linux2')
+m_mac = pagespeed_factory.PageSpeedFactory('src/build', 'darwin')
+
+# Some shortcut to simplify the code below.
+F_WIN = m_win.PageSpeedFactory
+F_LINUX = m_linux.PageSpeedFactory
+F_MAC = m_mac.PageSpeedFactory
+
+f_linux = F_LINUX('pagespeed-rel-linux',
+ target='Release',
+ options=[],
+ tests=[])
+
+f_win = F_WIN('pagespeed-rel-windows',
+ project='all.sln',
+ target='Release',
+ tests=[])
+
+f_mac = F_MAC('pagespeed-rel-mac',
+ target='Release',
+ options=['--', '-project', 'all.xcodeproj'],
+ tests=[])
+
+
+# ----------------------------------------------------------------------------
+# BUILDER DEFINITIONS
+
+b_windows_xp = {'name': 'Windows XP', 'factory': f_win}
+b_windows_7 = {'name': 'Windows 7', 'factory': f_win}
+b_lucid_64 = {'name': 'Lucid 64', 'factory': f_linux}
+b_lucid_32 = {'name': 'Lucid 32', 'factory': f_linux}
+b_mac10_6 = {'name': 'Mac 10.6', 'factory': f_mac}
+
+c['builders'] = [
+ b_windows_xp,
+ b_windows_7,
+ b_lucid_64,
+ b_lucid_32,
+ b_mac10_6,
+]
+
+# Associate the slaves to the manual builders. The configuration is in
+# slaves.cfg.
+slaves = slaves_list.SlavesList('slaves.cfg', 'PageSpeed')
+for builder in c['builders']:
+ builder['slavenames'] = slaves.GetSlavesName(builder=builder['name'])
+
+####### BUILDSLAVES
+
+# The 'slaves' list defines the set of allowable buildslaves. List all the
+# slaves registered to a builder. Remove dupes.
+c['slaves'] = master_utils.AutoSetupSlaves(c['builders'],
+ config.Master.GetBotPassword())
+
+# Make sure everything works together.
+master_utils.VerifySetup(c, slaves)
+
+####### STATUS TARGETS
+
+# Adds common status and tools to this master.
+master_utils.AutoSetupMaster(c, ActiveMaster)
+
+####### PROJECT IDENTITY
+
+# Buildbot master url:
+c['buildbotURL'] = 'http://build.chromium.org/p/client.pagespeed'

Powered by Google App Engine
This is Rietveld 408576698