Bug 1204800 - Add tooltool dependencies to phone builds. r=wcosta
☠☠ backed out by b42ed97d98cc ☠ ☠
authorJohn Dai <jdai@mozilla.com>
Mon, 05 Oct 2015 22:57:00 +0200
changeset 266262 e58169d5f96ad4fb0410bfe32ab87c7cf6bc8887
parent 266261 10aca6716dc38e0918bc5060658eaaad3b8c8b42
child 266263 95357a330321dc6f4c36c1b77e66cf35cf93a215
push id66153
push usercbook@mozilla.com
push dateTue, 06 Oct 2015 13:17:56 +0000
treeherdermozilla-inbound@e58169d5f96a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerswcosta
bugs1204800
milestone44.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1204800 - Add tooltool dependencies to phone builds. r=wcosta
b2g/config/aries-dogfood/releng-aries-dogfood.tt
b2g/config/aries-spark-ota/releng-aries-spark-ota.tt
b2g/config/aries/config.json
b2g/config/aries/releng-aries.tt
b2g/config/dolphin-512/releng-dolphin-512.tt
b2g/config/dolphin/releng-dolphin.tt
b2g/config/flame-kk-ota/releng-flame-kk-ota.tt
b2g/config/flame-kk/config.json
b2g/config/flame-kk/releng-flame-kk.tt
b2g/config/flame/config.json
b2g/config/flame/releng-flame.tt
b2g/config/nexus-4-kk/releng-mako.tt
b2g/config/nexus-4/releng-mako.tt
b2g/config/nexus-5-l/releng-nexus5.tt
testing/taskcluster/scripts/phone-builder/pre-build.sh
testing/taskcluster/tasks/builds/b2g_aries_spark_debug.yml
testing/taskcluster/tasks/builds/b2g_aries_spark_dogfood.yml
testing/taskcluster/tasks/builds/b2g_aries_spark_eng.yml
testing/taskcluster/tasks/builds/b2g_aries_spark_opt.yml
testing/taskcluster/tasks/builds/b2g_aries_spark_ota_debug.yml
testing/taskcluster/tasks/builds/b2g_aries_spark_ota_opt.yml
testing/taskcluster/tasks/builds/b2g_dolphin_512_eng.yml
testing/taskcluster/tasks/builds/b2g_dolphin_512_opt.yml
testing/taskcluster/tasks/builds/b2g_dolphin_eng.yml
testing/taskcluster/tasks/builds/b2g_dolphin_opt.yml
testing/taskcluster/tasks/builds/b2g_flame_kk_debug.yml
testing/taskcluster/tasks/builds/b2g_flame_kk_eng.yml
testing/taskcluster/tasks/builds/b2g_flame_kk_opt.yml
testing/taskcluster/tasks/builds/b2g_flame_kk_ota_debug.yml
testing/taskcluster/tasks/builds/b2g_flame_kk_ota_opt.yml
testing/taskcluster/tasks/builds/b2g_flame_kk_spark_eng.yml
testing/taskcluster/tasks/builds/b2g_nexus_4_eng.yml
testing/taskcluster/tasks/builds/b2g_nexus_4_kk_eng.yml
testing/taskcluster/tasks/builds/b2g_nexus_4_kk_user.yml
testing/taskcluster/tasks/builds/b2g_nexus_4_user.yml
testing/taskcluster/tasks/builds/b2g_nexus_5l_eng.yml
testing/taskcluster/tasks/builds/b2g_nexus_5l_user.yml
testing/taskcluster/tasks/builds/b2g_phone_base.yml
testing/taskcluster/tasks/phone_build.yml
new file mode 100644
--- /dev/null
+++ b/b2g/config/aries-dogfood/releng-aries-dogfood.tt
@@ -0,0 +1,16 @@
+[
+{
+"size": 80458572,
+"digest": "e5101f9dee1e462f6cbd3897ea57eede41d23981825c7b20d91d23ab461875d54d3dfc24999aa58a31e8b01f49fb3140e05ffe5af2957ef1d1afb89fd0dfe1ad",
+"algorithm": "sha512",
+"filename": "gcc.tar.xz",
+"unpack": true
+},
+{
+"size": 12057960,
+"digest": "6105d6432943141cffb40020dc5ba3a793650bdeb3af9bd5e56d3796c5f03df9962a73e521646cd71fbfb5e266c1e74716ad722fb6055589dfb7d35175bca89e",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"unpack": true
+}
+]
new file mode 100644
--- /dev/null
+++ b/b2g/config/aries-spark-ota/releng-aries-spark-ota.tt
@@ -0,0 +1,16 @@
+[
+{
+"size": 80458572,
+"digest": "e5101f9dee1e462f6cbd3897ea57eede41d23981825c7b20d91d23ab461875d54d3dfc24999aa58a31e8b01f49fb3140e05ffe5af2957ef1d1afb89fd0dfe1ad",
+"algorithm": "sha512",
+"filename": "gcc.tar.xz",
+"unpack": true
+},
+{
+"size": 12057960,
+"digest": "6105d6432943141cffb40020dc5ba3a793650bdeb3af9bd5e56d3796c5f03df9962a73e521646cd71fbfb5e266c1e74716ad722fb6055589dfb7d35175bca89e",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"unpack": true
+}
+]
--- a/b2g/config/aries/config.json
+++ b/b2g/config/aries/config.json
@@ -34,17 +34,17 @@
         "VARIANT": "user",
         "MOZILLA_OFFICIAL": "1",
         "MOZ_TELEMETRY_REPORTING": "1",
         "B2G_UPDATE_CHANNEL": "nightly",
         "GAIA_KEYBOARD_LAYOUTS": "en,pt-BR,es,de,fr,pl,zh-Hans-Pinyin,zh-Hant-Zhuyin,en-Dvorak"
     },
     "b2g_manifest": "aries.xml",
     "b2g_manifest_intree": true,
