Bug 1282226 - Kill secrets from phone-builder image and fix aries/hammerhead r?wcosta draft
authorAlexandre Lissy <lissyx@lissyx.dyndns.org>
Tue, 28 Jun 2016 19:46:40 +0200
changeset 382590 d71c5e71e022cfa37e70d4a5a7115280b308d664
parent 382391 b69a5bbb5e40bd426e35222baa600b481e50d265
child 382591 81e71cd363641d7439ed0a203e434ccf4a1d04bd
push id21771
push userbmo:lissyx+mozillians@lissyx.dyndns.org
push dateWed, 29 Jun 2016 23:02:52 +0000
reviewerswcosta
bugs1282226
milestone50.0a1
Bug 1282226 - Kill secrets from phone-builder image and fix aries/hammerhead r?wcosta MozReview-Commit-ID: LOZHgih2TrM
b2g/config/aries/config.json
b2g/config/aries/releng-aries.manifest
b2g/config/aries/sources.xml
b2g/config/nexus-5-l/config.json
b2g/config/nexus-5-l/releng-nexus5.manifest
b2g/config/nexus-5-l/sources.xml
taskcluster/ci/docker-image/kind.yml
taskcluster/ci/legacy/tasks/builds/b2g_aries_eng.yml
taskcluster/ci/legacy/tasks/builds/b2g_nexus_5l_eng.yml
taskcluster/ci/legacy/tasks/builds/b2g_phone_eng_base.yml
taskcluster/ci/legacy/tasks/phone_build.yml
taskcluster/scripts/phone-builder/pre-build.sh
testing/docker/phone-builder/Dockerfile
testing/docker/phone-builder/REGISTRY
testing/docker/phone-builder/VERSION
testing/docker/phone-builder/build.sh
testing/docker/phone-builder/hgrc
testing/mozharness/configs/b2g/taskcluster-phone-eng.py
testing/mozharness/mozharness/mozilla/building/buildb2gbase.py
testing/mozharness/scripts/b2g_build.py
--- a/b2g/config/aries/config.json
+++ b/b2g/config/aries/config.json
@@ -40,13 +40,13 @@
         "MOZ_TELEMETRY_REPORTING": "1",
         "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,
     "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
     "gaia": {
         "l10n": {
-            "vcs": "hgtool",
+            "vcs": "hg",
             "root": "https://hg.mozilla.org/gaia-l10n"
         }
     }
 }
--- a/b2g/config/aries/releng-aries.manifest
+++ b/b2g/config/aries/releng-aries.manifest
@@ -1,10 +1,27 @@
 [
 {
+"version": "Android NDK r11b for B2G",
+"algorithm": "sha512",
+"visibility": "internal",
+"filename": "android-ndk-b2g.tar.xz",
+"unpack": true,
+"digest": "bc37c6b2e38f4ff19e3326786312d8f893600e155d35dfba45163bd909e022db852b9c6920863cb498bbe7da8b86a6a387fa024bc9444ce3a8d1715cf2c24b21",
+"size": 292442020
+},
+{
+"algorithm": "sha512",
+"visibility": "internal",
+"filename": "backup-aries_23.0.1.A.5.77.tar.xz",
+"unpack": true,
+"digest": "79c8e390e88cc4765ff7f5f29f3d5337c9037b7eb9414006947d38d34acefdbcf7090c18a366948c682b1c2c9d9ef51012e7be44daa28fdde7b837ade647c257",
+"size": 227555180
+},
+{
 "version": "gcc 4.8.5 + PR64905",
 "size": 80160264,
 "digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
 "algorithm": "sha512",
 "filename": "gcc.tar.xz",
 "unpack": "True"
 }
 ]
--- a/b2g/config/aries/sources.xml
+++ b/b2g/config/aries/sources.xml
@@ -1,33 +1,31 @@
 <?xml version="1.0" ?><manifest>
   <!--
     Remotes
     -->
   <!--original fetch url was https://android.googlesource.com/-->
   <remote fetch="https://git.mozilla.org/external/aosp" name="aosp"/>
   <!--original fetch url was git://github.com/apitrace/-->
   <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
