Bug 1399679 - Use debian7-*-build instead of desktop-build. r?gps draft
authorMike Hommey <mh+mozilla@glandium.org>
Fri, 12 Jan 2018 16:46:40 +0900
changeset 722007 0d7f7e39ae1f99d066fd4aa0a0c623037ac33e75
parent 722006 1b16ff553751be6966fc321a6c7430857863ee3f
child 722008 02c41cef07e3d4d91d288ffe420bc00237117648
push id96025
push userbmo:mh+mozilla@glandium.org
push dateThu, 18 Jan 2018 09:37:19 +0000
reviewersgps
bugs1399679
milestone59.0a1
Bug 1399679 - Use debian7-*-build instead of desktop-build. r?gps Switch almost all builds currently using the desktop-build image to use the right debian7-*-build image instead. The only exception is the rust bindgen spidermonkey builds, that require cmake being installed, but I don't want to add it to the base images because that involves risking a cmake dependency unwantedly slipping in Firefox (rust-bindgen ironically requires cmake to build a single C++ file...)
taskcluster/ci/build/linux.yml
taskcluster/ci/hazard/kind.yml
taskcluster/ci/spidermonkey/linux.yml
taskcluster/ci/toolchain/linux.yml
taskcluster/taskgraph/transforms/build.py
taskcluster/taskgraph/transforms/job/mozharness.py
taskcluster/taskgraph/transforms/repackage.py
--- a/taskcluster/ci/build/linux.yml
+++ b/taskcluster/ci/build/linux.yml
@@ -249,16 +249,17 @@ linux/opt:
     index:
         product: firefox
         job-name: linux-opt
     treeherder:
         platform: linux32/opt
         symbol: tc(B)
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
+        docker-image: {in-tree: debian7-i386-build}
         max-run-time: 36000
     run:
         using: mozharness
         actions: [get-secrets build check-test update]
         config:
             - builds/releng_base_firefox.py
             - builds/releng_base_linux_32_builds.py
             - balrog/production.py
@@ -277,16 +278,17 @@ linux/debug:
     index:
         product: firefox
         job-name: linux-debug
     treeherder:
         platform: linux32/debug
         symbol: tc(B)
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
+        docker-image: {in-tree: debian7-i386-build}
         max-run-time: 36000
     run:
         using: mozharness
         actions: [get-secrets build check-test update]
         config:
             - builds/releng_base_firefox.py
             - builds/releng_base_linux_32_builds.py
             - balrog/production.py
@@ -306,16 +308,17 @@ linux/pgo:
     index:
         product: firefox
         job-name: linux-pgo
     treeherder:
         platform: linux32/pgo
         symbol: tc(B)
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
+        docker-image: {in-tree: debian7-i386-build}
         max-run-time: 36000
     run:
         using: mozharness
         actions: [get-secrets build check-test update]
         options: [enable-pgo]
         config:
             - builds/releng_base_firefox.py
             - builds/releng_base_linux_32_builds.py
@@ -336,16 +339,17 @@ linux-rusttests/opt:
         product: firefox
         job-name: linux-rusttests-opt
     treeherder:
         platform: linux32/opt
         symbol: tc(BR)
         tier: 2
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
+        docker-image: {in-tree: debian7-i386-build}
         max-run-time: 5400
         env:
             PERFHERDER_EXTRA_OPTIONS: rusttests
     run:
         using: mozharness
         actions: [get-secrets build check-test update]
         config:
             - builds/releng_base_firefox.py
@@ -370,16 +374,17 @@ linux-rusttests/debug:
         product: firefox
         job-name: linux-rusttests-debug
     treeherder:
         platform: linux32/debug
         symbol: tc(BR)
         tier: 2
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
+        docker-image: {in-tree: debian7-i386-build}
         max-run-time: 5400
         env:
             PERFHERDER_EXTRA_OPTIONS: rusttests
     run:
         using: mozharness
         actions: [get-secrets build check-test update]
         config:
             - builds/releng_base_firefox.py
@@ -408,16 +413,17 @@ linux-devedition-nightly/opt:
         product: devedition
         job-name: linux-opt
         type: nightly
     treeherder:
         platform: linux32-devedition/opt
         symbol: tc(N)
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
+        docker-image: {in-tree: debian7-i386-build}
         max-run-time: 36000
     run:
         using: mozharness
         actions: [get-secrets build check-test update]
         config:
             - builds/releng_base_firefox.py
             - builds/releng_base_linux_32_builds.py
             - disable_signing.py
@@ -445,16 +451,17 @@ linux-nightly/opt:
         product: firefox
         job-name: linux-opt
         type: nightly
     treeherder:
         platform: linux32/opt
         symbol: tc(N)
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
+        docker-image: {in-tree: debian7-i386-build}
         max-run-time: 36000
     run:
         using: mozharness
         actions: [get-secrets build check-test update]
         config:
             - builds/releng_base_firefox.py
             - builds/releng_base_linux_32_builds.py
             - disable_signing.py
--- a/taskcluster/ci/hazard/kind.yml
+++ b/taskcluster/ci/hazard/kind.yml
@@ -15,17 +15,17 @@ transforms:
 
 job-defaults:
     treeherder:
         kind: build
         tier: 1
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
         max-run-time: 36000
