Fixing issues due to Buildbot 0.8.4p1 upgrade.
BUG=None TEST=Tested with local edits on buildmaster and try master. Review URL: https://webrtc-codereview.appspot.com/490007 git-svn-id: http://webrtc.googlecode.com/svn/trunk@2024 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
9784512bf3
commit
04d452e968
8
tools/.gitignore
vendored
8
tools/.gitignore
vendored
@ -28,12 +28,6 @@ state.sqlite-wal
|
||||
twistd.log*
|
||||
twistd.pid
|
||||
|
||||
# Output by buildbot into public_html:
|
||||
bg_gradient.jpg
|
||||
default.css
|
||||
favicon.ico.new
|
||||
robots.txt
|
||||
|
||||
# Chrome buildbot scripts
|
||||
/continuous_build/build
|
||||
|
||||
@ -51,6 +45,7 @@ robots.txt
|
||||
/continuous_build/build_internal/masters/master.webrtc/linux-valgrind
|
||||
/continuous_build/build_internal/masters/master.webrtc/mac-slave-2
|
||||
/continuous_build/build_internal/masters/master.webrtc/mac-slave-3
|
||||
/continuous_build/build_internal/masters/master.webrtc/public_html
|
||||
/continuous_build/build_internal/masters/master.webrtc/win-32-dbg
|
||||
/continuous_build/build_internal/masters/master.webrtc/win-32-release
|
||||
/continuous_build/build_internal/masters/master.webrtc/video
|
||||
@ -58,6 +53,7 @@ robots.txt
|
||||
/continuous_build/build_internal/masters/master.tryserver.webrtc/linux-trybot-2
|
||||
/continuous_build/build_internal/masters/master.tryserver.webrtc/mac-trybot-1
|
||||
/continuous_build/build_internal/masters/master.tryserver.webrtc/mac-trybot-2
|
||||
/continuous_build/build_internal/masters/master.tryserver.webrtc/public_html
|
||||
/continuous_build/build_internal/masters/master.tryserver.webrtc/win-trybot-1
|
||||
/continuous_build/build_internal/masters/master.tryserver.webrtc/win-trybot-2
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
# in the file PATENTS. All contributing project authors may
|
||||
# be found in the AUTHORS file in the root of the source tree.
|
||||
|
||||
__author__ = 'ivinnichenko@webrtc.org (Illya Vinnichenko)'
|
||||
__author__ = 'kjellander@webrtc.org (Henrik Kjellander)'
|
||||
|
||||
c = BuildmasterConfig = {}
|
||||
|
||||
@ -164,7 +164,18 @@ chromeos_factory.EnableBuild(chrome_os=True)
|
||||
chromeos_factory.EnableTests(linux_normal_tests)
|
||||
|
||||
linux_chrome_factory = utils.WebRTCChromeFactory(
|
||||
utils.BuildStatusOracle('linux_chrome'))
|
||||
utils.BuildStatusOracle('linux_chrome'),
|
||||
gclient_solution_name='src',
|
||||
svn_url='http://src.chromium.org/svn/trunk/src',
|
||||
custom_deps_list=[
|
||||
('src/third_party/webrtc',
|
||||
'http://webrtc.googlecode.com/svn/stable/src'),
|
||||
('src/third_party/WebKit/LayoutTests',
|
||||
None),
|
||||
('src/chrome/tools/test/reference_build',
|
||||
None),
|
||||
],
|
||||
safesync_url='http://chromium-status.appspot.com/lkgr')
|
||||
linux_chrome_factory.EnableBuild()
|
||||
|
||||
linux_clang = utils.WebRTCLinuxFactory(
|
||||
@ -173,7 +184,11 @@ linux_clang.EnableBuild(clang=True)
|
||||
linux_clang.EnableTests(linux_normal_tests)
|
||||
|
||||
linux_valgrind = utils.WebRTCLinuxFactory(
|
||||
utils.BuildStatusOracle('linux_valgrind'), valgrind_enabled=True)
|
||||
utils.BuildStatusOracle('linux_valgrind'), valgrind_enabled=True,
|
||||
custom_deps_list=[
|
||||
('trunk/third_party/valgrind',
|
||||
'http://src.chromium.org/svn/trunk/deps/third_party/valgrind/binaries'),
|
||||
])
|
||||
linux_valgrind.EnableBuild(release=True)
|
||||
# Filter out disabled Valgrind tests:
|
||||
valgrind_tests = filter(lambda test: test not in VALGRIND_DISABLED_TESTS,
|
||||
|
@ -0,0 +1,504 @@
|
||||
body {
|
||||
margin-bottom:50px;
|
||||
}
|
||||
|
||||
body, td {
|
||||
font-family: Verdana, Cursor;
|
||||
font-size: 10px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a:link,a:visited,a:active {
|
||||
color: #444;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
table {
|
||||
border-spacing: 1px 1px;
|
||||
}
|
||||
|
||||
table td {
|
||||
padding: 3px 0px 3px 0px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.closerbox {
|
||||
border: 1px solid #aaa;
|
||||
background-color: #eef;
|
||||
border-radius: 8px;
|
||||
-webkit-border-radius: 8px;
|
||||
-moz-border-radius: 8px;
|
||||
}
|
||||
|
||||
.closerbox table {
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
.closerbox .title {
|
||||
background-color: #ccc;
|
||||
border-top-left-radius: 8px;
|
||||
-webkit-border-top-left-radius: 8px;
|
||||
-moz-border-top-left-radius: 8px;
|
||||
border-top-right-radius: 8px;
|
||||
-webkit-border-top-right-radius: 8px;
|
||||
-moz-border-top-right-radius: 8px;
|
||||
padding: 0 0 2px;
|
||||
}
|
||||
|
||||
.Project {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.LastBuild, .Activity {
|
||||
padding: 0 0 0 4px;
|
||||
}
|
||||
|
||||
.LastBuild, .Activity, .Builder, .BuildStep {
|
||||
width: 155px;
|
||||
max-width: 155px;
|
||||
}
|
||||
|
||||
/* Chromium Specific styles */
|
||||
div.BuildResultInfo {
|
||||
color: #444;
|
||||
}
|
||||
|
||||
div.Announcement {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
div.Announcement > a:hover {
|
||||
color: black;
|
||||
}
|
||||
|
||||
div.Announcement > div.Notice {
|
||||
background-color: #afdaff;
|
||||
padding: 0.5em;
|
||||
font-size: 16px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.Announcement > div.Open {
|
||||
border: 3px solid #8fdf5f;
|
||||
padding: 0.5em;
|
||||
font-size: 16px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.Announcement > div.Closed {
|
||||
border: 5px solid #e98080;
|
||||
padding: 0.5em;
|
||||
font-size: 24px;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
td.Time {
|
||||
color: #000;
|
||||
border-bottom: 1px solid #aaa;
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
td.Activity, td.Change, td.Builder {
|
||||
color: #333333;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
|
||||
td.Change {
|
||||
border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
}
|
||||
td.Event {
|
||||
color: #777;
|
||||
background-color: #ddd;
|
||||
border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
}
|
||||
|
||||
td.Activity {
|
||||
border-top-left-radius: 10px;
|
||||
-webkit-border-top-left-radius: 10px;
|
||||
-moz-border-radius-topleft: 10px;
|
||||
min-height: 20px;
|
||||
padding: 2px 0 2px 0;
|
||||
}
|
||||
|
||||
td.idle, td.waiting, td.offline, td.building {
|
||||
border-top-left-radius: 0px;
|
||||
-webkit-border-top-left-radius: 0px;
|
||||
-moz-border-radius-topleft: 0px;
|
||||
}
|
||||
|
||||
.LastBuild {
|
||||
border-top-left-radius: 5px;
|
||||
-webkit-border-top-left-radius: 5px;
|
||||
-moz-border-radius-topleft: 5px;
|
||||
border-top-right-radius: 5px;
|
||||
-webkit-border-top-right-radius: 5px;
|
||||
-moz-border-radius-topright: 5px;
|
||||
}
|
||||
|
||||
/* Console view styles */
|
||||
|
||||
td.DevRev {
|
||||
padding: 4px 8px 4px 8px;
|
||||
color: #333333;
|
||||
border-top-left-radius: 5px;
|
||||
-webkit-border-top-left-radius: 5px;
|
||||
-moz-border-radius-topleft: 5px;
|
||||
background-color: #eee;
|
||||
width: 1%;
|
||||
}
|
||||
|
||||
td.DevRevCollapse {
|
||||
border-bottom-left-radius: 5px;
|
||||
-webkit-border-bottom-left-radius: 5px;
|
||||
-moz-border-radius-bottomleft: 5px;
|
||||
}
|
||||
|
||||
td.DevName {
|
||||
padding: 4px 8px 4px 8px;
|
||||
color: #333333;
|
||||
background-color: #eee;
|
||||
width: 1%;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
td.DevStatus {
|
||||
padding: 4px 4px 4px 4px;
|
||||
color: #333333;
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
td.DevSlave {
|
||||
padding: 4px 4px 4px 4px;
|
||||
color: #333333;
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
td.first {
|
||||
border-top-left-radius: 5px;
|
||||
-webkit-border-top-left-radius: 5px;
|
||||
-moz-border-radius-topleft: 5px;
|
||||
}
|
||||
|
||||
td.last {
|
||||
border-top-right-radius: 5px;
|
||||
-webkit-border-top-right-radius: 5px;
|
||||
-moz-border-radius-topright: 5px;
|
||||
}
|
||||
|
||||
td.DevStatusCategory {
|
||||
border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
}
|
||||
|
||||
td.DevStatusCollapse {
|
||||
border-bottom-right-radius: 5px;
|
||||
-webkit-border-bottom-right-radius: 5px;
|
||||
-moz-border-radius-bottomright: 5px;
|
||||
}
|
||||
|
||||
td.DevDetails {
|
||||
font-weight: normal;
|
||||
padding: 8px 8px 8px 8px;
|
||||
color: #333333;
|
||||
background-color: #eee;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
td.DevComment {
|
||||
font-weight: normal;
|
||||
padding: 8px 8px 8px 8px;
|
||||
color: #333333;
|
||||
border-bottom-right-radius: 5px;
|
||||
-webkit-border-bottom-right-radius: 5px;
|
||||
-moz-border-radius-bottomright: 5px;
|
||||
border-bottom-left-radius: 5px;
|
||||
-webkit-border-bottom-left-radius: 5px;
|
||||
-moz-border-radius-bottomleft: 5px;
|
||||
background-color: #eee;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
td.Alt {
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
|
||||
.legend {
|
||||
border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
width: 100px;
|
||||
max-width: 100px;
|
||||
text-align:center;
|
||||
padding: 2px 2px 2px 2px;
|
||||
height:14px;
|
||||
white-space:nowrap;
|
||||
}
|
||||
|
||||
.DevStatusBox {
|
||||
text-align:center;
|
||||
height:20px;
|
||||
padding:0 2px;
|
||||
line-height:0;
|
||||
white-space:nowrap;
|
||||
}
|
||||
|
||||
.DevStatusBox a {
|
||||
opacity: 0.85;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
display:block;
|
||||
width:90%;
|
||||
height:20px;
|
||||
line-height:20px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.DevSlaveBox {
|
||||
text-align:center;
|
||||
height:10px;
|
||||
padding:0 2px;
|
||||
line-height:0;
|
||||
white-space:nowrap;
|
||||
}
|
||||
|
||||
.DevSlaveBox a {
|
||||
opacity: 0.85;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
display:block;
|
||||
width:90%;
|
||||
height:10px;
|
||||
line-height:20px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
a.noround {
|
||||
border-radius: 0px;
|
||||
-webkit-border-radius: 0px;
|
||||
-moz-border-radius: 0px;
|
||||
position: relative;
|
||||
margin-top: -8px;
|
||||
margin-bottom: -8px;
|
||||
height: 36px;
|
||||
border-top-width: 0;
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
|
||||
a.begin {
|
||||
border-top-width:1px;
|
||||
position: relative;
|
||||
margin-top: 0px;
|
||||
margin-bottom: -7px;
|
||||
height: 27px;
|
||||
border-top-left-radius: 4px;
|
||||
-webkit-border-top-left-radius: 4px;
|
||||
-moz-border-radius-topleft: 4px;
|
||||
border-top-right-radius: 4px;
|
||||
-webkit-border-top-right-radius: 4px;
|
||||
-moz-border-radius-topright: 4px;
|
||||
}
|
||||
|
||||
a.end {
|
||||
border-bottom-width:1px;
|
||||
position: relative;
|
||||
margin-top: -7px;
|
||||
margin-bottom: 0px;
|
||||
height: 27px;
|
||||
border-bottom-left-radius: 4px;
|
||||
-webkit-border-bottom-left-radius: 4px;
|
||||
-moz-border-radius-bottomleft: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
-webkit-border-bottom-right-radius: 4px;
|
||||
-moz-border-radius-bottomright: 4px;
|
||||
}
|
||||
|
||||
.center_align {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.right_align {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.left_align {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.BuildWaterfall {
|
||||
border-radius: 7px;
|
||||
-webkit-border-radius: 7px;
|
||||
-moz-border-radius: 7px;
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
background-color: #FFFFFF;
|
||||
padding: 4px 4px 4px 4px;
|
||||
float: left;
|
||||
display: none;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
/* LastBuild, BuildStep states */
|
||||
.success {
|
||||
color: #FFFFFF;
|
||||
background-color: #8fdf5f;
|
||||
border-color: #4F8530;
|
||||
}
|
||||
|
||||
.failure {
|
||||
color: #FFFFFF;
|
||||
background-color: #e98080;
|
||||
border-color: #A77272;
|
||||
}
|
||||
|
||||
.warnings {
|
||||
color: #FFFFFF;
|
||||
background-color: #ffc343;
|
||||
border-color: #C29D46;
|
||||
}
|
||||
|
||||
.never {
|
||||
color: #FFFFFF;
|
||||
background-color: #f0f0e0;
|
||||
border-color: #A77272;
|
||||
}
|
||||
|
||||
.exception, .offline, .retry {
|
||||
color: #FFFFFF;
|
||||
background-color: #e0b0ff;
|
||||
border-color: #ACA0B3;
|
||||
}
|
||||
|
||||
.start,.running, td.building {
|
||||
color: #666666;
|
||||
background-color: #fffc6c;
|
||||
border-color: #C5C56D;
|
||||
}
|
||||
|
||||
.running_failure {
|
||||
color: #FFFFFF;
|
||||
background-color: #fffc6c;
|
||||
border-color: #ff0000;
|
||||
}
|
||||
|
||||
.start {
|
||||
border-bottom-left-radius: 10px;
|
||||
-webkit-border-bottom-left-radius: 10px;
|
||||
-moz-border-radius-bottomleft: 10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
-webkit-border-bottom-right-radius: 10px;
|
||||
-moz-border-radius-bottomright: 10px;
|
||||
}
|
||||
|
||||
.notstarted {
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-color:#aaa;
|
||||
}
|
||||
|
||||
.closed {
|
||||
background-color: #ff0000;
|
||||
}
|
||||
|
||||
.closed .large {
|
||||
font-size: 1.5em;
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
td.Project a:hover, td.start a:hover {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.mini-box {
|
||||
text-align:center;
|
||||
height:20px;
|
||||
padding:0 2px;
|
||||
line-height:0;
|
||||
white-space:nowrap;
|
||||
}
|
||||
|
||||
.mini-box a {
|
||||
border-radius: 0;
|
||||
-webkit-border-radius: 0;
|
||||
-moz-border-radius: 0;
|
||||
display:block;
|
||||
width:100%;
|
||||
height:20px;
|
||||
line-height:20px;
|
||||
margin-top:-30px;
|
||||
}
|
||||
|
||||
.mini-closed {
|
||||
-box-sizing:border-box;
|
||||
-webkit-box-sizing:border-box;
|
||||
border:4px solid red;
|
||||
}
|
||||
|
||||
/* grid styles */
|
||||
|
||||
table.Grid {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table.Grid tr td {
|
||||
padding: 0.2em;
|
||||
margin: 0px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.Grid tr td.title {
|
||||
font-size: 90%;
|
||||
border-right: 1px gray solid;
|
||||
border-bottom: 1px gray solid;
|
||||
}
|
||||
|
||||
table.Grid tr td.sourcestamp {
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
table.Grid tr td.builder {
|
||||
text-align: right;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
table.Grid tr td.build {
|
||||
border: 1px gray solid;
|
||||
}
|
||||
|
||||
div.data {
|
||||
font-family: "Courier New", courier, monotype;
|
||||
}
|
||||
|
||||
span.stdout, span.stderr, span.header {
|
||||
font-family: "Courier New", courier, monotype;
|
||||
font-size: 16px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
span.stderr {
|
||||
color: red;
|
||||
}
|
||||
|
||||
span.header {
|
||||
color: blue;
|
||||
}
|
@ -27,6 +27,7 @@ from master.factory import gclient_factory
|
||||
# dictionaries in master.cfg.
|
||||
SUPPORTED_PLATFORMS = ('Linux', 'Mac', 'Windows')
|
||||
|
||||
WEBRTC_SOLUTION_NAME = 'trunk'
|
||||
WEBRTC_SVN_LOCATION = 'http://webrtc.googlecode.com/svn/trunk'
|
||||
WEBRTC_TRUNK_DIR = 'build/trunk/'
|
||||
WEBRTC_BUILD_DIR = 'build/'
|
||||
@ -76,7 +77,10 @@ class WebRTCFactory(factory.BuildFactory):
|
||||
can be overridden to create customized build sequences.
|
||||
"""
|
||||
|
||||
def __init__(self, build_status_oracle, is_try_slave=False):
|
||||
def __init__(self, build_status_oracle, is_try_slave=False,
|
||||
gclient_solution_name=WEBRTC_SOLUTION_NAME,
|
||||
svn_url=WEBRTC_SVN_LOCATION,
|
||||
custom_deps_list=None, safesync_url=None):
|
||||
"""Creates the abstract factory.
|
||||
|
||||
Args:
|
||||
@ -84,6 +88,12 @@ class WebRTCFactory(factory.BuildFactory):
|
||||
keep track of our build state.
|
||||
is_try_slave: If this bot is a try slave. Needed since we're handling
|
||||
some things differently between normal slaves and try slaves.
|
||||
gclient_solution_name: The name of the solution used for gclient.
|
||||
svn_url: The Subversion URL for gclient to sync agains.
|
||||
custom_deps_list: Content to be put in the custom_deps entry of the
|
||||
.gclient file. The parameter must be a list of tuples with two
|
||||
strings in each: path and remote URL.
|
||||
safesync_url: If a LKGR URL shall be used for the gclient sync command.
|
||||
"""
|
||||
factory.BuildFactory.__init__(self)
|
||||
|
||||
@ -93,6 +103,11 @@ class WebRTCFactory(factory.BuildFactory):
|
||||
self.gyp_params = []
|
||||
self.release = False
|
||||
self.path_joiner = PosixPathJoin
|
||||
# For GClient solution definition:
|
||||
self.gclient_solution_name = gclient_solution_name
|
||||
self.svn_url = svn_url
|
||||
self.custom_deps_list = custom_deps_list
|
||||
self.safesync_url = safesync_url
|
||||
|
||||
def EnableBuild(self):
|
||||
"""Adds steps for building WebRTC [must be overridden].
|
||||
@ -206,12 +221,6 @@ 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):
|
||||
"""Helper method for invoking gclient sync."""
|
||||
gclient_spec = self._ConfigureWhatToBuild()
|
||||
@ -255,8 +264,9 @@ class WebRTCFactory(factory.BuildFactory):
|
||||
|
||||
def _ConfigureWhatToBuild(self):
|
||||
"""Returns a string with the contents of a .gclient file."""
|
||||
solution = gclient_factory.GClientSolution(name='trunk',
|
||||
svn_url=WEBRTC_SVN_LOCATION)
|
||||
solution = gclient_factory.GClientSolution(name=self.gclient_solution_name,
|
||||
svn_url=self.svn_url, custom_deps_list=self.custom_deps_list,
|
||||
safesync_url=self.safesync_url)
|
||||
return 'solutions = [ %s ]' % solution.GetSpec()
|
||||
|
||||
def _GetEnvironmentWithDisabledDepotToolsUpdate(self):
|
||||
@ -414,8 +424,11 @@ class GenerateCodeCoverage(ShellCommand):
|
||||
self.flunkOnFailure = False
|
||||
output_dir = os.path.join(coverage_dir,
|
||||
'%(buildername)s_%(buildnumber)s')
|
||||
self.setCommand(['./tools/continuous_build/generate_coverage_html.sh',
|
||||
coverage_file, WithProperties(output_dir)])
|
||||
generate_script = PosixPathJoin('tools', 'continuous_build',
|
||||
'build_internal', 'scripts',
|
||||
'generate_coverage_html.sh')
|
||||
self.setCommand([generate_script, coverage_file,
|
||||
WithProperties(output_dir)])
|
||||
|
||||
def createSummary(self, log):
|
||||
coverage_url = urlparse.urljoin(self.coverage_url,
|
||||
@ -447,11 +460,9 @@ 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 ' % product)
|
||||
self.AddCommonStep(cmd, descriptor='make_android')
|
||||
|
||||
cmd = 'source build/envsetup.sh && mmm external/webrtc showcommands'
|
||||
self.AddCommonStep(cmd, descriptor='make_webrtc')
|
||||
cmd = ('source build/envsetup.sh && lunch full_%s-eng '
|
||||
'&& mmm external/webrtc showcommands' % product)
|
||||
self.AddCommonStep(cmd, descriptor='build')
|
||||
|
||||
|
||||
class WebRTCAndroidNDKFactory(WebRTCFactory):
|
||||
@ -462,19 +473,31 @@ class WebRTCAndroidNDKFactory(WebRTCFactory):
|
||||
|
||||
def EnableBuild(self):
|
||||
self.AddSmartCleanStep()
|
||||
self.AddGclientConfigStep()
|
||||
self.AddGclientSyncStep()
|
||||
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')
|
||||
self._AddAndroidStep(cmd='gclient runhooks',
|
||||
descriptor='gen_android_makefiles')
|
||||
self._AddAndroidStep(cmd='make -j100', descriptor='make')
|
||||
|
||||
def _AddAndroidStep(self, cmd, descriptor):
|
||||
full_cmd = ('source build/android/buildbot_functions.sh &&'
|
||||
'bb_setup_environment && '
|
||||
'source build/android/envsetup.sh &&'
|
||||
'%s' % cmd)
|
||||
self.AddCommonStep(cmd=full_cmd, descriptor=descriptor)
|
||||
|
||||
class WebRTCChromeFactory(WebRTCFactory):
|
||||
"""Sets up the Chrome OS build."""
|
||||
|
||||
def __init__(self, build_status_oracle):
|
||||
WebRTCFactory.__init__(self, build_status_oracle)
|
||||
def __init__(self, build_status_oracle,
|
||||
gclient_solution_name,
|
||||
svn_url,
|
||||
custom_deps_list=None,
|
||||
safesync_url=None):
|
||||
WebRTCFactory.__init__(self, build_status_oracle=build_status_oracle,
|
||||
gclient_solution_name=gclient_solution_name,
|
||||
svn_url=svn_url,
|
||||
custom_deps_list=custom_deps_list,
|
||||
safesync_url=safesync_url)
|
||||
|
||||
def EnableBuild(self):
|
||||
self.AddCommonStep(['rm', '-rf', 'src'], workdir=WEBRTC_BUILD_DIR,
|
||||
@ -498,9 +521,10 @@ class WebRTCLinuxFactory(WebRTCFactory):
|
||||
"""
|
||||
|
||||
def __init__(self, build_status_oracle, is_try_slave=False,
|
||||
valgrind_enabled=False):
|
||||
WebRTCFactory.__init__(self, build_status_oracle, is_try_slave)
|
||||
|
||||
valgrind_enabled=False, custom_deps_list=None):
|
||||
WebRTCFactory.__init__(self, build_status_oracle=build_status_oracle,
|
||||
is_try_slave=is_try_slave,
|
||||
custom_deps_list=custom_deps_list)
|
||||
self.build_enabled = False
|
||||
self.coverage_enabled = False
|
||||
self.valgrind_enabled = valgrind_enabled
|
||||
@ -538,8 +562,6 @@ class WebRTCLinuxFactory(WebRTCFactory):
|
||||
if self.valgrind_enabled:
|
||||
for gyp_define in MEMORY_TOOLS_GYP_DEFINES:
|
||||
self.gyp_params.append('-D' + gyp_define)
|
||||
else:
|
||||
self.AddGclientConfigStep()
|
||||
self.AddGclientSyncStep()
|
||||
|
||||
if chrome_os:
|
||||
@ -611,7 +633,9 @@ class WebRTCLinuxFactory(WebRTCFactory):
|
||||
|
||||
# Delete all third-party .gcda files to save time and work around a bug
|
||||
# in lcov which tends to hang when capturing on libjpgturbo.
|
||||
self.AddCommonStep(['./tools/continuous_build/clean_third_party_gcda.sh'],
|
||||
clean_script = PosixPathJoin('tools', 'continuous_build', 'build_internal',
|
||||
'scripts', 'clean_third_party_gcda.sh')
|
||||
self.AddCommonStep([clean_script],
|
||||
warn_on_failure=True,
|
||||
halt_build_on_failure=False,
|
||||
descriptor='LCOV (Delete 3rd party)')
|
||||
@ -706,7 +730,6 @@ class WebRTCMacFactory(WebRTCFactory):
|
||||
else:
|
||||
self.build_type = build_type
|
||||
self.AddSmartCleanStep()
|
||||
self.AddGclientConfigStep()
|
||||
self.AddGclientSyncStep()
|
||||
|
||||
if self.build_type == 'make' or self.build_type == 'both':
|
||||
@ -800,14 +823,13 @@ class WebRTCWinFactory(WebRTCFactory):
|
||||
# To avoid having to modify kill_processes.py, we set the working dir to
|
||||
# the build dir (three levels up from the build dir that contains
|
||||
# third_party/psutils).
|
||||
kill_script = self.PathJoin(WEBRTC_BUILD_DIR, '..', '..', '..', 'scripts',
|
||||
'slave', 'kill_processes.py')
|
||||
kill_script = WindowsPathJoin(WEBRTC_BUILD_DIR, '..', '..', '..', '..',
|
||||
'scripts', 'slave', 'kill_processes.py')
|
||||
cmd = 'python %s' % kill_script
|
||||
self.AddCommonStep(cmd, 'taskkill', workdir=WEBRTC_BUILD_DIR)
|
||||
|
||||
# Now do the clean + build.
|
||||
self.AddSmartCleanStep()
|
||||
self.AddGclientConfigStep()
|
||||
self.AddGclientSyncStep()
|
||||
|
||||
if self.configuration == 'Debug' or self.configuration == 'both':
|
||||
|
Loading…
x
Reference in New Issue
Block a user