Bug 1419474: Enable OSX builds in taskcluster. draft
authorTom Prince <mozilla@hocat.ca>
Sun, 19 Nov 2017 10:50:54 -0700
changeset 23183 a2acc9e34d748438616144ee565356c5558ab2c8
parent 23182 7b1e8218ca73679f8a12cac93a9a0612055013ef
child 23184 e136f3f54cbf338c4d771353fc836fe770fc2453
push id156
push userbmo:mozilla@hocat.ca
push dateTue, 21 Nov 2017 22:05:44 +0000
bugs1419474
Bug 1419474: Enable OSX builds in taskcluster. MozReview-Commit-ID: JRDqkgSru22
taskcluster/ci/build/kind.yml
taskcluster/ci/build/macosx.yml
taskcluster/ci/test/test-platforms.yml
taskcluster/ci/test/tests.yml
taskcluster/ci/toolchain/kind.yml
--- a/taskcluster/ci/build/kind.yml
+++ b/taskcluster/ci/build/kind.yml
@@ -12,8 +12,9 @@ transforms:
     - taskgraph.transforms.build_attrs:transforms
     - taskgraph.transforms.build_lints:transforms
     - taskgraph.transforms.use_toolchains:transforms
     - taskgraph.transforms.job:transforms
     - taskgraph.transforms.task:transforms
 
 jobs-from:
     - linux.yml
+    - macosx.yml
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/build/macosx.yml
@@ -0,0 +1,62 @@
+macosx64/debug:
+    description: "MacOS X x64 Cross-compile"
+    treeherder:
+        platform: osx-cross/debug
+        symbol: tc(B)
+        tier: 1
+    worker-type: aws-provisioner-v1/gecko-{level}-b-macosx64
+    worker:
+        max-run-time: 36000
+        env:
+            # We just use the browser manifest, since we don't need anything different
+            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+    run:
+        using: mozharness
+        comm-checkout: true
+        actions: [build update]
+        config-paths:
+            - comm/mozharness
+        config:
+            - builds/taskcluster_base_thunderbird.py
+            - builds/releng_base_mac_64_cross_builds.py
+        script: "mozharness/scripts/fx_desktop_build.py"
+        custom-build-variant-cfg: cross-debug
+        tooltool-downloads: internal
+    toolchains:
+        - linux64-cctools-port
+        - linux64-clang
+        - linux64-hfsplus
+        - linux64-libdmg
+        - linux64-rust-macos
+        - linux64-sccache
+
+macosx64/opt:
+    description: "MacOS X x64 Cross-compile"
+    treeherder:
+        platform: osx-cross/opt
+        symbol: tc(B)
+        tier: 1
+    worker-type: aws-provisioner-v1/gecko-{level}-b-macosx64
+    worker:
+        max-run-time: 36000
+        env:
+            # We just use the browser manifest, since we don't need anything different
+            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+    run:
+        using: mozharness
+        comm-checkout: true
+        actions: [build update]
+        config-paths:
+            - comm/mozharness
+        config:
+            - builds/taskcluster_base_thunderbird.py
+            - builds/releng_base_mac_64_cross_builds.py
+        script: "mozharness/scripts/fx_desktop_build.py"
+        tooltool-downloads: internal
+    toolchains:
+        - linux64-cctools-port
+        - linux64-clang
+        - linux64-hfsplus
+        - linux64-libdmg
+        - linux64-rust-macos
+        - linux64-sccache
--- a/taskcluster/ci/test/test-platforms.yml
+++ b/taskcluster/ci/test/test-platforms.yml
@@ -19,8 +19,22 @@ linux64/opt:
     build-platform: linux64/opt
     test-sets:
         - common-tests
 
 linux64/debug:
     build-platform: linux64/debug
     test-sets:
         - common-tests
+
+
+##
+# MacOS X platforms (matching /macosx.*/)
+
+macosx64/debug:
+    build-platform: macosx64/debug
+    test-sets:
+        - common-tests
+
+macosx64/opt:
+    build-platform: macosx64/opt
+    test-sets:
+        - common-tests
\ No newline at end of file
--- a/taskcluster/ci/test/tests.yml
+++ b/taskcluster/ci/test/tests.yml
@@ -14,30 +14,31 @@ xpcshell:
     treeherder-symbol: tc-X(X)
     run-on-projects: built-projects
     docker-image:
         in-tree: "desktop1604-test"
     chunks:
         by-test-platform:
             linux32/debug: 8
             linux64/debug: 8
+            macosx64.*: 2
             default: 4
     instance-size: default
     max-run-time: 5400
     e10s: false
     allow-software-gl-layers: false
     mozharness:
         script: desktop_unittest.py
         no-read-buildbot-config: true
         config:
             by-test-platform:
                 windows.*:
                     - unittests/win_taskcluster_unittest.py
                     - unittests/thunderbird_extra.py
-                macosx.*:
+                macosx64.*:
                     - unittests/mac_unittest.py
                     - unittests/thunderbird_extra.py
                 linux.*:
                     - unittests/linux_unittest.py
                     - remove_executables.py
                     - unittests/thunderbird_extra.py
         extra-options:
             - "--xpcshell-suite=xpcshell"
@@ -49,30 +50,31 @@ mozmill:
     treeherder-symbol: tc-Z(Z)
     run-on-projects: built-projects
     docker-image:
         in-tree: "desktop1604-test"
     chunks:
         by-test-platform:
             linux32/debug: 8
             linux64/debug: 8
+            macosx64.*: 2
             default: 4
     instance-size: default
     max-run-time: 5400
     e10s: false
     allow-software-gl-layers: false
     mozharness:
         script: desktop_unittest.py
         no-read-buildbot-config: true
         config:
             by-test-platform:
                 windows.*:
                     - unittests/win_taskcluster_unittest.py
                     - unittests/thunderbird_extra.py
-                macosx.*:
+                macosx64.*:
                     - unittests/mac_unittest.py
                     - unittests/thunderbird_extra.py
                 linux.*:
                     - unittests/linux_unittest.py
                     - remove_executables.py
                     - unittests/thunderbird_extra.py
         extra-options:
             - "--mozmill-suite=mozmill"
--- a/taskcluster/ci/toolchain/kind.yml
+++ b/taskcluster/ci/toolchain/kind.yml
@@ -1,19 +1,24 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 loader: comm_taskgraph:reference_loader
 base-path: taskcluster/ci
 
 jobs:
+    - linux64-cctools-port
+    - linux64-clang
     - linux64-clang-3.9
     - linux64-gcc
+    - linux64-gcc-4.9
+    - linux64-hfsplus
+    - linux64-libdmg
     - linux64-rust
+    - linux64-rust-1.19
+    - linux64-rust-macos
     - linux64-sccache
-    - linux64-gcc-4.9
-    - linux64-rust-1.19
     - win32-clang-cl
     - win32-rust
-    - win64-sccache
+    - win32-clang-cl
     - win64-rust-1.19
-    - win33-clang-cl
+    - win64-sccache