Add iOS criterion for triggering a build
authordbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 30 Sep 2015 23:03:28 +0000 (23:03 +0000)
committerdbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 30 Sep 2015 23:03:28 +0000 (23:03 +0000)
https://bugs.webkit.org/show_bug.cgi?id=149679

Rubber-stamped by Alexey Proskuryakov.

First pass at defining criterion for triggering an iOS build.

* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build):
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
(ShouldBuildTest.test_should_build):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190371 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/BuildSlaveSupport/build.webkit.org-config/wkbuild.py
Tools/BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py
Tools/ChangeLog

index 6776877..277b611 100644 (file)
@@ -37,7 +37,7 @@ def _should_file_trigger_build(target_platform, file):
     # and start using it for their bots. Someone familiar with each platform
     # will have to figure out what the right set of directories/patterns is for
     # that platform.
-    assert(target_platform in ("mac-mavericks", "mac-yosemite", "mac-elcapitan", "win"))
+    assert(target_platform in ("mac-mavericks", "mac-yosemite", "mac-elcapitan", "win", "ios-9", "ios-simulator-9"))
 
     directories = [
         # Directories that shouldn't trigger builds on any bots.
@@ -47,29 +47,32 @@ def _should_file_trigger_build(target_platform, file):
         ("Tools/BuildSlaveSupport/build.webkit.org-config/public_html", []),
         ("Websites", []),
         ("efl", []),
-        ("ios", []),
         ("opengl", []),
         ("opentype", []),
         ("openvg", []),
         ("wx", []),
 
         # Directories that should trigger builds on only some bots.
+        ("LayoutTests/platform/ios-simulator", ["ios"]),
+        ("LayoutTests/platform/ios-simulator-wk1", ["ios"]),
+        ("LayoutTests/platform/ios-simulator-wk2", ["ios"]),
         ("LayoutTests/platform/mac-mavericks", ["mac-mavericks"]),
         ("LayoutTests/platform/mac-yosemite", ["mac-mavericks", "mac-yosemite"]),
         ("LayoutTests/platform/mac-elcapitan", ["mac-mavericks", "mac-yosemite", "mac-elcapitan"]),
         ("LayoutTests/platform/mac-wk2", ["mac-mavericks", "mac-yosemite", "mac-elcapitan"]),
         ("LayoutTests/platform/mac-wk1", ["mac-mavericks", "mac-yosemite", "mac-elcapitan"]),
         ("LayoutTests/platform/mac", ["mac", "win"]),
-        ("LayoutTests/platform/wk2", ["mac"]),
+        ("LayoutTests/platform/wk2", ["mac", "ios"]),
         ("cairo", ["gtk", "wincairo"]),
-        ("cf", ["mac", "win"]),
-        ("cocoa", ["mac"]),
+        ("cf", ["mac", "win", "ios"]),
+        ("cocoa", ["mac", "ios"]),
         ("curl", ["gtk", "wincairo"]),
         ("gobject", ["gtk"]),
         ("gstreamer", ["gtk"]),
         ("gtk", ["gtk"]),
+        ("ios", ["ios"]),
         ("mac", ["mac"]),
-        ("objc", ["mac"]),
+        ("objc", ["mac", "ios"]),
         ("soup", ["gtk"]),
         ("win", ["win"]),
     ]
@@ -87,12 +90,13 @@ def _should_file_trigger_build(target_platform, file):
         # Patterns that should trigger builds on only some bots.
         (r"(?:^|/)PlatformGTK\.cmake$", ["gtk"]),
         (r"Mac\.(?:cpp|h|mm)$", ["mac"]),
+        (r"IOS\.(?:cpp|h|mm)$", ["ios"]),
         (r"\.(?:vcproj|vsprops|sln|vcxproj|props|filters)$", ["win"]),
-        (r"\.exp(?:\.in)?$", ["mac"]),
-        (r"\.order$", ["mac"]),
+        (r"\.exp(?:\.in)?$", ["mac", "ios"]),
+        (r"\.order$", ["mac", "ios"]),
         (r"\.(?:vcproj|vcxproj)/", ["win"]),
-        (r"\.xcconfig$", ["mac"]),
-        (r"\.xcodeproj/", ["mac"]),
+        (r"\.xcconfig$", ["mac", "ios"]),
+        (r"\.xcodeproj/", ["mac", "ios"]),
     ]
 
     base_platform = target_platform.split("-")[0]
index f7352a6..95eee1e 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Apple Inc. All rights reserved.
+# Copyright (C) 2010, 2015 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
@@ -29,7 +29,8 @@ class ShouldBuildTest(unittest.TestCase):
         (["ChangeLog", "Source/WebCore/ChangeLog", "Source/WebKit2/ChangeLog-2011-02-11"], []),
         (["Websites/bugs.webkit.org/foo", "Source/WebCore/bar"], ["*"]),
         (["Websites/bugs.webkit.org/foo"], []),