-    "additional_source_tarballs": ["backup-aries.tar.xz"],
+    "additional_source_tarballs": [],
     "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
     "gaia": {
         "l10n": {
             "vcs": "hgtool",
             "root": "https://hg.mozilla.org/gaia-l10n"
         }
     }
 }
--- a/b2g/config/aries/releng-aries.tt
+++ b/b2g/config/aries/releng-aries.tt
@@ -1,16 +1,16 @@
 [
 {
-"size": 135359412,
-"digest": "45e677c9606cc4eec44ef4761df47ff431df1ffad17a5c6d21ce700a1c47f79e87a4aa9f30ae47ff060bd64f5b775d995780d88211f9a759ffa0d076beb4816b",
-"algorithm": "sha512",
-"filename": "backup-aries.tar.xz",
-"comment": "v18D"
-},
-{
 "size": 80458572,
 "digest": "e5101f9dee1e462f6cbd3897ea57eede41d23981825c7b20d91d23ab461875d54d3dfc24999aa58a31e8b01f49fb3140e05ffe5af2957ef1d1afb89fd0dfe1ad",
 "algorithm": "sha512",
 "filename": "gcc.tar.xz",
-"unpack": "True"
+"unpack": true
+},
+{
+"size": 12057960,
+"digest": "6105d6432943141cffb40020dc5ba3a793650bdeb3af9bd5e56d3796c5f03df9962a73e521646cd71fbfb5e266c1e74716ad722fb6055589dfb7d35175bca89e",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"unpack": true
 }
 ]
new file mode 100644
--- /dev/null
+++ b/b2g/config/dolphin-512/releng-dolphin-512.tt
@@ -0,0 +1,16 @@
+[
+{
+"size": 80458572,
+"digest": "e5101f9dee1e462f6cbd3897ea57eede41d23981825c7b20d91d23ab461875d54d3dfc24999aa58a31e8b01f49fb3140e05ffe5af2957ef1d1afb89fd0dfe1ad",
+"algorithm": "sha512",
+"filename": "gcc.tar.xz",
+"unpack": true
+},
+{
+"size": 12057960,
+"digest": "6105d6432943141cffb40020dc5ba3a793650bdeb3af9bd5e56d3796c5f03df9962a73e521646cd71fbfb5e266c1e74716ad722fb6055589dfb7d35175bca89e",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"unpack": true
+}
+]
--- a/b2g/config/dolphin/releng-dolphin.tt
+++ b/b2g/config/dolphin/releng-dolphin.tt
@@ -1,9 +1,16 @@
 [
 {
 "size": 80458572,
 "digest": "e5101f9dee1e462f6cbd3897ea57eede41d23981825c7b20d91d23ab461875d54d3dfc24999aa58a31e8b01f49fb3140e05ffe5af2957ef1d1afb89fd0dfe1ad",
 "algorithm": "sha512",
 "filename": "gcc.tar.xz",
-"unpack": "True"
+"unpack": true
+},
+{
+"size": 12057960,
+"digest": "6105d6432943141cffb40020dc5ba3a793650bdeb3af9bd5e56d3796c5f03df9962a73e521646cd71fbfb5e266c1e74716ad722fb6055589dfb7d35175bca89e",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"unpack": true
 }
 ]
