Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg (125065 => 125066)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg 2012-08-08 19:09:07 UTC (rev 125065)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg 2012-08-08 19:11:37 UTC (rev 125066)
@@ -195,7 +195,7 @@
class ArchiveBuiltProduct(shell.ShellCommand):
command = ["python", "./Tools/BuildSlaveSupport/built-product-archive",
- WithProperties("--platform=%(platform)s"), WithProperties("--%(configuration)s"), "archive"]
+ WithProperties("--platform=%(fullPlatform)s"), WithProperties("--%(configuration)s"), "archive"]
name = "archive-built-product"
description = ["archiving built product"]
descriptionDone = ["archived built product"]
@@ -204,7 +204,7 @@
class ExtractBuiltProduct(shell.ShellCommand):
command = ["python", "./Tools/BuildSlaveSupport/built-product-archive",
- WithProperties("--platform=%(platform)s"), WithProperties("--%(configuration)s"), "extract"]
+ WithProperties("--platform=%(fullPlatform)s"), WithProperties("--%(configuration)s"), "extract"]
name = "extract-built-product"
description = ["extracting built product"]
descriptionDone = ["extracted built product"]
@@ -421,13 +421,15 @@
failedTestsFormatString = "%d unit tests failed or timed out"
def start(self):
- platform = self.getProperty('platform')
- if platform == 'win':
+ platform = self.getProperty('fullPlatform')
+ if platform.startswith('win'):
self.setCommand(self.command + ['--no-build'])
if platform.startswith('mac'):
self.setCommand(self.command + ['--no-build'])
if platform.startswith('chromium'):
self.setCommand(self.command + ['--chromium'])
+ if platform == 'chromium-android':
+ self.setCommand(self.command + ['--chromium-android'])
return shell.Test.start(self)
def countFailures(self, cmd):
@@ -603,7 +605,7 @@
description = ["webkit-unit-tests running"]
descriptionDone = ["webkit-unit-tests"]
command = ["perl", "./Tools/Scripts/run-chromium-webkit-unit-tests",
- WithProperties("--%(configuration)s")]
+ WithProperties("--%(configuration)s"), WithProperties("--platform=%(fullPlatform)s")]
class RunAndUploadPerfTests(shell.Test):
@@ -712,8 +714,7 @@
def unitTestsSupported(configuration, platform):
if platform.startswith('mac') and configuration == "release":
return False; # https://bugs.webkit.org/show_bug.cgi?id=82652
- return (platform == 'win' or platform.startswith('mac')
- or (platform.startswith('chromium') and platform != 'chromium-android'))
+ return (platform == 'win' or platform.startswith('mac') or platform.startswith('chromium'))
def pickLatestBuild(builder, requests):
return max(requests, key=operator.attrgetter("submittedAt"))
Modified: trunk/Tools/BuildSlaveSupport/built-product-archive (125065 => 125066)
--- trunk/Tools/BuildSlaveSupport/built-product-archive 2012-08-08 19:09:07 UTC (rev 125065)
+++ trunk/Tools/BuildSlaveSupport/built-product-archive 2012-08-08 19:11:37 UTC (rev 125066)
@@ -51,14 +51,15 @@
parser.error("Action is required")
return 1
- if not determineWebKitBuildDirectory(options.platform, options.configuration):
+ genericPlatform = options.platform.split('-', 1)[0]
+ if not determineWebKitBuildDirectory(genericPlatform, options.configuration):
print >> sys.stderr, "Could not determine build directory"
return 1
if action == 'archive':
- return archiveBuiltProduct(options.configuration, options.platform)
+ return archiveBuiltProduct(options.configuration, genericPlatform, options.platform)
else:
- return extractBuiltProduct(options.configuration, options.platform)
+ return extractBuiltProduct(options.configuration, genericPlatform)
def determineWebKitBuildDirectory(platform, configuration):
@@ -116,7 +117,7 @@
return subprocess.call(["zip", "-y", "-r", archiveFile, "."], cwd=directoryToZip)
-def archiveBuiltProduct(configuration, platform):
+def archiveBuiltProduct(configuration, platform, fullPlatform):
assert platform in ('mac', 'win', 'qt', 'gtk', 'efl', 'chromium')
configurationBuildDirectory = os.path.join(_buildDirectory, configuration.title())
@@ -164,10 +165,14 @@
elif platform == 'chromium':
thinDirectory = os.path.join(configurationBuildDirectory, "thin")
+ ignorePatterns = ['.svn', '*.a', '*.d', '*.dSYM', '*.o', '*.ilk', '*.lib', '*.idb',
+ 'BuildLog.htm', '*.obj', '*.pdb', '*.pch', '*.tlog', '*.lastbuildstate']
+
+ if fullPlatform and fullPlatform == 'chromium-android':
+ ignorePatterns.extend(['*.so', '*.pak', '*-unaligned.apk'])
+
removeDirectoryIfExists(thinDirectory)
- copyBuildFiles(configurationBuildDirectory, thinDirectory,
- ['.svn', '*.a', '*.d', '*.dSYM', '*.o', '*.ilk', '*.lib', '*.idb', 'BuildLog.htm', '*.obj',
- '*.pdb', '*.pch', '*.tlog', '*.lastbuildstate'])
+ copyBuildFiles(configurationBuildDirectory, thinDirectory, ignorePatterns)
if createZip(thinDirectory, configuration):
return 1
Modified: trunk/Tools/ChangeLog (125065 => 125066)
--- trunk/Tools/ChangeLog 2012-08-08 19:09:07 UTC (rev 125065)
+++ trunk/Tools/ChangeLog 2012-08-08 19:11:37 UTC (rev 125066)
@@ -1,3 +1,36 @@
+2012-08-08 Peter Beverloo <pe...@chromium.org>
+
+ Buildmaster changes in preparation of a Chromium Android tester
+ https://bugs.webkit.org/show_bug.cgi?id=92251
+
+ Reviewed by Adam Barth.
+
+ Slightly update the build master's configuration in preparation of adding
+ a Chromium Android tester.
+
+ The change in built-product-archive is required as the out/ directory
+ for Android has a number of unstripped .so binaries and unaligned APKs,
+ causing the default release.zip file to be 2.7 gigabytes. By excluding
+ these file types, the file is only 59.7 megabytes. We can't disable
+ them for all of Chromium, as Mac and Linux do use their .so files.
+
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg:
+ (ArchiveBuiltProduct): Pass the full platform name instead of just the
+ generic type, i.e. chromium-android instead of chromium.
+ (ExtractBuiltProduct): Dito, stay consistent for this script.
+ (RunUnitTests): Pass --chromium-android as well as --chromium. Since we
+ now read the full platform name, stay on the safe side with 'win'
+ even though there (as far as I know) is no win-* platform.
+ (RunChromiumWebKitUnitTests): Dito. The platform wasn't being passed
+ at all, but we'll be needing different handling here.
+ (unitTestsSupported): Next to refactoring work required, as we'll be
+ running this test on a device, there is no reason to disable this
+ in the master's configuration.
+ * BuildSlaveSupport/built-product-archive:
+ (main): Determine the generic platform.
+ (archiveBuiltProduct): Use an identical set of ignorePatterns, but
+ extend the list with .so, .pak and -unaligned.apk for Android.
+
2012-08-08 Adam Barth <aba...@webkit.org>
Unreviewed. Stop running tests on the mac-ews while we wait for more