Added a new Android NDK bot.
BUG= TEST= Review URL: https://webrtc-codereview.appspot.com/458001 git-svn-id: http://webrtc.googlecode.com/svn/trunk@1920 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
aaf62ac019
commit
2360d8212e
@ -30,6 +30,7 @@ c = BuildmasterConfig = {}
|
||||
from buildbot.buildslave import BuildSlave
|
||||
|
||||
c['slaves'] = [BuildSlave('android', 'pass', max_builds=1),
|
||||
BuildSlave('android-ndk', 'pass', max_builds=1),
|
||||
BuildSlave('chromeos', 'pass', max_builds=1),
|
||||
BuildSlave('linux-chrome', 'pass', max_builds=1),
|
||||
BuildSlave('linux-clang', 'pass', max_builds=1),
|
||||
@ -83,6 +84,7 @@ webrtc_scheduler = Scheduler(name='all', branch=None, treeStableTimer=5*60,
|
||||
'Linux64DBG-GCC4.6',
|
||||
'LinuxVideoTest',
|
||||
'Android',
|
||||
'AndroidNDK',
|
||||
'ChromeOS'
|
||||
])
|
||||
chrome_scheduler = Scheduler(name='chrome', branch=None, treeStableTimer=60*60,
|
||||
@ -221,6 +223,10 @@ android_factory = utils.WebRTCAndroidFactory(
|
||||
utils.BuildStatusOracle('android_factory'))
|
||||
android_factory.EnableBuild(product='toro')
|
||||
|
||||
android_ndk_factory = utils.WebRTCAndroidNDKFactory(
|
||||
utils.BuildStatusOracle('android_ndk_factory'))
|
||||
android_ndk_factory.EnableBuild()
|
||||
|
||||
############## Mac factories #######################################
|
||||
mac_factory_32_dbg = utils.WebRTCMacFactory(
|
||||
utils.BuildStatusOracle('mac_factory_32_dbg'))
|
||||
@ -337,6 +343,12 @@ android_builder_1 = {
|
||||
'builddir': 'android',
|
||||
'factory': android_factory,
|
||||
}
|
||||
android_builder_ndk = {
|
||||
'name': 'AndroidNDK',
|
||||
'slavename': 'android-ndk',
|
||||
'builddir': 'android-ndk',
|
||||
'factory': android_ndk_factory,
|
||||
}
|
||||
linux_builder_gcc_4_6 = {
|
||||
'name': 'Linux64DBG-GCC4.6',
|
||||
'slavename': 'linux-slave-gcc-4.6',
|
||||
@ -357,6 +369,7 @@ c['builders'] = [
|
||||
linux_builder_gcc_4_6,
|
||||
linux_builder_video,
|
||||
android_builder_1,
|
||||
android_builder_ndk,
|
||||
chromeos_builder,
|
||||
linux_builder_chrome,
|
||||
]
|
||||
|
@ -200,9 +200,17 @@ class WebRTCFactory(factory.BuildFactory):
|
||||
"""
|
||||
self.AddCommonTestRunStep(test)
|
||||
|
||||
def AddGclientConfigStep(self):
|
||||
"""Helper method for adding a gclient config step."""
|
||||
self.AddCommonStep(['gclient', 'config', WEBRTC_SVN_LOCATION],
|
||||
workdir=WEBRTC_BUILD_DIR,
|
||||
descriptor='gclient_config')
|
||||
|
||||
def AddGclientSyncStep(self, force_sync):
|
||||
"""Helper method for invoking gclient sync. Will retry if the operation
|
||||
fails. Runs in the bot's build directory (e.g. one step above trunk).
|
||||
"""Helper method for invoking gclient sync.
|
||||
|
||||
Will retry if the operation fails. Runs in the bot's build directory
|
||||
(e.g. one step above trunk).
|
||||
|
||||
Args:
|
||||
force_sync: If the sync should be forced, i.e. update even for
|
||||
@ -414,9 +422,27 @@ class WebRTCAndroidFactory(WebRTCFactory):
|
||||
cmd = 'svn checkout %s external/webrtc' % WEBRTC_SVN_LOCATION
|
||||
self.AddCommonStep(cmd, descriptor='svn (checkout)')
|
||||
|
||||
cmd = ('source build/envsetup.sh && lunch full_%s-eng '
|
||||
'&& mmm external/webrtc showcommands' % product)
|
||||
self.AddCommonStep(cmd, descriptor='build')
|
||||
cmd = ('source build/envsetup.sh && lunch full_%s-eng ' % product)
|
||||
self.AddCommonStep(cmd, descriptor='make_android')
|
||||
|
||||
cmd = 'source build/envsetup.sh && mmm external/webrtc showcommands'
|
||||
self.AddCommonStep(cmd, descriptor='make_webrtc')
|
||||
|
||||
|
||||
class WebRTCAndroidNDKFactory(WebRTCFactory):
|
||||
"""Sets up the Android NDK build."""
|
||||
|
||||
def __init__(self, build_status_oracle):
|
||||
WebRTCFactory.__init__(self, build_status_oracle)
|
||||
|
||||
def EnableBuild(self):
|
||||
self.AddSmartCleanStep()
|
||||
self.AddGclientConfigStep()
|
||||
self.AddGclientSyncStep(force_sync=True)
|
||||
cmd = 'source ./build/android/envsetup.sh && gclient runhooks'
|
||||
self.AddCommonStep(cmd, descriptor='gen_android_makefiles')
|
||||
cmd = 'source ./build/android/envsetup.sh && make -j8'
|
||||
self.AddCommonStep(cmd, descriptor='make')
|
||||
|
||||
|
||||
class WebRTCChromeFactory(WebRTCFactory):
|
||||
@ -487,9 +513,7 @@ class WebRTCLinuxFactory(WebRTCFactory):
|
||||
for gyp_define in MEMORY_TOOLS_GYP_DEFINES:
|
||||
self.gyp_params.append('-D' + gyp_define)
|
||||
else:
|
||||
self.AddCommonStep(['gclient', 'config', WEBRTC_SVN_LOCATION],
|
||||
workdir=WEBRTC_BUILD_DIR,
|
||||
descriptor='gclient_config')
|
||||
self.AddGclientConfigStep()
|
||||
self.AddGclientSyncStep(force_sync=False)
|
||||
|
||||
if chrome_os:
|
||||
@ -656,9 +680,7 @@ class WebRTCMacFactory(WebRTCFactory):
|
||||
else:
|
||||
self.build_type = build_type
|
||||
self.AddSmartCleanStep()
|
||||
self.AddCommonStep(['gclient', 'config', WEBRTC_SVN_LOCATION],
|
||||
workdir=WEBRTC_BUILD_DIR,
|
||||
descriptor='gclient_config')
|
||||
self.AddGclientConfigStep()
|
||||
self.AddGclientSyncStep(force_sync=True)
|
||||
|
||||
if self.build_type == 'make' or self.build_type == 'both':
|
||||
@ -741,9 +763,7 @@ class WebRTCWinFactory(WebRTCFactory):
|
||||
|
||||
# Now do the clean + build.
|
||||
self.AddSmartCleanStep()
|
||||
self.AddCommonStep(['gclient', 'config', WEBRTC_SVN_LOCATION],
|
||||
descriptor='gclient_config',
|
||||
workdir=WEBRTC_BUILD_DIR)
|
||||
self.AddGclientConfigStep()
|
||||
self.AddGclientSyncStep(force_sync=True)
|
||||
|
||||
if self.configuration == 'Debug' or self.configuration == 'both':
|
||||
|
16
tools/quality_tracking/dashboard/index.yaml
Normal file
16
tools/quality_tracking/dashboard/index.yaml
Normal file
@ -0,0 +1,16 @@
|
||||
indexes:
|
||||
|
||||
# AUTOGENERATED
|
||||
|
||||
# This index.yaml is automatically updated whenever the dev_appserver
|
||||
# detects that a new type of query is run. If you want to manage the
|
||||
# index.yaml file manually, remove the above marker line (the line
|
||||
# saying "# AUTOGENERATED"). If you want to manage some indexes
|
||||
# manually, move them above the marker line. The index.yaml file is
|
||||
# automatically uploaded to the admin console when you next deploy
|
||||
# your application using appcfg.py.
|
||||
|
||||
- kind: CoverageData
|
||||
properties:
|
||||
- name: report_category
|
||||
- name: date
|
Loading…
x
Reference in New Issue
Block a user