-  <!--original fetch url was git://github.com/mozilla-b2g/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
+  <remote fetch="git://github.com/mozilla-b2g/" name="b2g"/>
   <!--original fetch url was https://git.mozilla.org/b2g-->
   <remote fetch="https://git.mozilla.org/b2g" name="b2gmozilla"/>
   <!--original fetch url was git://codeaurora.org/-->
   <remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
   <!--original fetch url was http://android.git.linaro.org/git-ro/-->
   <remote fetch="https://git.mozilla.org/external/linaro" name="linaro"/>
-  <!--original fetch url was git://github.com/mozilla/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/>
+  <remote fetch="git://github.com/mozilla/" name="mozilla"/>
   <!--original fetch url was https://git.mozilla.org/releases-->
   <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
   <!--
     B2G repositories for all targets
     -->
-  <project name="gaia" path="gaia" remote="mozillaorg" revision="a954bd2954c422b7d24d92cfd73000cb455dce44"/>
-  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="19150d320e6802ec211ccc5e74c254ae9992312d"/>
+  <project name="gaia" path="gaia" remote="b2g" revision="99c01f5646b2d8aa5ebf1968114ab2f5db5ac6a8"/>
+  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="31f2fbb02035c18b84f3387317aab75adf65da87"/>
   <project name="moztt" path="external/moztt" remote="b2g" revision="99c333dab00ed79baff9e1cf76b320aee8e1c123"/>
   <project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
   <project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="34adfb400e031f3dd3353d92413572db5e3a7376"/>
   <project name="platform_system_libpdu" path="system/libpdu" remote="b2g" revision="f1a61fa8f97cc0a1ac4eca160acc222981b21d90"/>
   <project name="platform_system_sensorsd" path="system/sensorsd" remote="b2g" revision="3618678c472320de386f5ddc27897992d0e148a8"/>
   <!-- B2G specific things. -->
   <project name="platform_build" path="build" remote="b2g" revision="964d9fa4eabe9eb473ef9101ca2a690880f28547">
     <copyfile dest="Makefile" src="core/root.mk"/>
--- a/b2g/config/nexus-5-l/config.json
+++ b/b2g/config/nexus-5-l/config.json
@@ -43,13 +43,13 @@
         "B2G_UPDATE_CHANNEL": "nightly"
     },
     "b2g_manifest": "nexus-5-l.xml",
     "b2g_manifest_intree": true,
     "additional_source_tarballs": [],
     "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
     "gaia": {
         "l10n": {
-            "vcs": "hgtool",
+            "vcs": "hg",
             "root": "https://hg.mozilla.org/gaia-l10n"
         }
     }
 }
--- a/b2g/config/nexus-5-l/releng-nexus5.manifest
+++ b/b2g/config/nexus-5-l/releng-nexus5.manifest
@@ -1,8 +1,19 @@
-[{
+[
+{
+"version": "Android NDK r11b for B2G",
+"algorithm": "sha512",
+"visibility": "internal",
+"filename": "android-ndk-b2g.tar.xz",
+"unpack": true,
+"digest": "bc37c6b2e38f4ff19e3326786312d8f893600e155d35dfba45163bd909e022db852b9c6920863cb498bbe7da8b86a6a387fa024bc9444ce3a8d1715cf2c24b21",
+"size": 292442020
+},
+{
 "version": "gcc 4.8.5 + PR64905",
 "size": 80160264,
 "digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
 "algorithm": "sha512",
 "filename": "gcc.tar.xz",
 "unpack": "True"
-}]
+}
+]
--- a/b2g/config/nexus-5-l/sources.xml
+++ b/b2g/config/nexus-5-l/sources.xml
@@ -1,33 +1,31 @@
 <?xml version="1.0" ?><manifest>
   <!--
     Remotes
     -->
   <!--original fetch url was https://android.googlesource.com/-->
   <remote fetch="https://git.mozilla.org/external/aosp" name="aosp"/>
   <!--original fetch url was git://github.com/apitrace/-->
   <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