new file mode 100644
--- /dev/null
+++ b/b2g/config/flame-kk-ota/releng-flame-kk-ota.tt
@@ -0,0 +1,16 @@
+[
+{
+"size": 80458572,
+"digest": "e5101f9dee1e462f6cbd3897ea57eede41d23981825c7b20d91d23ab461875d54d3dfc24999aa58a31e8b01f49fb3140e05ffe5af2957ef1d1afb89fd0dfe1ad",
+"algorithm": "sha512",
+"filename": "gcc.tar.xz",
+"unpack": true
+},
+{
+"size": 12057960,
+"digest": "6105d6432943141cffb40020dc5ba3a793650bdeb3af9bd5e56d3796c5f03df9962a73e521646cd71fbfb5e266c1e74716ad722fb6055589dfb7d35175bca89e",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"unpack": true
+}
+]
--- a/b2g/config/flame-kk/config.json
+++ b/b2g/config/flame-kk/config.json
@@ -36,17 +36,17 @@
         "VARIANT": "userdebug",
         "MOZILLA_OFFICIAL": "1",
         "MOZ_TELEMETRY_REPORTING": "1",
         "B2G_UPDATE_CHANNEL": "nightly",
         "GAIA_KEYBOARD_LAYOUTS": "en,pt-BR,es,de,fr,pl,zh-Hans-Pinyin,zh-Hant-Zhuyin,en-Dvorak"
     },
     "b2g_manifest": "flame-kk.xml",
     "b2g_manifest_intree": true,
-    "additional_source_tarballs": ["backup-flame.tar.xz"],
+    "additional_source_tarballs": [],
     "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
     "gaia": {
         "l10n": {
             "vcs": "hgtool",
             "root": "https://hg.mozilla.org/gaia-l10n"
         }
     }
 }
--- a/b2g/config/flame-kk/releng-flame-kk.tt
+++ b/b2g/config/flame-kk/releng-flame-kk.tt
@@ -1,16 +1,16 @@
 [
 {
-"size": 135359412,
-"digest": "45e677c9606cc4eec44ef4761df47ff431df1ffad17a5c6d21ce700a1c47f79e87a4aa9f30ae47ff060bd64f5b775d995780d88211f9a759ffa0d076beb4816b",
-"algorithm": "sha512",
-"filename": "backup-flame.tar.xz",
-"comment": "v18D"
-},
-{
 "size": 80458572,
 "digest": "e5101f9dee1e462f6cbd3897ea57eede41d23981825c7b20d91d23ab461875d54d3dfc24999aa58a31e8b01f49fb3140e05ffe5af2957ef1d1afb89fd0dfe1ad",
 "algorithm": "sha512",
 "filename": "gcc.tar.xz",
-"unpack": "True"
+"unpack": true
+},
+{
+"size": 12057960,
+"digest": "6105d6432943141cffb40020dc5ba3a793650bdeb3af9bd5e56d3796c5f03df9962a73e521646cd71fbfb5e266c1e74716ad722fb6055589dfb7d35175bca89e",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"unpack": true
 }
 ]
--- a/b2g/config/flame/config.json
+++ b/b2g/config/flame/config.json
@@ -35,17 +35,17 @@
         "VARIANT": "user",
         "MOZILLA_OFFICIAL": "1",
         "MOZ_TELEMETRY_REPORTING": "1",
         "B2G_UPDATE_CHANNEL": "nightly",
         "GAIA_KEYBOARD_LAYOUTS": "en,pt-BR,es,de,fr,pl,zh-Hans-Pinyin,zh-Hant-Zhuyin,en-Dvorak"
     },
     "b2g_manifest": "flame.xml",
     "b2g_manifest_intree": true,
-    "additional_source_tarballs": ["backup-flame.tar.xz"],
+    "additional_source_tarballs": [],
     "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
     "gaia": {
         "l10n": {
             "vcs": "hgtool",
             "root": "https://hg.mozilla.org/gaia-l10n"
         }
     }
 }
--- a/b2g/config/flame/releng-flame.tt
+++ b/b2g/config/flame/releng-flame.tt
@@ -1,14 +1,16 @@
 [
-{"size": 149922032,
-"digest": "8d1a71552ffee561e93b5b3f1bb47866592ab958f908007c75561156430eb1b85a265bfc4dc2038e58dda0264daa9854877a84ef3b591c9ac2f1ab97c098e61e",
-"filename": "backup-flame.tar.xz",
-"algorithm": "sha512"
-},
 {
 "size": 80458572,
 "digest": "e5101f9dee1e462f6cbd3897ea57eede41d23981825c7b20d91d23ab461875d54d3dfc24999aa58a31e8b01f49fb3140e05ffe5af2957ef1d1afb89fd0dfe1ad",
 "algorithm": "sha512",
 "filename": "gcc.tar.xz",
-"unpack": "True"
+"unpack": true
+},
+{
+"size": 12057960,
+"digest": "6105d6432943141cffb40020dc5ba3a793650bdeb3af9bd5e56d3796c5f03df9962a73e521646cd71fbfb5e266c1e74716ad722fb6055589dfb7d35175bca89e",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"unpack": true
 }
 ]
