Bug 1430005 - Refactor spidermonkey tc configurations. r?dustin draft
authorMike Hommey <mh+mozilla@glandium.org>
Fri, 12 Jan 2018 16:40:29 +0900
changeset 719535 5b6fba9799cdf63d774a481aeaf39fc344b3d973
parent 719534 69b3a0c2230d899cf4f129238a8463dba8227a49
child 745823 6103f52b6f8b61021513438446837a6ffd60824c
push id95285
push userbmo:mh+mozilla@glandium.org
push dateFri, 12 Jan 2018 09:43:49 +0000
reviewersdustin
bugs1430005
milestone59.0a1
Bug 1430005 - Refactor spidermonkey tc configurations. r?dustin With the use of job-defaults, we can avoid a lot of repetition from those definitions.
taskcluster/ci/spidermonkey/kind.yml
taskcluster/ci/spidermonkey/linux.yml
taskcluster/ci/spidermonkey/windows.yml
--- a/taskcluster/ci/spidermonkey/kind.yml
+++ b/taskcluster/ci/spidermonkey/kind.yml
@@ -59,281 +59,11 @@ job-defaults:
             .*-b-win2012:
                 - win64-clang-cl
                 - win64-rust
             default:
                 - linux64-clang
                 - linux64-gcc
                 - linux64-rust
 