-  <!--original fetch url was git://github.com/mozilla-b2g/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
+  <remote fetch="git://github.com/mozilla-b2g/" name="b2g"/>
   <!--original fetch url was https://git.mozilla.org/b2g-->
   <remote fetch="https://git.mozilla.org/b2g" name="b2gmozilla"/>
   <!--original fetch url was git://codeaurora.org/-->
   <remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
   <!--original fetch url was http://android.git.linaro.org/git-ro/-->
   <remote fetch="https://git.mozilla.org/external/linaro" name="linaro"/>
-  <!--original fetch url was git://github.com/mozilla/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/>
+  <remote fetch="git://github.com/mozilla/" name="mozilla"/>
   <!--original fetch url was https://git.mozilla.org/releases-->
   <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
   <!--
     B2G repositories for all targets
     -->
-  <project name="gaia" path="gaia" remote="mozillaorg" revision="a954bd2954c422b7d24d92cfd73000cb455dce44"/>
-  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="19150d320e6802ec211ccc5e74c254ae9992312d"/>
+  <project name="gaia" path="gaia" remote="b2g" revision="99c01f5646b2d8aa5ebf1968114ab2f5db5ac6a8"/>
+  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="31f2fbb02035c18b84f3387317aab75adf65da87"/>
   <project name="moztt" path="external/moztt" remote="b2g" revision="99c333dab00ed79baff9e1cf76b320aee8e1c123"/>
   <project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
   <project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="34adfb400e031f3dd3353d92413572db5e3a7376"/>
   <project name="platform_system_libpdu" path="system/libpdu" remote="b2g" revision="f1a61fa8f97cc0a1ac4eca160acc222981b21d90"/>
   <project name="platform_system_sensorsd" path="system/sensorsd" remote="b2g" revision="3618678c472320de386f5ddc27897992d0e148a8"/>
   <!-- B2G specific things. -->
   <project name="platform_build" path="build" remote="b2g" revision="aee7ff3dba262a037559d360b62af429b62cb876">
     <copyfile dest="Makefile" src="core/root.mk"/>
--- a/taskcluster/ci/docker-image/kind.yml
+++ b/taskcluster/ci/docker-image/kind.yml
@@ -12,8 +12,9 @@ images_path: '../../../testing/docker'
 # knowledge that unnecessary images will be omitted from the target task graph
 images:
   - desktop-test
   - desktop-build
   - builder
   - tester
   - lint
   - android-gradle-build
+  - phone-builder
--- a/taskcluster/ci/legacy/tasks/builds/b2g_aries_eng.yml
+++ b/taskcluster/ci/legacy/tasks/builds/b2g_aries_eng.yml
@@ -2,26 +2,29 @@
   from: 'tasks/builds/b2g_phone_eng_base.yml'
   variables:
     build_name: 'aries-eng'
     build_type: 'opt'
 task:
   scopes:
     - 'docker-worker:cache:level-{{level}}-{{project}}-build-aries-eng'
     - 'docker-worker:cache:level-{{level}}-{{project}}-build-aries-eng-objdir-gecko'
+    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
+    - 'docker-worker:relengapi-proxy:tooltool.download.public'
   metadata:
     name: '[TC] B2G Aries Eng'
 
   payload:
     cache:
       level-{{level}}-{{project}}-build-aries-eng: /home/worker/workspace
       level-{{level}}-{{project}}-build-aries-eng-objdir-gecko: /home/worker/objdir-gecko
+    features:
+      relengAPIProxy: true
     env:
       TARGET: 'aries'
-      MOZHARNESS_CONFIG: b2g/taskcluster-phone-eng.py
   extra:
     treeherderEnv:
       - production
       - staging
     treeherder:
       symbol: Be
       groupSymbol: Aries
       groupName: Aries Device Image
