Bug 1338061 - Move toolchain tasks to a separate "platform". r?dustin draft
authorMike Hommey <mh+mozilla@glandium.org>
Fri, 27 Jan 2017 11:46:22 +0900
changeset 481522 012275f4759d03ed911953831ebfae6f29091f85
parent 481520 7904f0c3978cffab88dcb9a9672869b88bae0009
child 545213 13487d0ae1498f041154260d3c4942ff87fdc407
push id44833
push userbmo:mh+mozilla@glandium.org
push dateThu, 09 Feb 2017 23:55:44 +0000
reviewersdustin
bugs1338061, 1215587
milestone54.0a1
Bug 1338061 - Move toolchain tasks to a separate "platform". r?dustin The toolchain tasks are hard to spot on treeherder, in the ocean of build and test jobs associated with the platforms they are currently under. Now that we have a significant number of toolchain tasks across different platforms, it's even worse, especially combined with the fact that they don't happen on every push. To make them more easily visible, we move them to a new, separate, "platform", with the name "toolchains", instead of having them in different platforms. But since the distinction between Linux, OSX and Windows 32/64 is still interesting to have, we create groups for each of those platforms. But because of bug 1215587, the jobs still end up associated to their previous group, defeating the new grouping, so to work around that bug, we also rename the jobs in subtle ways.
taskcluster/ci/toolchain/linux.yml
taskcluster/ci/toolchain/macosx.yml
taskcluster/ci/toolchain/windows.yml
taskcluster/taskgraph/transforms/task.py
--- a/taskcluster/ci/toolchain/linux.yml
+++ b/taskcluster/ci/toolchain/linux.yml
@@ -1,18 +1,18 @@
 # 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/.
 
 linux64-clang/opt:
     description: "Clang toolchain build"
     treeherder:
         kind: build
-        platform: linux64/opt
-        symbol: Cc(Clang)
+        platform: toolchains/opt
+        symbol: TL(clang)
         tier: 1
     run:
         using: toolchain-script
         script: build-clang-linux.sh
         tooltool-downloads: public
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
         implementation: docker-worker
@@ -24,18 +24,18 @@ linux64-clang/opt:
 
 linux64-clang-tidy/opt:
     description: "Clang-tidy build"
     index:
         product: static-analysis
         job-name: linux64-clang-tidy
     treeherder:
         kind: build
-        platform: linux64/opt
-        symbol: Cc(Clang-Tidy)
+        platform: toolchains/opt
+        symbol: TL(clang-tidy)
         tier: 1
     run:
         using: toolchain-script
         script: build-clang-tidy-linux.sh
         tooltool-downloads: public
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
         implementation: docker-worker
@@ -45,18 +45,18 @@ linux64-clang-tidy/opt:
         resources:
             - 'build/clang-plugin/**'
             - 'build/build-clang/**'
 
 linux64-gcc/opt:
     description: "GCC toolchain build"
     treeherder:
         kind: build
-        platform: linux64/opt
-        symbol: Cc(GCC)
+        platform: toolchains/opt
+        symbol: TL(gcc)
         tier: 1
     run:
         using: toolchain-script
         script: build-gcc-linux.sh
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
         implementation: docker-worker
         docker-image: {in-tree: desktop-build}
@@ -64,18 +64,18 @@ linux64-gcc/opt:
     extra:
         resources:
             - 'build/unix/build-gcc/**'
 
 linux64-binutils/opt:
     description: "Binutils toolchain build"
     treeherder:
         kind: build
-        platform: linux64/opt
-        symbol: Cc(binutils)
+        platform: toolchains/opt
+        symbol: TL(binutil)
         tier: 1
     run:
         using: toolchain-script
         script: build-binutils-linux.sh
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
         implementation: docker-worker
         docker-image: {in-tree: desktop-build}
@@ -83,34 +83,34 @@ linux64-binutils/opt:
     extra:
         resources:
             - 'build/unix/build-binutils/**'
 
 linux64-cctools-port/opt:
     description: "cctools-port toolchain build"
     treeherder:
         kind: build
-        platform: linux64/opt
-        symbol: Cc(cctools-port)
+        platform: toolchains/opt
+        symbol: TL(cctools)
         tier: 1
     run:
         using: toolchain-script
         script: build-cctools-port.sh
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
         implementation: docker-worker
         docker-image: {in-tree: desktop-build}
         max-run-time: 36000
 
 linux64-hfsplus/opt:
     description: "hfplus toolchain build"
     treeherder:
         kind: build
-        platform: linux64/opt
-        symbol: Cc(hfsplus)
+        platform: toolchains/opt
+        symbol: TL(hfs+)
         tier: 1
     run:
         using: toolchain-script
         script: build-hfsplus-linux.sh
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
         implementation: docker-worker
         docker-image: {in-tree: desktop-build}
@@ -118,18 +118,18 @@ linux64-hfsplus/opt:
     extra:
         resources:
             - 'build/unix/build-hfsplus/**'
 
 linux64-libdmg/opt:
     description: "libdmg-hfsplus toolchain build"
     treeherder:
         kind: build
-        platform: linux64/opt
-        symbol: Cc(libdmg)
+        platform: toolchains/opt
+        symbol: TL(libdmg-hfs+)
         tier: 1
     run:
         using: toolchain-script
         script: build-libdmg-hfsplus.sh
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
         implementation: docker-worker
         docker-image: {in-tree: desktop-build}
--- a/taskcluster/ci/toolchain/macosx.yml
+++ b/taskcluster/ci/toolchain/macosx.yml
@@ -1,18 +1,18 @@
 # 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/.
 
 macosx64-clang/opt:
     description: "Clang toolchain build"
     treeherder:
         kind: build