-        docker-image: {in-tree: desktop-build}
+        docker-image: {in-tree: debian7-amd64-build}
 
 jobs:
     linux64-shell-haz/debug:
         description: "JS Shell Hazard Analysis Linux"
         index:
             product: firefox
             job-name: shell-haz-debug
         treeherder:
--- a/taskcluster/ci/spidermonkey/linux.yml
+++ b/taskcluster/ci/spidermonkey/linux.yml
@@ -1,16 +1,16 @@
 # 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}
+        docker-image: {in-tree: debian7-amd64-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:
@@ -35,16 +35,18 @@ sm-mozjs-sys-linux64/debug:
 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:
+        docker-image: {in-tree: desktop-build}
     run:
         using: spidermonkey-rust-bindings
         spidermonkey-variant: plain
     run-on-projects: ['integration', 'release', 'try']
 
 sm-plain-linux64/debug:
     description: "Spidermonkey Plain"
     index:
@@ -77,16 +79,18 @@ sm-nojit-linux64/opt:
 
 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:
+        docker-image: {in-tree: debian7-i386-build}
     run:
         spidermonkey-variant: arm-sim
 
 sm-arm64-sim-linux64/debug:
     description: "Spidermonkey ARM64 sim"
     index:
         job-name: sm-arm64-sim-linux64-debug
     treeherder:
--- a/taskcluster/ci/toolchain/linux.yml
+++ b/taskcluster/ci/toolchain/linux.yml
@@ -248,17 +248,16 @@ linux64-libdmg:
     description: "libdmg-hfsplus toolchain build"
     treeherder:
         kind: build
         platform: toolchains/opt
         symbol: TL(libdmg-hfs+)
         tier: 1
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
-        docker-image: {in-tree: desktop-build}
         max-run-time: 36000
     run:
         using: toolchain-script
         script: build-libdmg-hfsplus.sh
         toolchain-artifact: public/build/dmg.tar.xz
 
 linux64-proguard-jar-repack:
     description: "proguard.jar repack toolchain build"
--- a/taskcluster/taskgraph/transforms/build.py
+++ b/taskcluster/taskgraph/transforms/build.py
@@ -19,17 +19,17 @@ def set_defaults(config, jobs):
     """Set defaults, including those that differ per worker implementation"""
     for job in jobs:
         job['treeherder'].setdefault('kind', 'build')
         job['treeherder'].setdefault('tier', 1)
         _, worker_os = worker_type_implementation(job['worker-type'])
         worker = job.setdefault('worker', {})
         worker.setdefault('env', {})
         if worker_os == "linux":
-            worker.setdefault('docker-image', {'in-tree': 'desktop-build'})
+            worker.setdefault('docker-image', {'in-tree': 'debian7-amd64-build'})
             worker['chain-of-trust'] = True
         elif worker_os == "windows":
             worker['chain-of-trust'] = True
 
         yield job
 
 
 @transforms.add
--- a/taskcluster/taskgraph/transforms/job/mozharness.py
+++ b/taskcluster/taskgraph/transforms/job/mozharness.py
@@ -129,19 +129,19 @@ def mozharness_on_docker_worker_setup(co
     if not run['use-simple-package']:
         raise NotImplementedError("Simple packaging cannot be disabled via"
                                   "'use-simple-package' on docker-workers")
     if not run['use-magic-mh-args']:
         raise NotImplementedError("Cannot disabled mh magic arg passing via"
                                   "'use-magic-mh-args' on docker-workers")
 
     # Running via mozharness assumes an image that contains build.sh:
-    # by default, desktop-build, but it could be another image (like
-    # android-build) that "inherits" from desktop-build.
-    taskdesc['worker'].setdefault('docker-image', {'in-tree': 'desktop-build'})
+    # by default, debian7-amd64-build, but it could be another image (like
+    # android-build).
+    taskdesc['worker'].setdefault('docker-image', {'in-tree': 'debian7-amd64-build'})
 
     worker['taskcluster-proxy'] = run.get('taskcluster-proxy')
 
     docker_worker_add_public_artifacts(config, job, taskdesc)
     docker_worker_add_workspace_cache(config, job, taskdesc,
                                       extra=run.get('extra-workspace-cache-key'))
     support_vcs_checkout(config, job, taskdesc)
 
--- a/taskcluster/taskgraph/transforms/repackage.py
+++ b/taskcluster/taskgraph/transforms/repackage.py
@@ -156,17 +156,17 @@ def make_job_description(config, jobs):
             elif build_platform.startswith('linux'):
                 worker_type = 'aws-provisioner-v1/gecko-%s-b-linux' % level
             else:
                 raise NotImplementedError(
                     'Unsupported build_platform: "{}"'.format(build_platform)
                 )
 
             run['tooltool-downloads'] = 'internal'
-            worker['docker-image'] = {"in-tree": "desktop-build"}
+            worker['docker-image'] = {"in-tree": "debian7-amd64-build"}
 
         description = (
             "Repackaging for locale '{locale}' for build '"
             "{build_platform}/{build_type}'".format(
                 locale=attributes.get('locale', 'en-US'),
                 build_platform=attributes.get('build_platform'),
                 build_type=attributes.get('build_type')
             )