--- a/b2g/config/nexus-4-kk/releng-mako.tt
+++ b/b2g/config/nexus-4-kk/releng-mako.tt
@@ -1,28 +1,16 @@
-[
-{
-"size": i13096,
-"digest": "674475286c1639379079dca3cd14bfb9cc2a7e23733cd0f96e20296b2ee6dc0cdb9fccdc8635bef0475add156e085c17b946ec2c4254c83d3bef95d027e03537",
-"algorithm": "sha512",
-"filename": "broadcom-mako-kot49h-18b58457.tgz"
-},
-{
-"size": 17661109,
-"digest": "a5fcd2fda9fec1d24bb15e160f0ac2627a2b65e411f737c6cac48e777847c5a9eef3251af7deb535af89643a05e9889b857d1f60bf11df18fa270fd7b2db16db",
-"algorithm": "sha512",
-"filename": "qcom-mako-kot49h-e7a74920.tgz"
-},
-{
-"size": 163277,
-"digest": "e58aad76e6395a1a82fe886783842c4676c12d065e2f65bce6ce19cab2488be767aaea27fa2f46f48a0bf8d9714a6b453b474d2f9df5de158c49e6cbde0a359e",
-"algorithm": "sha512",
-"filename": "lge-mako-kot49h-f59c98be.tgz"
-},
-{
+[{
 "size": 80458572,
 "digest": "e5101f9dee1e462f6cbd3897ea57eede41d23981825c7b20d91d23ab461875d54d3dfc24999aa58a31e8b01f49fb3140e05ffe5af2957ef1d1afb89fd0dfe1ad",
 "algorithm": "sha512",
 "filename": "gcc.tar.xz",
 "unpack": "True"
+},
+{
+"size": 12057960,
+"digest": "6105d6432943141cffb40020dc5ba3a793650bdeb3af9bd5e56d3796c5f03df9962a73e521646cd71fbfb5e266c1e74716ad722fb6055589dfb7d35175bca89e",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"unpack": true
 }
 ]
 
--- a/b2g/config/nexus-4/releng-mako.tt
+++ b/b2g/config/nexus-4/releng-mako.tt
@@ -1,28 +1,16 @@
 [
 {
-"size": 13111,
-"digest": "09373556ddb4325897b9e008184228f9088b4c8c22bacf4fa2d39793ecfd264316ad69c2bc8082229ad7fdb80f89154c7b995a60f9b18beb1847e7111e7e69b2",
-"algorithm": "sha512",
-"filename": "broadcom-mako-jwr66v-cbde0d61.tgz"
-},
-{
-"size": 12658359,
-"digest": "2483df1a949df53d02ca33a87731cedd8f7cd07114d723bde1addf63fd71154c23b6f11f64f390b9849121725fb53a402db8df2f96a3673ec52416f45260f79d",
-"algorithm": "sha512",
-"filename": "qcom-mako-jwr66v-30ef957c.tgz"
-},
-{
-"size": 378532,
-"digest": "27aced8feb0e757d61df37839e62410ff30a059cfa8f04897d29ab74b787c765313acf904b1f9cf311c3e682883514df7da54197665251ef9b8bdad6bd0f62c5",
-"algorithm": "sha512",
-"filename": "lge-mako-jwr66v-985845e4.tgz"
-},
-{
 "size": 80458572,
 "digest": "e5101f9dee1e462f6cbd3897ea57eede41d23981825c7b20d91d23ab461875d54d3dfc24999aa58a31e8b01f49fb3140e05ffe5af2957ef1d1afb89fd0dfe1ad",
 "algorithm": "sha512",
 "filename": "gcc.tar.xz",
-"unpack": "True"
+"unpack": true
+},
+{
+"size": 12057960,
+"digest": "6105d6432943141cffb40020dc5ba3a793650bdeb3af9bd5e56d3796c5f03df9962a73e521646cd71fbfb5e266c1e74716ad722fb6055589dfb7d35175bca89e",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"unpack": true
 }
-]
-
+]
\ No newline at end of file
--- a/b2g/config/nexus-5-l/releng-nexus5.tt
+++ b/b2g/config/nexus-5-l/releng-nexus5.tt
@@ -1,7 +1,15 @@
 [{
 "size": 80458572,
 "digest": "e5101f9dee1e462f6cbd3897ea57eede41d23981825c7b20d91d23ab461875d54d3dfc24999aa58a31e8b01f49fb3140e05ffe5af2957ef1d1afb89fd0dfe1ad",
 "algorithm": "sha512",
 "filename": "gcc.tar.xz",
-"unpack": "True"
-}]
+"unpack": true
+},
+{
+"size": 12057960,
+"digest": "6105d6432943141cffb40020dc5ba3a793650bdeb3af9bd5e56d3796c5f03df9962a73e521646cd71fbfb5e266c1e74716ad722fb6055589dfb7d35175bca89e",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"unpack": true
+}
+]
--- a/testing/taskcluster/scripts/phone-builder/pre-build.sh
+++ b/testing/taskcluster/scripts/phone-builder/pre-build.sh
@@ -21,16 +21,19 @@ test $VARIANT
 # Figure out where the remote manifest is so we can use caches for it.
 MANIFEST=$(repository-url.py $GECKO_HEAD_REPOSITORY $GECKO_HEAD_REV b2g/config/$TARGET/sources.xml)
 tc-vcs repo-checkout $WORKSPACE/B2G https://git.mozilla.org/b2g/B2G.git $MANIFEST
 
 # Ensure symlink has been created to gecko...
 rm -f $WORKSPACE/B2G/gecko
 ln -s $WORKSPACE/gecko $WORKSPACE/B2G/gecko
 