-        (["Source/JavaScriptCore/JavaScriptCore.xcodeproj/foo"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan"]),
+        (["Source/JavaScriptCore/JavaScriptCore.xcodeproj/foo"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan", "ios-9", "ios-simulator-9"]),
+        (["Source/JavaScriptCore/Configurations/Base.xcconfig"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan", "ios-9", "ios-simulator-9"]),
         (["Source/JavaScriptCore/JavaScriptCore.vcproj/foo", "Source/WebKit2/win/WebKit2.vcproj", "Source/WebKit/win/WebKit.sln", "Tools/WebKitTestRunner/Configurations/WebKitTestRunnerCommon.vsprops"], ["win"]),
         (["LayoutTests/platform/mac/foo", "Source/WebCore/bar"], ["*"]),
         (["LayoutTests/foo"], ["*"]),
@@ -37,7 +38,10 @@ class ShouldBuildTest(unittest.TestCase):
         (["LayoutTests/platform/mac-mavericks/foo"], ["mac-mavericks"]),
         (["LayoutTests/platform/mac-yosemite/foo"], ["mac-mavericks", "mac-yosemite"]),
         (["LayoutTests/platform/mac-elcapitan/foo"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan"]),
-        (["LayoutTests/platform/wk2/Skipped"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan"]),
+        (["LayoutTests/platform/ios-simulator/foo"], ["ios-9", "ios-simulator-9"]),
+        (["LayoutTests/platform/ios-simulator-wk1/foo"], ["ios-9", "ios-simulator-9"]),
+        (["LayoutTests/platform/ios-simulator-wk2/foo"], ["ios-9", "ios-simulator-9"]),
+        (["LayoutTests/platform/wk2/Skipped"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan", "ios-9", "ios-simulator-9"]),
         (["LayoutTests/platform/mac-wk2/Skipped"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan"]),
         (["LayoutTests/platform/mac-wk1/compositing/tiling/transform-origin-tiled-expected.txt"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan"]),
         (["LayoutTests/platform/mac/foo"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan", "win"]),
@@ -45,12 +49,19 @@ class ShouldBuildTest(unittest.TestCase):
         (["LayoutTests/platform/win-xp/foo"], ["win"]),
         (["LayoutTests/platform/win-wk1/foo"], ["win"]),
         (["LayoutTests/platform/win/foo"], ["win"]),
+        (["LayoutTests/platform/spi/cocoa/foo"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan", "ios-9", "ios-simulator-9"]),
+        (["LayoutTests/platform/spi/cf/foo"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan", "win", "ios-9", "ios-simulator-9"]),
         (["Source/WebKit/mac/WebKit.mac.exp"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan"]),
+        (["Source/WebKit/ios/WebKit.iOS.exp"], ["ios-9", "ios-simulator-9"]),
+        (["Source/Dummy/foo.exp"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan", "ios-9", "ios-simulator-9"]),
+        (["Source/WebCore/ios/foo"], ["ios-9", "ios-simulator-9"]),
         (["Source/WebCore/mac/foo"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan"]),
         (["Source/WebCore/win/foo"], ["win"]),
+        (["Source/WebCore/bridge/objc/objc_class.mm"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan", "ios-9", "ios-simulator-9"]),
         (["Source/WebCore/platform/wx/wxcode/win/foo"], []),
-        (["Source/WebCore/accessibility/ios/AXObjectCacheIOS.mm"], []),
+        (["Source/WebCore/accessibility/ios/AXObjectCacheIOS.mm"], ["ios-9", "ios-simulator-9"]),
         (["Source/WebCore/rendering/RenderThemeMac.mm", "Source/WebCore/rendering/RenderThemeMac.h"], ["mac-mavericks", "mac-yosemite", "mac-elcapitan"]),
+        (["Source/WebCore/rendering/RenderThemeIOS.mm", "Source/WebCore/rendering/RenderThemeIOS.h"], ["ios-9", "ios-simulator-9"]),
         (["Tools/BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/LeaksViewer.js"], []),
     ]
 
@@ -58,7 +69,7 @@ class ShouldBuildTest(unittest.TestCase):
         for files, platforms in self._should_build_tests:
             # FIXME: We should test more platforms here once
             # wkbuild._should_file_trigger_build is implemented for them.
-            for platform in ["mac-mavericks", "mac-yosemite", "mac-elcapitan", "win"]:
+            for platform in ["mac-mavericks", "mac-yosemite", "mac-elcapitan", "win", "ios-9", "ios-simulator-9"]:
                 should_build = platform in platforms or "*" in platforms
                 self.assertEqual(wkbuild.should_build(platform, files), should_build, "%s should%s have built but did%s (files: %s)" % (platform, "" if should_build else "n't", "n't" if should_build else "", str(files)))
 
index c4d470d..60ab515 100644 (file)
@@ -1,3 +1,18 @@
+2015-09-30  Daniel Bates  <dabates@apple.com>
+
+        Add iOS criterion for triggering a build
+        https://bugs.webkit.org/show_bug.cgi?id=149679
+
+        Rubber-stamped by Alexey Proskuryakov.
+
+        First pass at defining criterion for triggering an iOS build.
+
+        * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
+        (_should_file_trigger_build):
+        * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
+        (ShouldBuildTest):
+        (ShouldBuildTest.test_should_build):
+
 2015-09-29  Simon Fraser  <simon.fraser@apple.com>
 
         [iOS] Allow tests to generate user gestures for UI testing