-        platform: osx-10-10/opt
-        symbol: Cc(Clang)
+        platform: toolchains/opt
+        symbol: TM(clang)
         tier: 1
     run:
         using: toolchain-script
         script: build-clang-macosx.sh
         tooltool-downloads: internal
     worker-type: aws-provisioner-v1/gecko-{level}-b-macosx64
     worker:
         implementation: docker-worker
@@ -24,18 +24,18 @@ macosx64-clang/opt:
 
 macosx64-clang-tidy/opt:
     description: "Clang-tidy build"
     index:
         product: static-analysis
         job-name: macosx64-clang-tidy
     treeherder:
         kind: build
-        platform: osx-10-10/opt
-        symbol: Cc(Clang-Tidy)
+        platform: toolchains/opt
+        symbol: TM(clang-tidy)
         tier: 1
     run:
         using: toolchain-script
         script: build-clang-tidy-macosx.sh
         tooltool-downloads: internal
     worker-type: aws-provisioner-v1/gecko-{level}-b-macosx64
     worker:
         implementation: docker-worker
@@ -45,18 +45,18 @@ macosx64-clang-tidy/opt:
         resources:
             - 'build/clang-plugin/**'
             - 'build/build-clang/**'
 
 macosx64-cctools-port/opt:
     description: "cctools-port toolchain build"
     treeherder:
         kind: build
-        platform: osx-10-10/opt
-        symbol: Cc(cctools-port)
+        platform: toolchains/opt
+        symbol: TM(cctools)
         tier: 1
     run:
         using: toolchain-script
         script: build-cctools-port-macosx.sh
         tooltool-downloads: internal
     worker-type: aws-provisioner-v1/gecko-{level}-b-macosx64
     worker:
         implementation: docker-worker
--- a/taskcluster/ci/toolchain/windows.yml
+++ b/taskcluster/ci/toolchain/windows.yml
@@ -1,36 +1,36 @@
 # 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/.
 
 win32-clang-cl/opt:
     description: "Clang-cl toolchain build"
     treeherder:
         kind: build
-        platform: windows-2012-32/opt
-        symbol: Cc(ClangCL)
+        platform: toolchains/opt
+        symbol: TW32(clang-cl)
         tier: 2
     worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
     worker:
         implementation: generic-worker
         max-run-time: 36000
     run:
         using: toolchain-script
         script: build-clang32-windows.sh
     extra:
         resources:
             - 'build/build-clang/**'
 
 win64-clang-cl/opt:
     description: "Clang-cl toolchain build"
     treeherder:
         kind: build
-        platform: windows-2012-64/opt
-        symbol: Cc(ClangCL)
+        platform: toolchains/opt
+        symbol: TW64(clang-cl)
         tier: 2
     worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
     worker:
         implementation: generic-worker
         max-run-time: 36000
     run:
         using: toolchain-script
         script: build-clang64-windows.sh
@@ -40,18 +40,18 @@ win64-clang-cl/opt:
 
 win32-clang-tidy/opt:
     description: "Clang-tidy toolchain build"
     index:
         product: static-analysis
         job-name: win32-clang-tidy
     treeherder:
         kind: build
-        platform: windows-2012-32/opt
-        symbol: Cc(Clang-Tidy)
+        platform: toolchains/opt
+        symbol: TW32(clang-tidy)
         tier: 2
     worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
     worker:
         implementation: generic-worker
         max-run-time: 36000
     run:
         using: toolchain-script
         script: build-clang-tidy32-windows.sh
@@ -61,18 +61,18 @@ win32-clang-tidy/opt:
 
 win64-clang-tidy/opt:
     description: "Clang-tidy toolchain build"
     index:
         product: static-analysis
         job-name: win64-clang-tidy
     treeherder:
         kind: build
-        platform: windows-2012-64/opt
-        symbol: Cc(Clang-Tidy)
+        platform: toolchains/opt
+        symbol: TW64(clang-tidy)
         tier: 2
     worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
     worker:
         implementation: generic-worker
         max-run-time: 36000
     run:
         using: toolchain-script
         script: build-clang-tidy64-windows.sh
--- a/taskcluster/taskgraph/transforms/task.py
+++ b/taskcluster/taskgraph/transforms/task.py
@@ -365,17 +365,20 @@ GROUP_NAMES = {
     'tc-X-e10s': 'Xpcshell tests executed by TaskCluster with e10s',
     'tc-L10n': 'Localised Repacks executed by Taskcluster',
     'tc-BM-L10n': 'Beetmover for locales executed by Taskcluster',
     'tc-Up': 'Balrog submission of updates, executed by Taskcluster',
     'tc-cs': 'Checksum signing executed by Taskcluster',
     'tc-BMcs': 'Beetmover checksums, executed by Taskcluster',
     'Aries': 'Aries Device Image',
     'Nexus 5-L': 'Nexus 5-L Device Image',
-    'Cc': 'Toolchain builds',
+    'TL': 'Toolchain builds for Linux 64-bits',
+    'TM': 'Toolchain builds for OSX',
+    'TW32': 'Toolchain builds for Windows 32-bits',
+    'TW64': 'Toolchain builds for Windows 64-bits',
     'SM-tc': 'Spidermonkey builds',
 }
 UNKNOWN_GROUP_NAME = "Treeherder group {} has no name; add it to " + __file__
 
 V2_ROUTE_TEMPLATES = [
     "index.gecko.v2.{project}.latest.{product}.{job-name}",
     "index.gecko.v2.{project}.pushdate.{build_date_long}.{product}.{job-name}",
     "index.gecko.v2.{project}.revision.{head_rev}.{product}.{job-name}",