+### Install package dependencies
+. ../builder/install-packages.sh $WORKSPACE/gecko
+
 debug_flag=""
 if [ 0$B2G_DEBUG -ne 0 ]; then
   debug_flag='--debug'
 fi
 
 if ! aws --output=text s3 ls s3://b2g-phone-backups/; then
     echo "[aws:error] Failed to connect to AWS! Are the AWS credentials ok?"
     exit 1
--- a/testing/taskcluster/tasks/builds/b2g_aries_spark_debug.yml
+++ b/testing/taskcluster/tasks/builds/b2g_aries_spark_debug.yml
@@ -17,16 +17,17 @@ task:
       build-aries-debug-objdir-gecko-{{project}}: /home/worker/objdir-gecko
     env:
       TARGET: 'aries'
       DEBUG: 0
       VARIANT: userdebug
       GAIA_OPTIMIZE: '1'
       B2G_SYSTEM_APPS: '1'
       MOZHARNESS_CONFIG: b2g/taskcluster-spark.py
+      TOOLTOOL_MANIFEST: 'b2g/config/aries/releng-aries.tt'
     command:
       - >
         checkout-gecko workspace &&
         cd ./workspace/gecko/testing/taskcluster/scripts/phone-builder &&
         buildbot_step 'Build' ./build-phone.sh $HOME/workspace
   extra:
     treeherderEnv:
       - production
--- a/testing/taskcluster/tasks/builds/b2g_aries_spark_dogfood.yml
+++ b/testing/taskcluster/tasks/builds/b2g_aries_spark_dogfood.yml
@@ -13,16 +13,17 @@ task:
     cache:
       build-aries-spark-dogfood: /home/worker/workspace
       build-aries-spark-dogfood-objdir-gecko-{{project}}: /home/worker/objdir-gecko
     env:
       VARIANT: userdebug
       DOGFOOD: 1
       HARDWARE_COMPOSER: 0
       MOZHARNESS_CONFIG: b2g/taskcluster-spark-dogfood.py
+      TOOLTOOL_MANIFEST: 'b2g/config/aries-dogfood/releng-aries-dogfood.tt'
   extra:
     treeherderEnv:
       - production
       - staging
     treeherder:
       symbol: B
       groupSymbol: Aries-DogFood
       groupName: Aries Device Image
--- a/testing/taskcluster/tasks/builds/b2g_aries_spark_eng.yml
+++ b/testing/taskcluster/tasks/builds/b2g_aries_spark_eng.yml
@@ -12,16 +12,17 @@ task:
 
   payload:
     cache:
       build-aries-eng: /home/worker/workspace
       build-aries-eng-objdir-gecko-{{project}}: /home/worker/objdir-gecko
     env:
       TARGET: 'aries'
       MOZHARNESS_CONFIG: b2g/taskcluster-spark.py
+      TOOLTOOL_MANIFEST: 'b2g/config/aries/releng-aries.tt'
   extra:
     treeherderEnv:
       - production
       - staging
     treeherder:
       symbol: Be
       groupSymbol: Aries
       groupName: Aries Device Image
--- a/testing/taskcluster/tasks/builds/b2g_aries_spark_opt.yml
+++ b/testing/taskcluster/tasks/builds/b2g_aries_spark_opt.yml
@@ -17,16 +17,17 @@ task:
       build-aries-opt-objdir-gecko-{{project}}: /home/worker/objdir-gecko
     env:
       TARGET: 'aries'
       DEBUG: 0
       VARIANT: user
       GAIA_OPTIMIZE: '1'
       B2G_SYSTEM_APPS: '1'
       MOZHARNESS_CONFIG: b2g/taskcluster-spark.py
+      TOOLTOOL_MANIFEST: 'b2g/config/aries/releng-aries.tt'
     command:
       - >
         checkout-gecko workspace &&
         cd ./workspace/gecko/testing/taskcluster/scripts/phone-builder &&
         buildbot_step 'Build' ./build-phone.sh $HOME/workspace
   extra:
     treeherderEnv:
       - production
--- a/testing/taskcluster/tasks/builds/b2g_aries_spark_ota_debug.yml
+++ b/testing/taskcluster/tasks/builds/b2g_aries_spark_ota_debug.yml
@@ -11,9 +11,10 @@ task:
     - 'docker-worker:cache:build-aries-spark-ota-debug-objdir-gecko-{{project}}'
   payload:
     cache:
       build-aries-spark-ota-debug: /home/worker/workspace
       build-aries-spark-ota-debug-objdir-gecko-{{project}}: /home/worker/objdir-gecko
     env:
       VARIANT: userdebug
       B2G_DEBUG: 0
+      TOOLTOOL_MANIFEST: 'b2g/config/aries-spark-ota/releng-aries-spark-ota.tt'
 
--- a/testing/taskcluster/tasks/builds/b2g_aries_spark_ota_opt.yml
+++ b/testing/taskcluster/tasks/builds/b2g_aries_spark_ota_opt.yml
@@ -10,9 +10,9 @@ task:
     - 'docker-worker:cache:build-aries-spark-ota-user'
     - 'docker-worker:cache:build-aries-spark-ota-user-objdir-gecko-{{project}}'
   payload:
     cache:
       build-aries-spark-ota-user: /home/worker/workspace
       build-aries-spark-ota-user-objdir-gecko-{{project}}: /home/worker/objdir-gecko
     env:
       VARIANT: user
-
+      TOOLTOOL_MANIFEST: 'b2g/config/aries-spark-ota/releng-aries-spark-ota.tt'
--- a/testing/taskcluster/tasks/builds/b2g_dolphin_512_eng.yml
+++ b/testing/taskcluster/tasks/builds/b2g_dolphin_512_eng.yml
@@ -15,9 +15,9 @@ task:
         platform: b2g-device-image
 
   payload:
     cache:
       build-dolphin-512-eng: /home/worker/workspace
     env:
       TARGET: 'dolphin-512'
       VARIANT: eng
-
+      TOOLTOOL_MANIFEST: 'b2g/config/dolphin-512/releng-dolphin-512.tt'
--- a/testing/taskcluster/tasks/builds/b2g_dolphin_512_opt.yml
+++ b/testing/taskcluster/tasks/builds/b2g_dolphin_512_opt.yml
@@ -13,8 +13,9 @@ task:
       machine:
         platform: b2g-device-image
 
   payload:
     cache:
       build-dolphin-512-opt: /home/worker/workspace
     env:
       TARGET: 'dolphin-512'
+      TOOLTOOL_MANIFEST: 'b2g/config/dolphin-512/releng-dolphin-512.tt'
\ No newline at end of file
--- a/testing/taskcluster/tasks/builds/b2g_dolphin_eng.yml
+++ b/testing/taskcluster/tasks/builds/b2g_dolphin_eng.yml
@@ -15,8 +15,9 @@ task:
         platform: b2g-device-image
 
   payload:
     cache:
       build-dolphin-eng: /home/worker/workspace
     env:
       TARGET: 'dolphin'
       VARIANT: eng
+      TOOLTOOL_MANIFEST: 'b2g/config/dolphin/releng-dolphin.tt'
\ No newline at end of file
--- a/testing/taskcluster/tasks/builds/b2g_dolphin_opt.yml
+++ b/testing/taskcluster/tasks/builds/b2g_dolphin_opt.yml
@@ -13,9 +13,9 @@ task:
       machine:
         platform: b2g-device-image
 
   payload:
     cache:
       build-dolphin-opt: /home/worker/workspace
     env:
       TARGET: 'dolphin'
-
+      TOOLTOOL_MANIFEST: 'b2g/config/dolphin/releng-dolphin.tt'
--- a/testing/taskcluster/tasks/builds/b2g_flame_kk_debug.yml
+++ b/testing/taskcluster/tasks/builds/b2g_flame_kk_debug.yml
@@ -14,16 +14,17 @@ task:
   payload:
     cache:
       build-flame-kk-debug: /home/worker/workspace
       build-flame-kk-debug-objdir-gecko-{{project}}: /home/worker/objdir-gecko
     env:
       TARGET: 'flame-kk'
       DEBUG: 0
       VARIANT: userdebug
+      TOOLTOOL_MANIFEST: 'b2g/config/flame-kk/releng-flame-kk.tt'
     command:
       - >
         checkout-gecko workspace &&
         cd ./workspace/gecko/testing/taskcluster/scripts/phone-builder &&
         buildbot_step 'Build' ./build-phone.sh $HOME/workspace
   extra:
     treeherderEnv:
       - production
--- a/testing/taskcluster/tasks/builds/b2g_flame_kk_eng.yml
+++ b/testing/taskcluster/tasks/builds/b2g_flame_kk_eng.yml
@@ -11,16 +11,17 @@ task:
     name: '[TC] B2G Flame KK Eng'
 
   payload:
     cache:
       build-flame-kk-eng: /home/worker/workspace
       build-flame-kk-eng-objdir-gecko-{{project}}: /home/worker/objdir-gecko
     env:
       TARGET: 'flame-kk'
+      TOOLTOOL_MANIFEST: 'b2g/config/flame-kk/releng-flame-kk.tt'
   extra:
     treeherderEnv:
       - production
       - staging
     treeherder:
       symbol: Be
       groupSymbol: Flame-KK
       groupName: Flame KitKat Device Image