--- a/taskcluster/ci/legacy/tasks/builds/b2g_nexus_5l_eng.yml
+++ b/taskcluster/ci/legacy/tasks/builds/b2g_nexus_5l_eng.yml
@@ -3,30 +3,28 @@
   variables:
     build_name: 'nexus-5-l-eng'
     build_type: 'opt'
 task:
   workerType: flame-kk
   scopes:
     - 'docker-worker:cache:level-{{level}}-{{project}}-build-nexus-5-l-eng'
     - 'docker-worker:cache:level-{{level}}-{{project}}-build-nexus-5-l-eng-objdir-gecko'
+    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
+    - 'docker-worker:relengapi-proxy:tooltool.download.public'
   metadata:
     name: '[TC] B2G Nexus 5-L Eng'
   payload:
     cache:
       level-{{level}}-{{project}}-build-nexus-5-l-eng: /home/worker/object-folder
       level-{{level}}-{{project}}-build-nexus-5-l-eng-objdir-gecko: /home/worker/objdir-gecko
+    features:
+      relengAPIProxy: true
     env:
       TARGET: 'nexus-5-l'
-      DEBUG: 0
-    command:
-      - >
-        checkout-gecko workspace &&
-        cd ./workspace/gecko/taskcluster/scripts/phone-builder &&
-        buildbot_step 'Build' ./build-phone.sh $HOME/workspace
   extra:
     treeherderEnv:
       - production
       - staging
     treeherder:
       symbol: Be
       groupSymbol: Nexus 5-L
       groupName: Nexus 5-L Device Image
--- a/taskcluster/ci/legacy/tasks/builds/b2g_phone_eng_base.yml
+++ b/taskcluster/ci/legacy/tasks/builds/b2g_phone_eng_base.yml
@@ -8,13 +8,14 @@ task:
       DEBUG: 0
       VARIANT: eng
       GAIA_OPTIMIZE: '1'
       B2G_SYSTEM_APPS: '1'
       MOZ_TELEMETRY_REPORTING: '1'
       MOZ_CRASHREPORTER_NO_REPORT: '1'
       GAIA_KEYBOARD_LAYOUTS: 'en,pt-BR,es,de,fr,pl,zh-Hans-Pinyin,zh-Hant-Zhuyin,en-Dvorak'
       B2G_UPDATE_CHANNEL: 'default'
+      MOZHARNESS_CONFIG: b2g/taskcluster-phone-eng.py
     command:
       - >
         checkout-gecko workspace &&
         cd ./workspace/gecko/taskcluster/scripts/phone-builder &&
         buildbot_step 'Build' ./build-phone.sh $HOME/workspace
--- a/taskcluster/ci/legacy/tasks/phone_build.yml
+++ b/taskcluster/ci/legacy/tasks/phone_build.yml
@@ -1,13 +1,13 @@
 # This is the "base" task which contains the common values all builds must
 # provide.
 ---
 taskId: {{build_slugid}}
-
+docker-image: phone-builder
 task:
   created: '{{now}}'
   deadline: '{{#from_now}}24 hours{{/from_now}}'
   metadata:
     source: '{{source}}'
     owner: mozilla-taskcluster-maintenance@mozilla.com
 
   tags:
@@ -20,20 +20,23 @@ task:
   routes:
     - 'index.gecko.v1.{{project}}.revision.linux.{{head_rev}}.{{build_name}}.{{build_type}}'
     - 'index.gecko.v1.{{project}}.latest.linux.{{build_name}}.{{build_type}}'
 
   scopes:
     # Nearly all of our build tasks use tc-vcs so just include the scope across
     # the board.
     - 'docker-worker:cache:level-{{level}}-{{project}}-tc-vcs'
-    - 'docker-worker:image:{{#docker_image}}phone-builder{{/docker_image}}'
 
   payload:
