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

Unified Diff: masters/master.tryserver.chromiumos/master.cfg

Issue 8305010: Add ChromiumOS Trybot support. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build/
Patch Set: Created 9 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 side-by-side diff with in-line comments
Download patch
Index: masters/master.tryserver.chromiumos/master.cfg
===================================================================
--- masters/master.tryserver.chromiumos/master.cfg (revision 105558)
+++ masters/master.tryserver.chromiumos/master.cfg (working copy)
@@ -1,1039 +1,165 @@
# -*- python -*-
# ex: set syntax=python:
+
# Copyright (c) 2011 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.
-# READ THIS:
-# See http://dev.chromium.org/developers/testing/chromium-build-infrastructure
+# This is the buildmaster config file for the 'chromeos' bot. It must
+# be installed as 'master.cfg' in your buildmaster's base directory
+# (although the filename can be changed with the --basedir option to
+# 'mktap buildbot master').
-# These modules come from scripts, which must be in the PYTHONPATH.
+# It has one job: define a dictionary named BuildmasterConfig. This
+# dictionary has a variety of keys to control different aspects of the
+# buildmaster. They are documented in docs/config.xhtml .
+
+# These modules come from scripts/master, which must be in the PYTHONPATH.
+import master.cros_builder_mapping as cros_builder_mapping
+# Perform reload so a 'make reconfig' picks up changes to cros_builder_mapping
+reload(cros_builder_mapping)
+
from master import master_utils
from master import slaves_list
-from master import try_job_status_update
-from master.builders_pools import BuildersPools
-from master.factory import chromium_factory, chromeos_factory
-from master.try_job_http import TryJobHTTP
-from master.try_job_svn import TryJobSubversion
+from master.cros_builders_pools import CrOSBuildersPools
+from master.cros_try_job_git import CrOSTryJobGit
+from master.factory import chromeos_factory
+# These modules come from scripts/common, which must be in the PYTHONPATH.
import config
-ActiveMaster = config.Master.TryServer
+ActiveMaster = config.Master.ChromiumOSTryServer
+TREE_GATE_KEEPER = ActiveMaster.is_production_host
-STATUS_PUSH = False
-MAIL_NOTIFIER = True
-UPDATE_CODEREVIEW = ActiveMaster.is_production_host
-LISTEN_TO_SVN = ActiveMaster.svn_url and ActiveMaster.is_production_host
-
# This is the dictionary that the buildmaster pays attention to. We also use
# a shorter alias to save typing.
c = BuildmasterConfig = {}
-
####### CHANGESOURCES
-c['change_source'] = [ ]
+c['change_source'] = []
-
####### BUILDERS
-## FACTORIES
+pools = CrOSBuildersPools(default_pool_name='ChromeOS',
+ builder_mapping=cros_builder_mapping.CONFIG_NAME_DICT)
M-A Ruel 2011/10/14 23:21:20 Use spaces
rcui1 2011/10/14 23:52:08 Done.
-m_chromium_win = chromium_factory.ChromiumFactory(
- 'src/build',
- target_platform='win32')
+BUILDERS = []
-m_chromium_win_webkit = chromium_factory.ChromiumFactory(
- 'src/build',
- target_platform='win32')
+# ----------------------------------------------------------------------------
+# BUILDER DEFINITIONS
-m_chromium_linux = chromium_factory.ChromiumFactory(
- 'src/build',
- target_platform='linux2')
+# The 'builders' list defines the Builders. Each one is configured with a
+# dictionary, using the following keys:
+# name (required): the name used to describe this bilder
+# slavename (required): which slave to use, must appear in c['slaves']
+# builddir (required): which subdirectory to run the builder in
+# factory (required): a BuildFactory to define how the build is run
+# category (optional): it is not used in the normal 'buildbot' meaning. It is
+# used by gatekeeper to determine which steps it should
+# look for to close the tree.
+#
-m_chromium_mac = chromium_factory.ChromiumFactory(
- 'src/build',
- target_platform='darwin')
+# Cros helper functions to build builders and factories.
-# Chromium for ChromiumOS
-m_chromium_chromiumos = chromium_factory.ChromiumFactory(
- 'src/build',
- target_platform='linux2')
+def GetCBuildbotFactory(config):
+ """Returns cros buildbot factories."""
+ return chromeos_factory.CbuildbotFactory(
+ params=config, trybot=True, crostools_repo=None).get_factory()
M-A Ruel 2011/10/14 23:21:20 Use 2 lines between file level symbols.
rcui1 2011/10/14 23:52:08 Done.
+def AddBuilderDefinition(display_name):
+ """Adds a builder definition given by the args.
-def CreateBuilder(platform, builder_name, target,
- tests=None, options=None, mode=None, timeout=2400,
- slavebuilddir=None, extra_gyp_defines=None,
- gclient_env=None, sharding_supervisor=False,
- unsharded_tests=None):
- """Generates and register a builder along with its slave(s)."""
- if platform not in ('win32', 'win64', 'linux', 'mac'):
- raise Exception(platform + ' is not a known os type')
- factory_properties = {
- 'non_default': [
- 'check_licenses',
- 'pyauto_functional_tests',
- 'googleurl_unittests'
- ],
- }
- if sharding_supervisor:
- factory_properties['sharding_supervisor'] = True
- factory_properties['unsharded_tests'] = unsharded_tests or []
- project = None
- if platform in ('win32', 'win64'):
- factory = m_chromium_win
- if builder_name == 'win_aura':
- project = 'all.sln;aura_builder'
- else:
- project = 'all.sln'
- factory_properties['process_dumps'] = True
- factory_properties['gclient_env'] = { 'GYP_DEFINES' : 'fastbuild=1' }
- factory_properties['start_crash_handler'] = True
- elif platform == 'linux':
- factory = m_chromium_linux
- factory_properties['gclient_env'] = { 'GYP_DEFINES' : 'fastbuild=1' }
- elif platform == 'mac':
- factory = m_chromium_mac
- factory_properties['gclient_env'] = {
- 'GYP_DEFINES' : 'fastbuild=1 enable_svg=0' }
- if gclient_env:
- factory_properties['gclient_env'] = gclient_env
- if extra_gyp_defines:
- factory_properties['gclient_env']['GYP_DEFINES'] += ' ' + extra_gyp_defines
- builder_factory = factory.ChromiumFactory(
- slave_type='Trybot', target=target, tests=tests, options=options,
- mode=mode, compile_timeout=timeout, project=project,
- factory_properties=factory_properties)
- builder_info = {
- 'name': builder_name,
- 'factory': builder_factory,
- }
- if slavebuilddir:
- builder_info['slavebuilddir'] = slavebuilddir
- return builder_info
+ Args:
+ display_name: Name displayed on buildbot waterfall.
+ """
+ def GetConfig():
+ return cros_builder_mapping.NAME_CONFIG_DICT.get(display_name, display_name)
+ BUILDERS.append({
+ 'name': display_name,
+ 'builddir': display_name.replace(' ', '-'),
+ 'factory': GetCBuildbotFactory(GetConfig()),
+ 'category': '1release full|info',
+ })
-def CreateCrosBuilder(builder_name, target, slavebuilddir=None,
- short_name=None):
- """Generates and register a ChromeOS builder along with its slave(s)."""
+ pools['ChromeOS'].append(display_name)
- if short_name:
- buildroot = '/b/cbuild.%s' % short_name
- else:
- buildroot = '/b/cbuild'
+# Pre Flight Queues
+AddBuilderDefinition('x86 generic PFQ')
+AddBuilderDefinition('arm generic PFQ')
+AddBuilderDefinition('tegra2 PFQ')
- # Sets up a factory with the steps to pull out a chromium source tree and
- # apply a patch from a try job
- trial_chrome_factory = m_chromium_chromiumos.ChromiumOSFactory(
- target=None,
- slave_type='CrossTry',
- tests=[],
- )
+# Full Builders
+AddBuilderDefinition('x86 generic full')
+AddBuilderDefinition('arm generic full')
+AddBuilderDefinition('tegra2 full')
+AddBuilderDefinition('tegra2 seaboard full')
+AddBuilderDefinition('x86 pineview full')
- # Extends that factory with a Cbuildbot build steps to build and test
- # CrOS using the chrome from the above chromium source tree
- builder_factory = chromeos_factory.ChromeCbuildbotFactory(
- params=target,
- buildroot=buildroot,
- crostools_repo=None,
- dry_run=True,
- chrome_root='.', # this is where ChromiumOSFactory has put "Chrome"
- factory=trial_chrome_factory,
- slave_manager=False,
- ).get_factory()
+AddBuilderDefinition('chromiumos sdk',)
- builder_info = {
- 'name': builder_name,
- 'factory': builder_factory,
- }
- if slavebuilddir:
- builder_info['slavebuilddir'] = slavebuilddir
- return builder_info
+c['builders'] = BUILDERS
M-A Ruel 2011/10/14 23:21:20 You could set c['builders'] = [] around line 63 an
rcui1 2011/10/14 23:52:08 Done.
-# Try queues.
-pools = BuildersPools('chrome')
+####### BUILDSLAVES
-# Tests that are not single-machine shard-safe on Linux
-linux_unsharded = [
- 'gfx_unittests',
- 'interactive_ui_tests',
- 'net_unittests',
- 'sql_unittests',
- 'ui_tests',
- 'unit_tests',
- # dbus_unittests is not sharded because it takes less than 1 second to run.
- 'dbus_unittests']
+# the 'slaves' list defines the set of allowable buildslaves. Each element is a
+# tuple of bot-name and bot-password. These correspond to values given to the
+# buildslave's mktap invocation.
-# Linux builder
-linux_tests = [
- 'check_deps',
- 'check_licenses',
- 'base',
- 'net',
- 'googleurl',
- 'unit',
- 'ui',
- 'browser_tests',
- 'test_shell',
- 'webkit_unit',
- 'media',
- 'printing',
- 'remoting',
- 'nacl_integration',
- 'gpu',
- 'interactive_ui',
- 'safe_browsing',
- 'crypto',
- 'cacheinvalidation',
- 'jingle',
- 'dbus',]
-b_linux = CreateBuilder(platform='linux',
- target='Debug',
- options=['--compiler=goma'],
- tests=linux_tests,
- builder_name='linux',
- sharding_supervisor=True,
- unsharded_tests=linux_unsharded)
-pools['chrome'].append('linux')
+# First, load the list from slaves.cfg.
+slaves = slaves_list.SlavesList('slaves.cfg', 'ChromiumOSTryServer')
-b_linux_rel = CreateBuilder(platform='linux',
- target='Release',
- options=['--compiler=goma'],
- tests=linux_tests,
- builder_name='linux_rel',
- slavebuilddir='linux',
- sharding_supervisor=True,
- unsharded_tests=linux_unsharded,
- extra_gyp_defines='dcheck_always_on=1')
-
-
-# Tests that are not single-machine shard-safe on MacOS
-mac_unsharded = [
- 'gfx_unittests',
- 'interactive_ui_tests',
- 'ipc_tests',
- 'net_unittests',
- 'sql_unittests',
- 'ui_tests',
- 'unit_tests']
-
-# Mac builder
-mac_tests = [
- 'check_deps',
- 'base',
- 'net',
- 'googleurl',
- 'unit',
- 'ui',
- 'browser_tests',
- 'test_shell',
- 'webkit_unit',
- 'media',
- 'printing',
- 'remoting',
- 'nacl_integration',
- 'gpu',
- 'interactive_ui',
- 'safe_browsing',
- 'crypto',
- 'pyauto_functional_tests',
- 'cacheinvalidation',
- 'jingle']
-b_mac = CreateBuilder(platform='mac',
- target='Debug',
- tests=mac_tests,
- options=['--compiler=goma-clang'],
- extra_gyp_defines='clang=1 clang_use_chrome_plugins=1',
- builder_name='mac',
- sharding_supervisor=True,
- unsharded_tests=mac_unsharded)
-pools['chrome'].append('mac')
-
-b_mac_rel = CreateBuilder(platform='mac',
- target='Release',
- tests=mac_tests,
- builder_name='mac_rel',
- options=['--compiler=goma-clang'],
- extra_gyp_defines=
- ('clang=1 ' +
- 'clang_use_chrome_plugins=1 ' +
- 'dcheck_always_on=1'),
- slavebuilddir='mac',
- sharding_supervisor=True,
- unsharded_tests=mac_unsharded)
-
-
-# Tests that are not single-machine shard-safe on Windows
-win_unsharded = [
- 'chrome_frame_net_tests',
- 'chrome_frame_unittests',
- 'content_unittests',
- 'gfx_unittests',
- 'interactive_ui_tests',
- 'ipc_tests',
- 'net_unittests',
- 'sql_unittests',
- 'ui_tests',
- 'unit_tests',
- 'views_unittests']
-
-# Windows builder
-win_tests = [
- 'check_deps',
- 'base',
- 'net',
- 'googleurl',
- 'unit', 'ui', 'crypto',
- 'browser_tests',
- 'test_shell',
- 'webkit_unit',
- 'media',
- 'chrome_frame_unittests',
- 'chrome_frame_net_tests',
- 'printing',
- 'remoting',
- 'nacl_integration',
- 'gpu',
- 'installer',
- 'interactive_ui',
- 'safe_browsing',
- 'pyauto_functional_tests',
- 'cacheinvalidation',
- 'jingle',
- 'courgette']
-b_win = CreateBuilder(target='Debug',
- platform='win32',
- tests=win_tests,
- builder_name='win',
- sharding_supervisor=True,
- unsharded_tests=win_unsharded)
-pools['chrome'].append('win')
-
-b_win_rel = CreateBuilder(target='Release',
- platform='win32',
- tests=win_tests,
- builder_name='win_rel',
- slavebuilddir='win',
- sharding_supervisor=True,
- unsharded_tests=win_unsharded,
- extra_gyp_defines='dcheck_always_on=1')
-
-
-# TOOLKIT_VIEWS builder
-b_view_linux = {
- 'name': 'linux_view',
- 'factory': m_chromium_chromiumos.ChromiumOSFactory(
- target='Debug',
- tests=['unit',
- 'base',
- 'net',
- 'googleurl',
- 'media',
- 'crypto',
- 'ui',
- 'printing',
- 'remoting',
- 'browser_tests',
- 'interactive_ui',
- 'safe_browsing',
- 'views',
- 'cacheinvalidation',
- 'jingle',
- 'dbus',
- ],
- options=['--compiler=goma',
- 'base_unittests',
- 'browser_tests',
- 'content_unittests',
- 'interactive_ui_tests',
- 'ipc_tests',
- 'googleurl_unittests',
- 'media_unittests',
- 'net_unittests',
- 'printing_unittests',
- 'remoting_unittests',
- 'safe_browsing_tests',
- 'sql_unittests',
- 'sync_unit_tests',
- 'ui_tests',
- 'unit_tests',
- 'views_unittests',
- 'gfx_unittests',
- 'crypto_unittests',
- 'cacheinvalidation_unittests',
- 'jingle_unittests',
- 'dbus_unittests',
- ],
- factory_properties={
- 'gclient_env': {'GYP_DEFINES': 'toolkit_views=1 fastbuild=1'}})
-}
-
-# Chromium for ChromiumOS
-b_chromium_chromiumos = {
- 'name': 'linux_chromeos',
- 'factory': m_chromium_chromiumos.ChromiumOSFactory(
- target='Debug',
- tests=['unit',
- 'base',
- 'net',
- 'googleurl',
- 'media',
- 'ui',
- 'printing',
- 'remoting',
- 'browser_tests',
- 'interactive_ui',
- 'safe_browsing',
- 'crypto',
- 'cacheinvalidation',
- 'jingle',
- 'dbus',
- ],
- options=['--compiler=goma', 'chromeos_builder'],
- factory_properties={
- 'gclient_env': {'GYP_DEFINES': 'chromeos=1 fastbuild=1'}})
-}
-
-# 32 bits tools can't link libwebcore.a anymore due to lack of virtual address
-# space, including OSX 10.5.
-valgrind_gyp_defines = (
- chromium_factory.ChromiumFactory.MEMORY_TOOLS_GYP_DEFINES + ' enable_svg=0')
-
-b_valgrind_linux = {
- 'name': 'linux_valgrind',
- 'factory': m_chromium_linux.ChromiumFactory(
- target='Release',
- options=['--compiler=goma',
- 'base_unittests',
- 'content_unittests',
- 'crypto_unittests',
- 'googleurl_unittests',
- 'ipc_tests',
- 'media_unittests',
- 'net_unittests',
- 'gfx_unittests',
- 'printing_unittests',
- 'remoting_unittests',
- 'safe_browsing_tests',
- 'sql_unittests',
- 'sync_unit_tests',
- 'unit_tests',
- 'ui_tests',
- 'test_shell_tests',
- 'DumpRenderTree',
- ],
- tests=['valgrind_base',
- 'valgrind_content',
- 'valgrind_crypto',
- 'valgrind_googleurl',
- 'valgrind_ipc',
- 'valgrind_media',
- 'valgrind_net',
- 'valgrind_printing',
- 'valgrind_remoting',
- 'valgrind_safe_browsing',
- 'valgrind_sql',
- 'valgrind_sync',
- 'valgrind_unit',
- 'valgrind_test_shell',
- 'valgrind_ui_gtest_filter_required',
- ],
- factory_properties={
- 'needs_valgrind' : True,
- 'gclient_env': {
- 'GYP_DEFINES' : valgrind_gyp_defines + ' target_arch=ia32'
- }
- }
- ),
-}
-
-b_valgrind_mac = {
- 'name': 'mac_valgrind',
- 'factory': m_chromium_mac.ChromiumFactory(
- target='Debug',
- # This trybot will build every build target. We can speed up the build
- # for Valgrind by building only what we really need if/when we want to.
- # See http://crbug.com/42298
- tests=['valgrind_base',
- 'valgrind_content',
- 'valgrind_crypto',
- 'valgrind_googleurl',
- 'valgrind_ipc',
- 'valgrind_media',
- 'valgrind_net',
- 'valgrind_printing',
- 'valgrind_remoting',
- 'valgrind_safe_browsing',
- 'valgrind_sql',
- 'valgrind_unit',
- 'valgrind_test_shell',
- 'valgrind_ui_gtest_filter_required',
- ],
- factory_properties={
- 'needs_valgrind' : True,
- 'gclient_env': { 'GYP_DEFINES' : valgrind_gyp_defines}}),
-}
-
-b_chromium_chromiumos_valgrind = {
- 'name': 'linux_chromeos_valgrind',
- 'factory': m_chromium_chromiumos.ChromiumOSFactory(
- target='Release',
- options=['--compiler=goma',
- 'base_unittests',
- 'content_unittests',
- 'crypto_unittests',
- 'googleurl_unittests',
- 'ipc_tests',
- 'media_unittests',
- 'net_unittests',
- 'gfx_unittests',
- 'printing_unittests',
- 'remoting_unittests',
- 'safe_browsing_tests',
- 'sql_unittests',
- 'sync_unit_tests',
- 'unit_tests',
- ],
- tests=['valgrind_base',
- 'valgrind_content',
- 'valgrind_crypto',
- 'valgrind_googleurl',
- 'valgrind_ipc',
- 'valgrind_media',
- 'valgrind_net',
- 'valgrind_printing',
- 'valgrind_remoting',
- 'valgrind_safe_browsing',
- 'valgrind_sql',
- 'valgrind_sync',
- 'valgrind_unit',
- ],
- factory_properties={
- 'needs_valgrind' : True,
- 'gclient_env': {
- 'GYP_DEFINES' : valgrind_gyp_defines + ' target_arch=ia32 chromeos=1'
- }
- }
- ),
-}
-
-b_tsan_linux = {
- 'name': 'linux_tsan',
- # Reuse the directory.
- 'slavebuilddir': 'linux_valgrind',
- 'factory': m_chromium_linux.ChromiumFactory(
- target='Release',
- options=['--compiler=goma',
- 'base_unittests',
- 'content_unittests',
- 'crypto_unittests',
- 'googleurl_unittests',
- 'ipc_tests',
- 'media_unittests',
- 'net_unittests',
- 'gfx_unittests',
- 'printing_unittests',
- 'remoting_unittests',
- 'sql_unittests',
- 'sync_unit_tests',
- 'unit_tests',
- ],
- tests=['tsan_base',
- 'tsan_content',
- 'tsan_crypto',
- 'tsan_googleurl',
- 'tsan_ipc',
- 'tsan_media',
- 'tsan_net',
- 'tsan_printing',
- 'tsan_remoting',
- 'tsan_sql',
- 'tsan_sync',
- 'tsan_unit',
- ],
- factory_properties={
- 'needs_valgrind' : True,
- 'gclient_env': {
- 'GYP_DEFINES' : valgrind_gyp_defines + ' target_arch=ia32'
- }
- }
- ),
-}
-
-# Linux coverage builder
-GYP_DEFINES_FOR_COVERAGE = ('coverage=1 '
- 'fastbuild=1 '
- 'enable_svg=0 ')
-
-b_coverage_linux = {
- 'name': 'linux_coverage',
- 'factory': m_chromium_linux.ChromiumFactory(
- target='Debug',
- clobber=False,
- options=['--compiler=goma', 'coverage_build'],
- tests=['run_coverage_bundles', 'process_coverage'],
- factory_properties={
- 'gclient_env': { 'GYP_DEFINES' : GYP_DEFINES_FOR_COVERAGE},
- 'perf_id': 'chromium-dbg-linux-try',
- 'use_build_number': True,
- }),
-}
-
-# WebKit Layout builders
-b_linux_layout = {
- 'name': 'linux_layout',
- 'slavebuilddir': 'linux_layout',
- 'factory': m_chromium_linux.ChromiumFactory(
- target='Debug',
- tests=['test_shell', 'webkit_unit', 'webkit', 'webkit_gpu'],
- options=['--compiler=goma', 'test_shell', 'test_shell_tests',
- 'webkit_unit_tests', 'DumpRenderTree']),
-}
-b_linux_layout_rel = {
- 'name': 'linux_layout_rel',
- # Reuse the directory.
- 'slavebuilddir': 'linux_layout',
- 'factory': m_chromium_linux.ChromiumFactory(
- target='Release',
- tests=['test_shell', 'webkit_unit', 'webkit', 'webkit_gpu'],
- options=['--compiler=goma', 'test_shell', 'test_shell_tests',
- 'webkit_unit_tests', 'DumpRenderTree']),
-}
-
-b_mac_layout = {
- 'name': 'mac_layout',
- 'slavebuilddir': 'mac_layout',
- 'factory': m_chromium_mac.ChromiumFactory(
- target='Debug',
- tests=['test_shell', 'webkit_unit', 'webkit', 'webkit_gpu'],
- factory_properties={
- 'gclient_env': { 'GYP_DEFINES' : 'clang=1 clang_use_chrome_plugins=1'}},
- options=[
- '--compiler=goma-clang',
- '--', '-project', '../webkit/webkit.xcodeproj']),
-}
-b_mac_layout_rel = {
- 'name': 'mac_layout_rel',
- # Reuse the directory.
- 'slavebuilddir': 'mac_layout',
- 'factory': m_chromium_mac.ChromiumFactory(
- target='Release',
- tests=['test_shell', 'webkit_unit', 'webkit', 'webkit_gpu'],
- factory_properties={
- 'gclient_env': { 'GYP_DEFINES' : 'clang=1 clang_use_chrome_plugins=1'}},
- options=[
- '--compiler=goma-clang',
- '--', '-project', '../webkit/webkit.xcodeproj']),
-}
-
-b_win_layout = {
- 'name': 'win_layout',
- 'slavebuilddir': 'win_layout',
- 'factory': m_chromium_win_webkit.ChromiumFactory(
- target='Debug',
- project='all.sln;webkit_builder_win',
- tests=['test_shell', 'webkit_unit', 'webkit', 'webkit_gpu'])
-}
-b_win_layout_rel = {
- 'name': 'win_layout_rel',
- # Reuse the directory.
- 'slavebuilddir': 'win_layout',
- 'factory': m_chromium_win_webkit.ChromiumFactory(
- target='Release',
- project='all.sln;webkit_builder_win',
- tests=['test_shell', 'webkit_unit', 'webkit', 'webkit_gpu'])
-}
-
-
-# Sync builders
-b_linux_sync = CreateBuilder(
- platform='linux',
- target='Debug',
- options=['--compiler=goma'],
- tests=['sync_integration'],
- builder_name='linux_sync',
- slavebuilddir='linux')
-b_mac_sync = CreateBuilder(
- platform='mac',
- target='Debug',
- tests=['sync_integration'],
- builder_name='mac_sync',
- options=['--compiler=goma-clang'],
- extra_gyp_defines='clang=1 clang_use_chrome_plugins=1',
- slavebuilddir='mac')
-b_win_sync = CreateBuilder(
- platform='win32',
- target='Debug',
- tests=['sync_integration'],
- builder_name='win_sync',
- slavebuilddir='win')
-
-# Clang builders
-b_linux_clang = CreateBuilder(
- platform='linux',
- target='Debug',
- options=['--build-tool=make', '--compiler=clang'],
- tests=[],
- extra_gyp_defines='clang=1 clang_use_chrome_plugins=1',
- builder_name='linux_clang')
-
-b_mac_clang_no_goma = CreateBuilder(
- platform='mac',
- target='Debug',
- tests=['base', 'gfx', 'crypto', 'unit'],
- options=['--compiler=clang'],
- extra_gyp_defines='clang=1 clang_use_chrome_plugins=1',
- builder_name='mac_clang_no_goma')
-
-b_linux_chromeos_clang = {
- 'name': 'linux_chromeos_clang',
- 'factory': m_chromium_chromiumos.ChromiumOSFactory(
- target='Debug',
- options=['--build-tool=make', '--compiler=clang', ],
- tests=[],
- factory_properties={
- 'gclient_env': {
- # CreateBuilder() adds "fastbuild=1" for the other 2 clang bots.
- 'GYP_DEFINES' : ('clang=1 clang_use_chrome_plugins=1 '
- ' target_arch=ia32 chromeos=1 fastbuild=1'),
- }
- }
- ),
-}
-
-# Touch builder(s)
-b_linux_touch = CreateBuilder(
- platform='linux',
- target='Debug',
- options=['--compiler=goma'] +
- ['base_unittests',
- 'content_unittests',
- 'crypto_unittests',
- 'googleurl_unittests',
- 'gpu_unittests',
- 'media_unittests',
- 'printing_unittests',
- 'remoting_unittests',
- 'net_unittests',
- 'safe_browsing_tests',
- 'cacheinvalidation_unittests',
- 'jingle_unittests',
- 'sql_unittests', # from test target unit
- 'ipc_tests', # from test target unit
- 'sync_unit_tests', # from test target unit
- 'unit_tests', # from test target unit
- 'gfx_unittests', # from test target unit
- 'browser_tests',
- 'ui_tests',
- 'views_unittests',
- 'webkit_unit_tests',
- ],
- # tests=linux_tests would be nice, but they fail so badly and take so
- # long that the bot becomes useless.
- # TODO(petermayo): Make these test suites work repeatably or remove
- # specific inappropriate individual tests.
- tests=['webkit_unit',
- 'sizes', ] +
- ['check_deps',
- 'googleurl',
- 'media',
- 'printing',
- 'remoting',
- #'ui',
- #'browser_tests',
- 'unit',
- 'gpu',
- 'base',
- #'net',
- 'safe_browsing',
- 'crypto',
- 'cacheinvalidation',
- 'jingle',
- 'views'],
- # These are tested on other trybots, but not on the main page bot.
- # [ 'webkit_unit', 'media', 'cacheinvalidation', 'jingle'],
- extra_gyp_defines='touchui=1',
- builder_name='linux_touch')
-
-b_win_shared = CreateBuilder(
- platform='win32',
- target='Debug',
- tests=[],
- builder_name='win_shared',
- extra_gyp_defines='component=shared_library')
-
-b_linux_shared = CreateBuilder(
- platform='linux',
- target='Debug',
- tests=[],
- builder_name='linux_shared',
- extra_gyp_defines='component=shared_library')
-
-b_win_aura = CreateBuilder(
- platform='win32',
- target='Debug',
- builder_name='win_aura',
- tests=['views', 'compositor', 'aura', 'aura_shell'],
- extra_gyp_defines='use_aura=1')
-
-b_linux_aura = CreateBuilder(
- platform='linux',
- target='Debug',
- builder_name='linux_aura',
- tests=['views', 'compositor', 'aura', 'aura_shell'],
- options=['aura_builder'],
- extra_gyp_defines='use_aura=1')
-
-b_linux_asan = {
- 'name': 'linux_asan',
- 'factory': m_chromium_linux.ChromiumASANFactory(
- slave_type='BuilderTester',
- options=[
- '--compiler=asan',
- 'base_unittests',
- 'browser_tests',
- 'cacheinvalidation_unittests',
- 'content_unittests',
- 'crypto_unittests',
- 'gfx_unittests',
- 'googleurl_unittests',
- 'gpu_unittests',
- 'ipc_tests',
- 'jingle_unittests',
- 'media_unittests',
- 'net_unittests',
- 'printing_unittests',
- 'remoting_unittests',
- 'safe_browsing_tests',
- 'sql_unittests',
- 'sync_unit_tests',
- 'ui_tests',
- 'unit_tests',
- ],
- tests=[
- 'base',
- 'browser_tests'
- 'cacheinvalidation',
- 'crypto',
- 'googleurl',
- 'gpu',
- 'jingle',
- 'media',
- 'net',
- 'printing',
- 'remoting',
- 'safe_browsing',
- 'ui',
- 'unit',
- ],
- factory_properties={
- 'asan': True, # Use by runtest.py.
- 'gclient_env': {
- 'GYP_DEFINES': 'clang=1 linux_use_tcmalloc=0 disable_nacl=1 ',
- }
- }),
-}
-
-b_cros_pfq_x86 = CreateCrosBuilder(
- 'cros_x86',
- '--lkgm x86-generic-tot-chrome-pfq-informational',
- short_name='x86',
-)
-
-b_cros_pfq_arm = CreateCrosBuilder(
- 'cros_arm',
- '--lkgm arm-generic-tot-chrome-pfq-informational',
- short_name='arm',
-)
-
-b_cros_pfq_tegra2 = CreateCrosBuilder(
- 'cros_tegra2',
- '--lkgm arm-tegra2-tot-chrome-pfq-informational',
- short_name='tegra2',
-)
-
-# For now we will assume a fixed toolchain location on the builders.
-crosstool_prefix = (
- '/usr/local/crosstool-trusted/arm-crosstool/bin/arm-none-linux-gnueabi')
-# Factory properties to use for an arm build.
-arm_gclient_env = {
- 'AR': crosstool_prefix + '-ar',
- 'AS': crosstool_prefix + '-as',
- 'CC': crosstool_prefix + '-gcc',
- 'CXX': crosstool_prefix + '-g++',
- 'LD': crosstool_prefix + '-ld',
- 'RANLIB': crosstool_prefix + '-ranlib',
- 'GYP_GENERATORS': 'make',
- 'GYP_DEFINES': (
- 'target_arch=arm '
- 'sysroot=/usr/local/arm-rootfs '
- 'disable_nacl=1 '
- 'linux_use_tcmalloc=0 '
- 'armv7=1 '
- 'arm_thumb=1 '
- 'arm_neon=0 '
- 'arm_fpu=vfpv3-d16 '
- 'chromeos=1 ' # Since this is the intersting variation.
- ),
-}
-
-b_linux_chromeos_arm = {
- 'name': 'linux_chromeos_arm',
- 'factory': m_chromium_chromiumos.ChromiumOSFactory(
- target='Release',
- options=['--build-tool=make',
- '--crosstool=' + crosstool_prefix,
- 'chromeos_builder'],
- tests=[],
- factory_properties={'gclient_env': arm_gclient_env}),
-}
-
-c['builders'] = [
- b_linux_rel, b_mac_rel, b_win_rel,
- b_linux_clang,
- b_linux, b_mac, b_win,
- b_view_linux, b_chromium_chromiumos,
- b_valgrind_linux, b_valgrind_mac,
- b_chromium_chromiumos_valgrind, b_tsan_linux,
- b_linux_layout, b_mac_layout, b_win_layout,
- b_linux_layout_rel, b_mac_layout_rel, b_win_layout_rel,
- b_coverage_linux,
- b_linux_sync, b_mac_sync, b_win_sync,
- b_mac_clang_no_goma,
- b_linux_chromeos_clang,
- b_linux_touch,
- b_win_shared,
- b_linux_shared,
- b_win_aura, b_linux_aura,
- b_linux_asan,
- b_linux_chromeos_arm,
- b_cros_pfq_x86, b_cros_pfq_arm, b_cros_pfq_tegra2,
-]
-
-
-# Slaves are loaded from slaves.cfg.
-slaves = slaves_list.SlavesList('slaves.cfg', 'TryServer')
-
-# Associate the slaves to the builders. The configuration is in slaves.cfg.
+# Associate the slaves to the builders.
for builder in c['builders']:
builder['slavenames'] = slaves.GetSlavesName(builder=builder['name'])
+ print "%s -> %s" % (builder['name'], builder['slavenames'])
# Don't enable auto_reboot for people testing locally.
- builder['auto_reboot'] = ActiveMaster.is_production_host
+ print "is_production_host=%s" % ActiveMaster.is_production_host
+ builder.setdefault('auto_reboot', ActiveMaster.is_production_host)
-
-####### 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)
-
-
####### SCHEDULERS
-# Configure the Schedulers;
-# Main Tryscheduler for the try queue. groups is defined in the loop above.
c['schedulers'] = []
-last_good_urls = {'chrome': ActiveMaster.last_good_url}
-code_review_sites = {'chrome': ActiveMaster.code_review_site}
+c['schedulers'].append(CrOSTryJobGit(
+ name='cros_try_job_git',
+ pools=pools,
+ repo_url=ActiveMaster.repo_url
+ ))
-c['schedulers'].append(TryJobHTTP(
- name='try_job_http',
- port=ActiveMaster.try_job_port,
- last_good_urls=last_good_urls,
- code_review_sites=code_review_sites,
- pools=pools))
-
-if LISTEN_TO_SVN:
- c['schedulers'].append(TryJobSubversion(
- name='try_job_svn',
- svn_url=ActiveMaster.svn_url,
- last_good_urls=last_good_urls,
- code_review_sites=code_review_sites,
- pools=pools))
-
-
####### STATUS TARGETS
# Adds common status and tools to this master.
-# Use our own mail notifier.
-master_utils.AutoSetupMaster(c, ActiveMaster, False)
+master_utils.AutoSetupMaster(c, ActiveMaster, order_console_by_time=True)
-if STATUS_PUSH:
- from master.status_push import HttpStatusPush
- c['status'].append(HttpStatusPush(
- 'http://craebuild.appspot.com/status-listener'))
+# Add a dumb MailNotifier first so it will be used for BuildSlave with
+# notify_on_missing set when they go missing.
+from buildbot.status import mail
+c['status'].append(mail.MailNotifier(
+ fromaddr=ActiveMaster.from_address,
+ builders=[],
+ relayhost=config.Master.smtp,
+ lookup=master_utils.UsersAreEmails()))
-if MAIL_NOTIFIER:
- # Add a dumb MailNotifier first so it will be used for BuildSlave with
- # notify_on_missing set when they go missing.
- from buildbot.status import mail
- c['status'].append(mail.MailNotifier(
- fromaddr=ActiveMaster.from_address,
- builders=[],
- relayhost=config.Master.smtp,
- lookup=master_utils.UsersAreEmails()))
+# Try job result emails.
+from master.try_mail_notifier import TryMailNotifier
+c['status'].append(TryMailNotifier(
+ fromaddr=ActiveMaster.from_address,
+ subject="try %(result)s for %(reason)s on %(builder)s",
+ mode='all',
+ relayhost=config.Master.smtp,
+ lookup=master_utils.UsersAreEmails()))
- # Try job result emails.
- from master.try_mail_notifier import TryMailNotifier
- c['status'].append(TryMailNotifier(
- fromaddr=ActiveMaster.from_address,
- subject="try %(result)s for %(reason)s on %(builder)s @ r%(revision)s",
- mode='all',
- relayhost=config.Master.smtp,
- lookup=master_utils.UsersAreEmails()))
-if UPDATE_CODEREVIEW:
- c['status'].append(try_job_status_update.TryJobStatusUpdate(None))
-
-
-# Keep last try jobs, the default is too low. Must keep at least a few days
-# worth of try jobs.
-c['buildHorizon'] = 3000
-c['logHorizon'] = 3000
-# Must be at least 2x the number of slaves.
-c['eventHorizon'] = 200
-# Must be at least 2x the number of on-going builds.
-c['buildCacheSize'] = 200
-c['logCompressionLimit'] = False
-
-
-# Hack buildbot so the Stop build button doesn't work anymore. Otherwise it's
-# just a pain, user misuse this button all the time.
-def hack_stop(function):
- def hook(*args, **kwargs):
- result = function(*args, **kwargs)
- result = result.replace('<input type="submit" value="Stop',
- '<input type="button" onclick="alert(\''
- 'For more information, visit '
- 'http://dev.chromium.org/developers/try-server-usage'
- '\');"'
- ' value="Stop')
- return result
- return hook
-
-# Only do the hack_stop if we are the production master. This allows
-# us to keep the STOP button live for local/test instances.
-if ActiveMaster.is_production_host:
- from buildbot.status.web.builder import StatusResourceBuilder
- StatusResourceBuilder.build_line = hack_stop(StatusResourceBuilder.build_line)
- from buildbot.status.web import base
- base.make_stop_form = hack_stop(base.make_stop_form)
-
-
####### PROJECT IDENTITY
-# The 'projectURL' string will be used to provide a link
-# from buildbot HTML pages to your project's home page.
-c['projectURL'] = 'http://dev.chromium.org/developers/testing/try-server-usage'
-
# Buildbot master url:
-c['buildbotURL'] = 'http://build.chromium.org/p/tryserver.chromium/'
-
-# vi: set ts=4 sts=2 sw=2 et:
+c['buildbotURL'] = ''
« no previous file with comments | « no previous file | masters/master.tryserver.chromiumos/public_html/announce.html » ('j') | scripts/master/try_job_base.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698