--- a/testing/taskcluster/tasks/builds/b2g_flame_kk_opt.yml
+++ b/testing/taskcluster/tasks/builds/b2g_flame_kk_opt.yml
@@ -13,16 +13,17 @@ task:
 
   payload:
     cache:
       build-flame-kk-opt: /home/worker/workspace
       build-flame-kk-opt-objdir-gecko-{{project}}: /home/worker/objdir-gecko
     env:
       TARGET: 'flame-kk'
       DEBUG: 0
+      TOOLTOOL_MANIFEST: 'b2g/config/flame-kk/releng-flame-kk.tt'
     command:
       - >
         checkout-gecko workspace &&
         cd ./workspace/gecko/testing/taskcluster/scripts/phone-builder &&
         buildbot_step 'Build' ./build-phone.sh $HOME/workspace
   extra:
     treeherderEnv:
       - production
--- a/testing/taskcluster/tasks/builds/b2g_flame_kk_ota_debug.yml
+++ b/testing/taskcluster/tasks/builds/b2g_flame_kk_ota_debug.yml
@@ -12,8 +12,9 @@ task:
 
   payload:
     cache:
       build-flame-kk-ota-debug: /home/worker/workspace
       build-flame-kk-ota-debug-objdir-gecko-{{project}}: /home/worker/objdir-gecko
     env:
       VARIANT: userdebug
       B2G_DEBUG: 0
+      TOOLTOOL_MANIFEST: 'b2g/config/flame-kk-ota/releng-flame-kk-ota.tt'
\ No newline at end of file
--- a/testing/taskcluster/tasks/builds/b2g_flame_kk_ota_opt.yml
+++ b/testing/taskcluster/tasks/builds/b2g_flame_kk_ota_opt.yml
@@ -11,8 +11,9 @@ task:
     - 'docker-worker:cache:build-flame-kk-ota-user-objdir-gecko-{{project}}'
 
   payload:
     cache:
       build-flame-kk-ota-user: /home/worker/workspace
       build-flame-kk-ota-user-objdir-gecko-{{project}}: /home/worker/objdir-gecko
     env:
       VARIANT: user
+      TOOLTOOL_MANIFEST: 'b2g/config/flame-kk-ota/releng-flame-kk-ota.tt'
\ No newline at end of file
--- a/testing/taskcluster/tasks/builds/b2g_flame_kk_spark_eng.yml
+++ b/testing/taskcluster/tasks/builds/b2g_flame_kk_spark_eng.yml
@@ -12,16 +12,17 @@ task:
 
   payload:
     cache:
       build-flame-kk-spark-eng: /home/worker/workspace
       build-flame-kk-spark-eng-objdir-gecko-{{project}}: /home/worker/objdir-gecko
     env:
       TARGET: 'flame-kk'
       MOZHARNESS_CONFIG: b2g/taskcluster-spark.py
+      TOOLTOOL_MANIFEST: 'b2g/config/flame-kk/releng-flame-kk.tt'
   extra:
     treeherderEnv:
       - staging
     treeherder:
       symbol: Be
       groupSymbol: Flame-KK-spark
       groupName: Flame KitKat Device Image
       machine:
--- a/testing/taskcluster/tasks/builds/b2g_nexus_4_eng.yml
+++ b/testing/taskcluster/tasks/builds/b2g_nexus_4_eng.yml
@@ -10,16 +10,17 @@ task:
   metadata:
     name: '[TC] B2G Nexus 4 Eng'
   payload:
     cache:
       build-nexus-4-eng: /home/worker/object-folder
     env:
       TARGET: 'nexus-4'
       DEBUG: 0
+      TOOLTOOL_MANIFEST: 'b2g/config/nexus-4/releng-mako.tt'
     command:
       - >
         checkout-gecko workspace &&
         cd ./workspace/gecko/testing/taskcluster/scripts/phone-builder &&
         buildbot_step 'Build' ./build-phone.sh $HOME/workspace
   extra:
     treeherderEnv:
       - production
--- a/testing/taskcluster/tasks/builds/b2g_nexus_4_kk_eng.yml
+++ b/testing/taskcluster/tasks/builds/b2g_nexus_4_kk_eng.yml
@@ -12,16 +12,17 @@ task:
     name: '[TC] B2G Nexus 4 KK Eng'
   payload:
     cache:
       build-nexus-4-kk-eng: /home/worker/workspace
       build-nexus-4-kk-eng-objdir-gecko-{{project}}: /home/worker/objdir-gecko
     env:
       TARGET: 'nexus-4-kk'
       DEBUG: 0
+      TOOLTOOL_MANIFEST: 'b2g/config/nexus-4-kk/releng-mako.tt'
     command:
       - >
         checkout-gecko workspace &&
         cd ./workspace/gecko/testing/taskcluster/scripts/phone-builder &&
         buildbot_step 'Build' ./build-phone.sh $HOME/workspace
   extra:
     treeherderEnv:
       - production