-    image: '{{#docker_image}}phone-builder{{/docker_image}}'
+    image:
+      type: 'task-image'
+      path: 'public/image.tar'
+      taskId:
+        task-reference: "<docker-image>"
 
     # One hour is a good value for most builds
     maxRunTime: 3600
 
     cache:
       level-{{level}}-{{project}}-tc-vcs: '/home/worker/.tc-vcs'
 
     # All builds share a common artifact directory for ease of uploading.
--- a/taskcluster/scripts/phone-builder/pre-build.sh
+++ b/taskcluster/scripts/phone-builder/pre-build.sh
@@ -26,21 +26,8 @@ tc-vcs repo-checkout $WORKSPACE/B2G http
 rm -f $WORKSPACE/B2G/gecko
 ln -s $WORKSPACE/gecko $WORKSPACE/B2G/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
-fi
-
-backup_file=$(aws --output=text s3 ls s3://b2g-phone-backups/$TARGET/ | tail -1 | awk '{print $NF}')
-
-if echo $backup_file | grep '\.tar\.bz2'; then
-    aws s3 cp s3://b2g-phone-backups/$TARGET/$backup_file .
-    tar -xjf $backup_file -C $WORKSPACE/B2G
-    rm -f $backup_file
-fi
-
--- a/testing/docker/phone-builder/Dockerfile
+++ b/testing/docker/phone-builder/Dockerfile
@@ -1,17 +1,14 @@
 FROM          taskcluster/builder:0.5.13
 MAINTAINER    Wander Lairson Costa <wcosta@mozilla.com>
 
-ENV           SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE /home/worker/socorro.token
-
 # Add utilities and configuration
 ADD           bin                   /home/worker/bin
-ADD           config                /home/worker/.aws/config
-ADD           socorro.token         /home/worker/socorro.token
+
+# Builds need the share module enabled
+ADD           hgrc /home/worker/.hgrc
+RUN chown -R worker:worker /home/worker/.hgrc
 
 RUN           yum install -y bc lzop java-1.7.0-openjdk
 RUN           pip install awscli
 RUN           npm install -g bower gulp apm grunt-cli
 
-# Set a default command useful for debugging
-ENTRYPOINT ["validate_task.py"]
-
deleted file mode 100644
--- a/testing/docker/phone-builder/REGISTRY
+++ /dev/null
@@ -1,1 +0,0 @@
-taskclusterprivate
deleted file mode 100644
--- a/testing/docker/phone-builder/VERSION
+++ /dev/null
@@ -1,1 +0,0 @@
-0.0.26
deleted file mode 100755
--- a/testing/docker/phone-builder/build.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#! /bin/bash -e
-
-while getopts "t:i:k:s:" arg; do
-  case $arg in
-    t)
-      TAG=$OPTARG
-      ;;
-    i)
-      AWS_ACCESS_KEY_ID=$OPTARG
-      ;;
-    k)
-      AWS_SECRET_ACCESS_KEY=$OPTARG
-      ;;
-    s)
-      SOCORRO_TOKEN=$OPTARG
-      ;;
-  esac
-done
-
-pushd $(dirname $0)
-
-test $TAG
-test $AWS_ACCESS_KEY_ID
-test $AWS_SECRET_ACCESS_KEY
-test $SOCORRO_TOKEN
-
-(echo '[default]'
-echo "aws_access_key_id = $AWS_ACCESS_KEY_ID"
-echo "aws_secret_access_key = $AWS_SECRET_ACCESS_KEY") > config
-
-echo $SOCORRO_TOKEN > socorro.token
-
-docker build -t $TAG .
-rm -f config
-rm -f socorro.token
-
-popd
new file mode 100644
--- /dev/null
+++ b/testing/docker/phone-builder/hgrc
@@ -0,0 +1,4 @@
+[extensions]
+share =
+[ui]
+username = TaskCluster <nobody@mozilla.org>
--- a/testing/mozharness/configs/b2g/taskcluster-phone-eng.py
+++ b/testing/mozharness/configs/b2g/taskcluster-phone-eng.py
@@ -1,35 +1,43 @@
 #!/usr/bin/env python