-jobs:
-    sm-package-linux64/opt:
-        description: "Spidermonkey source package and test"
-        index:
-            job-name: sm-package-linux64-opt
-        treeherder:
-            symbol: SM-tc(pkg)
-            platform: linux64/opt
-        worker:
-            max-run-time: 36000
-            docker-image: {in-tree: desktop-build}
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
-        run:
-            using: spidermonkey-package
-            spidermonkey-variant: plain
-
-    sm-mozjs-sys-linux64/debug:
-        description: "Build js/src as the mozjs_sys Rust crate"
-        index:
-            job-name: sm-mozjs-sys-linux64-debug
-        treeherder:
-            platform: linux64/debug
-            symbol: SM-tc(mozjs-crate)
-        worker:
-            max-run-time: 36000
-            docker-image: {in-tree: desktop-build}
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
-        run:
-            using: spidermonkey-mozjs-crate
-            spidermonkey-variant: plain
-        run-on-projects: ['integration', 'release', 'try']
-
-    sm-rust-bindings-linux64/debug:
-        description: "Build and test the Rust bindings for SpiderMonkey"
-        index:
-            job-name: sm-rust-bindings-linux64-debug
-        treeherder:
-            symbol: SM-tc(rust)
-            tier: 2
-            platform: linux64/debug
-        worker:
-            max-run-time: 36000
-            docker-image: {in-tree: desktop-build}
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
-        run:
-            using: spidermonkey-rust-bindings
-            spidermonkey-variant: plain
-        run-on-projects: ['integration', 'release', 'try']
-
-    sm-plain-linux64/debug:
-        description: "Spidermonkey Plain"
-        index:
-            job-name: sm-plain-linux64-debug
-        treeherder:
-            platform: linux64/debug
-            symbol: SM-tc(p)
-        worker:
-            max-run-time: 36000
-            docker-image: {in-tree: desktop-build}
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
-        run:
-            spidermonkey-variant: plaindebug
-
-    sm-plain-win32/debug:
-        description: "Spidermonkey Plain"
-        index:
-            job-name: sm-plain-win32-debug
-        treeherder:
-            platform: windows2012-32/debug
-            symbol: SM-tc(p)
-        worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
-        worker:
-            max-run-time: 36000
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
-        run:
-            spidermonkey-variant: plaindebug
-
-    sm-plain-linux64/opt:
-        description: "Spidermonkey Plain"
-        index:
-            job-name: sm-plain-linux64-opt
-        treeherder:
-            symbol: SM-tc(p)
-            platform: linux64/opt
-        worker:
-            max-run-time: 36000
-            docker-image: {in-tree: desktop-build}
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
-        run:
-            spidermonkey-variant: plain
-
-    sm-nojit-linux64/opt:
-        description: "Spidermonkey no JIT"
-        index:
-            job-name: sm-nojit-linux64-opt
-        treeherder:
-            symbol: SM-tc(nojit)
-            platform: linux64/opt
-        worker:
-            max-run-time: 3600
-            docker-image: {in-tree: desktop-build}
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
-        run:
-            spidermonkey-variant: nojit
-
-    sm-plain-win32/opt:
-        description: "Spidermonkey Plain"
-        index:
-            job-name: sm-plain-win32-opt
-        treeherder:
-            platform: windows2012-32/opt
-            symbol: SM-tc(p)
-        worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
-        worker:
-            max-run-time: 36000
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
-        run:
-            spidermonkey-variant: plain
-
-    sm-arm-sim-linux32/debug:
-        description: "Spidermonkey ARM sim"
-        index:
-            job-name: sm-arm-sim-linux32-debug
-        treeherder:
-            platform: linux32/debug
-            symbol: SM-tc(arm)
-        worker:
-            max-run-time: 36000
-            docker-image: {in-tree: desktop-build}
-        run:
-            spidermonkey-variant: arm-sim
-
-    sm-arm64-sim-linux64/debug:
-        description: "Spidermonkey ARM64 sim"
-        index:
-            job-name: sm-arm64-sim-linux64-debug
-        treeherder:
-            platform: linux64/debug
-            symbol: SM-tc(arm64)
-        worker:
-            max-run-time: 36000
-            docker-image: {in-tree: desktop-build}
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
-        run:
-            spidermonkey-variant: arm64-sim
-
-    sm-asan-linux64/opt:
-        description: "Spidermonkey Address Sanitizer"
-        index:
-            job-name: sm-asan-linux64-opt
-        treeherder:
-            symbol: SM-tc(asan)
-            platform: linux64/opt
-        worker:
-            max-run-time: 36000
-            docker-image: {in-tree: desktop-build}
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
-        run:
-            spidermonkey-variant: asan
-
-    sm-compacting-linux64/debug:
-        description: "Spidermonkey Compacting"
-        index:
-            job-name: sm-compacting-linux64-debug
-        treeherder:
-            platform: linux64/debug
-            symbol: SM-tc(cgc)
-        worker:
-            max-run-time: 36000
-            docker-image: {in-tree: desktop-build}
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
-        run:
-            spidermonkey-variant: compacting
-
-    sm-compacting-win32/debug:
-        description: "Spidermonkey Compacting"
-        index:
-            job-name: sm-compacting-win32-debug
-        treeherder:
-            platform: windows2012-32/debug
-            symbol: SM-tc(cgc)
-        worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
-        worker:
-            max-run-time: 36000
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
-        run:
-            spidermonkey-variant: compacting
-
-    sm-msan-linux64/opt:
-        description: "Spidermonkey Memory Sanitizer"
-        index:
-            job-name: sm-msan-linux64-opt
-        treeherder:
-            symbol: SM-tc(msan)
-            platform: linux64/opt
-        worker:
-            max-run-time: 36000
-            docker-image: {in-tree: desktop-build}
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
-        run:
-            spidermonkey-variant: msan
-
-    sm-tsan-linux64/opt:
-        description: "Spidermonkey Thread Sanitizer"
-        index:
-            job-name: sm-tsan-linux64-opt
-        treeherder:
-            symbol: SM-tc(tsan)
-            tier: 3
-            platform: linux64/opt
-        worker:
-            max-run-time: 36000
-            docker-image: {in-tree: desktop-build}
-        run:
-            spidermonkey-variant: tsan
-
-    sm-rootanalysis-linux64/debug:
-        description: "Spidermonkey Root Analysis"
-        index:
-            job-name: sm-rootanalysis-linux64-debug
-        treeherder:
-            platform: linux64/debug
-            symbol: SM-tc(r)
-        worker:
-            max-run-time: 36000
-            docker-image: {in-tree: desktop-build}
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
-        run:
-            spidermonkey-variant: rootanalysis
-
-    sm-nonunified-linux64/debug:
-        description: "Spidermonkey Non-Unified Debug"
-        index:
-            job-name: sm-nonunified-linux64-debug
-        treeherder:
-            platform: linux64/debug
-            symbol: SM-tc(nu)
-        worker:
-            max-run-time: 36000
-            docker-image: {in-tree: desktop-build}
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
-        run:
-            spidermonkey-variant: nonunified
-
-    sm-fuzzing-linux64/opt:
-        description: "Spidermonkey Fuzzing"
-        index:
-            job-name: sm-fuzzing-linux64
-        treeherder:
-            platform: linux64/opt
-            symbol: SM-tc(f)
-        worker:
-            max-run-time: 36000
-            docker-image: {in-tree: desktop-build}
-            env:
-                TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
-        run:
-            spidermonkey-variant: fuzzing
+jobs-from:
+    - linux.yml
+    - windows.yml
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/spidermonkey/linux.yml
@@ -0,0 +1,167 @@
+# 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/.
+
+job-defaults:
+    worker:
+        max-run-time: 36000
+        docker-image: {in-tree: desktop-build}
+        env:
+            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
+
+sm-package-linux64/opt:
+    description: "Spidermonkey source package and test"
+    index:
+        job-name: sm-package-linux64-opt
+    treeherder:
+        symbol: SM-tc(pkg)
+        platform: linux64/opt
+    run:
+        using: spidermonkey-package
+        spidermonkey-variant: plain
+
+sm-mozjs-sys-linux64/debug:
+    description: "Build js/src as the mozjs_sys Rust crate"
+    index:
+        job-name: sm-mozjs-sys-linux64-debug
+    treeherder:
+        platform: linux64/debug
+        symbol: SM-tc(mozjs-crate)
+    run:
+        using: spidermonkey-mozjs-crate
+        spidermonkey-variant: plain
+    run-on-projects: ['integration', 'release', 'try']
+
+sm-rust-bindings-linux64/debug:
+    description: "Build and test the Rust bindings for SpiderMonkey"
+    index:
+        job-name: sm-rust-bindings-linux64-debug
+    treeherder:
+        symbol: SM-tc(rust)
+        tier: 2
+        platform: linux64/debug
+    run:
+        using: spidermonkey-rust-bindings
+        spidermonkey-variant: plain
+    run-on-projects: ['integration', 'release', 'try']
+
+sm-plain-linux64/debug:
+    description: "Spidermonkey Plain"
+    index:
+        job-name: sm-plain-linux64-debug
+    treeherder:
+        platform: linux64/debug
+        symbol: SM-tc(p)
+    run:
+        spidermonkey-variant: plaindebug
+
+sm-plain-linux64/opt:
+    description: "Spidermonkey Plain"
+    index:
+        job-name: sm-plain-linux64-opt
+    treeherder:
+        symbol: SM-tc(p)
+        platform: linux64/opt
+    run:
+        spidermonkey-variant: plain
+
+sm-nojit-linux64/opt:
+    description: "Spidermonkey no JIT"
+    index:
+        job-name: sm-nojit-linux64-opt
+    treeherder:
+        symbol: SM-tc(nojit)
+        platform: linux64/opt
+    run:
+        spidermonkey-variant: nojit
+
+sm-arm-sim-linux32/debug:
+    description: "Spidermonkey ARM sim"
+    index:
+        job-name: sm-arm-sim-linux32-debug
+    treeherder:
+        platform: linux32/debug
+        symbol: SM-tc(arm)
+    run:
+        spidermonkey-variant: arm-sim
+
+sm-arm64-sim-linux64/debug:
+    description: "Spidermonkey ARM64 sim"
+    index:
+        job-name: sm-arm64-sim-linux64-debug
+    treeherder:
+        platform: linux64/debug
+        symbol: SM-tc(arm64)
+    run:
+        spidermonkey-variant: arm64-sim
+
+sm-asan-linux64/opt:
+    description: "Spidermonkey Address Sanitizer"
+    index:
+        job-name: sm-asan-linux64-opt
+    treeherder:
+        symbol: SM-tc(asan)
+        platform: linux64/opt
+    run:
+        spidermonkey-variant: asan
+
+sm-compacting-linux64/debug:
+    description: "Spidermonkey Compacting"
+    index:
+        job-name: sm-compacting-linux64-debug
+    treeherder:
+        platform: linux64/debug
+        symbol: SM-tc(cgc)
+    run:
+        spidermonkey-variant: compacting
+
+sm-msan-linux64/opt:
+    description: "Spidermonkey Memory Sanitizer"
+    index:
+        job-name: sm-msan-linux64-opt
+    treeherder:
+        symbol: SM-tc(msan)
+        platform: linux64/opt
+    run:
+        spidermonkey-variant: msan
+
+sm-tsan-linux64/opt:
+    description: "Spidermonkey Thread Sanitizer"
+    index:
+        job-name: sm-tsan-linux64-opt
+    treeherder:
+        symbol: SM-tc(tsan)
+        tier: 3
+        platform: linux64/opt
+    run:
+        spidermonkey-variant: tsan
+
+sm-rootanalysis-linux64/debug:
+    description: "Spidermonkey Root Analysis"
+    index:
+        job-name: sm-rootanalysis-linux64-debug
+    treeherder:
+        platform: linux64/debug
+        symbol: SM-tc(r)
+    run:
+        spidermonkey-variant: rootanalysis
+
+sm-nonunified-linux64/debug:
+    description: "Spidermonkey Non-Unified Debug"
+    index:
+        job-name: sm-nonunified-linux64-debug
+    treeherder:
+        platform: linux64/debug
+        symbol: SM-tc(nu)
+    run:
+        spidermonkey-variant: nonunified
+
+sm-fuzzing-linux64/opt:
+    description: "Spidermonkey Fuzzing"
+    index:
+        job-name: sm-fuzzing-linux64
+    treeherder:
+        platform: linux64/opt
+        symbol: SM-tc(f)
+    run:
+        spidermonkey-variant: fuzzing
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/spidermonkey/windows.yml
@@ -0,0 +1,40 @@
+# 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/.
+
+job-defaults:
+    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
+    worker:
+        max-run-time: 36000
+        env:
+            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
+
+sm-plain-win32/debug:
+    description: "Spidermonkey Plain"
+    index:
+        job-name: sm-plain-win32-debug
+    treeherder:
+        platform: windows2012-32/debug
+        symbol: SM-tc(p)
+    run:
+        spidermonkey-variant: plaindebug
+
+sm-plain-win32/opt:
+    description: "Spidermonkey Plain"
+    index:
+        job-name: sm-plain-win32-opt
+    treeherder:
+        platform: windows2012-32/opt
+        symbol: SM-tc(p)
+    run:
+        spidermonkey-variant: plain
+
+sm-compacting-win32/debug:
+    description: "Spidermonkey Compacting"
+    index:
+        job-name: sm-compacting-win32-debug
+    treeherder:
+        platform: windows2012-32/debug
+        symbol: SM-tc(cgc)
+    run:
+        spidermonkey-variant: compacting