--- a/testing/taskcluster/tasks/builds/b2g_nexus_4_kk_user.yml
+++ b/testing/taskcluster/tasks/builds/b2g_nexus_4_kk_user.yml
@@ -12,16 +12,17 @@ task:
     name: '[TC] B2G Nexus 4 KK User'
   payload:
     cache:
       build-nexus-4-kk-user: /home/worker/workspace
       build-nexus-4-kk-user-objdir-gecko-{{project}}: /home/worker/objdir-gecko
     env:
       TARGET: 'nexus-4-kk'
       DEBUG: 0
+      TOOLTOOL_MANIFEST: 'b2g/config/nexus-4-kk/releng-mako.tt'
     command:
       - >
         checkout-gecko workspace &&
         cd ./workspace/gecko/testing/taskcluster/scripts/phone-builder &&
         buildbot_step 'Build' ./build-phone.sh $HOME/workspace
   extra:
     treeherderEnv:
       - production
--- a/testing/taskcluster/tasks/builds/b2g_nexus_4_user.yml
+++ b/testing/taskcluster/tasks/builds/b2g_nexus_4_user.yml
@@ -11,16 +11,17 @@ task:
     name: '[TC] B2G Nexus 4 User'
 
   payload:
     cache:
       build-nexus-4-user: /home/worker/object-folder
     env:
       TARGET: 'nexus-4'
       DEBUG: 0
+      TOOLTOOL_MANIFEST: 'b2g/config/nexus-4/releng-mako.tt'
     command:
       - >
         checkout-gecko workspace &&
         cd ./workspace/gecko/testing/taskcluster/scripts/phone-builder &&
         buildbot_step 'Build' ./build-phone.sh $HOME/workspace
   extra:
     treeherderEnv:
       - production
--- a/testing/taskcluster/tasks/builds/b2g_nexus_5l_eng.yml
+++ b/testing/taskcluster/tasks/builds/b2g_nexus_5l_eng.yml
@@ -10,16 +10,17 @@ task:
   metadata:
     name: '[TC] B2G Nexus 5-L Eng'
   payload:
     cache:
       build-nexus-5-l-eng: /home/worker/object-folder
     env:
       TARGET: 'nexus-5-l'
       DEBUG: 0
+      TOOLTOOL_MANIFEST: 'b2g/config/nexus-5-l/releng-nexus5.tt'
     command:
       - >
         checkout-gecko workspace &&
         cd ./workspace/gecko/testing/taskcluster/scripts/phone-builder &&
         buildbot_step 'Build' ./build-phone.sh $HOME/workspace
   extra:
     treeherderEnv:
       - production
--- a/testing/taskcluster/tasks/builds/b2g_nexus_5l_user.yml
+++ b/testing/taskcluster/tasks/builds/b2g_nexus_5l_user.yml
@@ -11,16 +11,17 @@ task:
     name: '[TC] B2G Nexus 5-L User'
 
   payload:
     cache:
       build-nexus-5-l-user: /home/worker/object-folder
     env:
       TARGET: 'nexus-5-l'
       DEBUG: 0
+      TOOLTOOL_MANIFEST: 'b2g/config/nexus-5-l/releng-nexus5.tt'
     command:
       - >
         checkout-gecko workspace &&
         cd ./workspace/gecko/testing/taskcluster/scripts/phone-builder &&
         buildbot_step 'Build' ./build-phone.sh $HOME/workspace
   extra:
     treeherderEnv:
       - production
--- a/testing/taskcluster/tasks/builds/b2g_phone_base.yml
+++ b/testing/taskcluster/tasks/builds/b2g_phone_base.yml
@@ -1,15 +1,19 @@
 $inherits:
   from: 'tasks/phone_build.yml'
 task:
+  scopes:
+    - 'docker-worker:cache:tooltool-cache'
   metadata:
     description: |
       Android phones + b2g environment used in full stack testing.
   payload:
+    cache:
+      tooltool-cache: '/home/worker/tooltool-cache'
     env:
       MOZILLA_OFFICIAL: '1'
       ENABLE_DEFAULT_BOOTANIMATION: 'true'
       B2G_UPDATER: '1'
       REPO_TRACE: 1
       VARIANT: user
 
     # Emulators can take a very long time to build!
--- a/testing/taskcluster/tasks/phone_build.yml
+++ b/testing/taskcluster/tasks/phone_build.yml
@@ -49,16 +49,18 @@ task:
 
 
     env:
       # Common environment variables for checking out gecko
       GECKO_BASE_REPOSITORY: '{{base_repository}}'
       GECKO_HEAD_REPOSITORY: '{{head_repository}}'
       GECKO_HEAD_REV: '{{head_rev}}'
       GECKO_HEAD_REF: '{{head_ref}}'
+      TOOLTOOL_REPO: 'https://git.mozilla.org/build/tooltool.git'
+      TOOLTOOL_REV: 'master'
 
   extra:
     build_product: 'b2g'
     index:
       rank: {{pushlog_id}}
     treeherder:
       groupSymbol: tc
       groupName: Submitted by taskcluster