+
+HG_SHARE_BASE_DIR = "/builds/hg-shared"
+
 config = {
+    # mozharness script options
+    "vcs_share_base": HG_SHARE_BASE_DIR,
     "default_vcs": "tc-vcs",
     "default_actions": [
         'checkout-sources',
         'get-blobs',
         'build',
-        'build-symbols',
         'prep-upload'
     ],
     "upload": {
         "default": {
             "upload_dep_target_exclusions": []
         }
     },
     "env": {
         "GAIA_OPTIMIZE": "1",
         "WGET_OPTS": "-c -q",
         "B2G_PATH": "%(work_dir)s",
         "BOWER_FLAGS": "--allow-root",
         "WGET_OPTS": "-c -q",
+        "HG_SHARE_BASE_DIR": HG_SHARE_BASE_DIR,
+        "B2G_ANDROID_NDK_PATH": "%(b2g_repo)s/android-ndk",
+        "ANDROIDFS_DIR": "%(b2g_repo)s/backup-%(b2g_target)s",
     },
     "is_automation": True,
     "repo_remote_mappings": {
         'https://android.googlesource.com/': 'https://git.mozilla.org/external/aosp',
         'git://codeaurora.org/': 'https://git.mozilla.org/external/caf',
         'https://git.mozilla.org/b2g': 'https://git.mozilla.org/b2g',
         'git://github.com/mozilla-b2g/': 'https://git.mozilla.org/b2g',
         'git://github.com/mozilla/': 'https://git.mozilla.org/b2g',
         'https://git.mozilla.org/releases': 'https://git.mozilla.org/releases',
         'http://android.git.linaro.org/git-ro/': 'https://git.mozilla.org/external/linaro',
         'git://github.com/apitrace/': 'https://git.mozilla.org/external/apitrace',
     },
     "download_tooltool": True,
+    "tooltool_servers": ['http://relengapi/tooltool/'],
 }
--- a/testing/mozharness/mozharness/mozilla/building/buildb2gbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildb2gbase.py
@@ -156,16 +156,18 @@ class B2GBuildBaseScript(BuildbotMixin, 
             return self.abs_dirs
         abs_dirs = BaseScript.query_abs_dirs(self)
 
         dirs = {
             'gecko_src': os.path.join(abs_dirs['abs_work_dir'], 'gecko'),
             'work_dir': abs_dirs['abs_work_dir'],
             'b2g_src': abs_dirs['abs_work_dir'],
             'abs_tools_dir': os.path.join(abs_dirs['abs_work_dir'], 'build-tools'),
+            'b2g_repo': self.config['repo'],
+            'b2g_target': self.config['target'],
         }
 
         abs_dirs.update(dirs)
         self.abs_dirs = abs_dirs
         return self.abs_dirs
 
     def query_repo(self):
         if self.buildbot_config and 'properties' in self.buildbot_config:
--- a/testing/mozharness/scripts/b2g_build.py
+++ b/testing/mozharness/scripts/b2g_build.py
@@ -433,17 +433,17 @@ class B2GBuild(LocalesMixin, PurgeMixin,
                           error_level=FATAL)
 
     def checkout_compare_locales(self):
         dirs = self.query_abs_dirs()
         dest = dirs['compare_locales_dir']
         repo = self.config['compare_locales_repo']
         rev = self.config['compare_locales_rev']
         vcs = self.config['compare_locales_vcs']
-        abs_rev = self.vcs_checkout(repo=repo, dest=dest, revision=rev, vcs=vcs)
+        abs_rev = self.vcs_checkout(repo=repo, dest=dest, branch=rev, vcs=vcs)
         self.set_buildbot_property('compare_locales_revision', abs_rev, write_to_file=True)
 
     def query_do_translate_hg_to_git(self, gecko_config_key=None):
         manifest_config = self.config.get('manifest', {})
         branch = self.query_branch()
         if self.query_is_nightly() and branch in manifest_config['branches'] and \
                 manifest_config.get('translate_hg_to_git'):
             if gecko_config_key is None: