Backed out changesets 1c9a4b6596e6, cc9c846f8598, and 0d2f924ff750 (bug 1195865) for B2G build bustage.
authorRyan VanderMeulen <ryanvm@gmail.com>
Wed, 26 Aug 2015 16:29:27 -0400
changeset 259438 81f00129aedb47b6d7f2cd2838b1a70311596d26
parent 259437 1c9a4b6596e673d0bb1f765a8fdd58b7b6f33b3a
child 259439 07f5717ac742d2be0f0dadb114148f24e41334e3
push id64250
push userryanvm@gmail.com
push dateWed, 26 Aug 2015 20:29:31 +0000
treeherdermozilla-inbound@81f00129aedb [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1195865
milestone43.0a1
backs out1c9a4b6596e673d0bb1f765a8fdd58b7b6f33b3a
cc9c846f859825c1baf602b40084ac1a4ad232bd
0d2f924ff75050f0e197fdfb19d6d10d05903d0c
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
Backed out changesets 1c9a4b6596e6, cc9c846f8598, and 0d2f924ff750 (bug 1195865) for B2G build bustage. CLOSED TREE
testing/mozharness/configs/single_locale/mozilla-aurora_android-api-11.py
testing/mozharness/configs/single_locale/mozilla-aurora_android-api-9.py
testing/mozharness/configs/single_locale/mozilla-aurora_android.py
testing/mozharness/configs/single_locale/mozilla-central_android-api-11.py
testing/mozharness/configs/single_locale/mozilla-central_android-api-9.py
testing/mozharness/configs/single_locale/mozilla-central_android.py
testing/mozharness/configs/single_locale/production.py
testing/mozharness/configs/single_locale/release_mozilla-beta_android.py
testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_11.py
testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_9.py
testing/mozharness/configs/single_locale/release_mozilla-release_android.py
testing/mozharness/configs/single_locale/release_mozilla-release_android_api_11.py
testing/mozharness/configs/single_locale/release_mozilla-release_android_api_9.py
testing/mozharness/configs/single_locale/staging.py
testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android.py
testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_11.py
testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_9.py
testing/mozharness/configs/single_locale/staging_release_mozilla-release_android.py
testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_11.py
testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_9.py
testing/mozharness/mozharness/mozilla/l10n/locales.py
testing/mozharness/scripts/desktop_l10n.py
testing/mozharness/scripts/mobile_l10n.py
--- a/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-11.py
+++ b/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-11.py
@@ -1,13 +1,17 @@
 BRANCH = "mozilla-aurora"
 MOZ_UPDATE_CHANNEL = "aurora"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 EN_US_BINARY_URL = "http://stage.mozilla.org/pub/mozilla.org/mobile/nightly/latest-%s-android-api-11/en-US" % (BRANCH)
+#STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
+STAGE_SERVER = "stage.mozilla.org"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
@@ -51,18 +55,25 @@ config = {
     "repack_env": {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_OBJDIR": OBJDIR,
         "EN_US_BINARY_URL": EN_US_BINARY_URL,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
-    "upload_branch": "%s-android-api-11" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "POST_UPLOAD_CMD": "post_upload.py -b mozilla-aurora-android-api-11-l10n -p mobile -i %(buildid)s --release-to-latest --release-to-dated",
+        "UPLOAD_TO_TEMP": "1",
+    },
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-11/l10n-nightly" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
     "stage_product": "mobile",
     "platform": "android",
     "build_type": "api-11-opt",
--- a/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-9.py
+++ b/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-9.py
@@ -1,13 +1,17 @@
 BRANCH = "mozilla-aurora"
 MOZ_UPDATE_CHANNEL = "aurora"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 EN_US_BINARY_URL = "http://stage.mozilla.org/pub/mozilla.org/mobile/nightly/latest-%s-android-api-9/en-US" % (BRANCH)
+#STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
+STAGE_SERVER = "stage.mozilla.org"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
@@ -51,18 +55,25 @@ config = {
     "repack_env": {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_OBJDIR": OBJDIR,
         "EN_US_BINARY_URL": EN_US_BINARY_URL,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
-    "upload_branch": "%s-android-api-9" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "POST_UPLOAD_CMD": "post_upload.py -b mozilla-aurora-android-api-9-l10n -p mobile -i %(buildid)s --release-to-latest --release-to-dated",
+        "UPLOAD_TO_TEMP": "1",
+    },
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-9-10-constrained/l10n-nightly" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
     "stage_product": "mobile",
     "platform": "android",
     "build_type": "api-9-opt",
--- a/testing/mozharness/configs/single_locale/mozilla-aurora_android.py
+++ b/testing/mozharness/configs/single_locale/mozilla-aurora_android.py
@@ -1,13 +1,17 @@
 BRANCH = "mozilla-aurora"
 MOZ_UPDATE_CHANNEL = "aurora"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 EN_US_BINARY_URL = "http://stage.mozilla.org/pub/mozilla.org/mobile/nightly/latest-%s-android/en-US" % (BRANCH)
+#STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
+STAGE_SERVER = "stage.mozilla.org"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
@@ -51,18 +55,25 @@ config = {
     "repack_env": {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_OBJDIR": OBJDIR,
         "EN_US_BINARY_URL": EN_US_BINARY_URL,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
-    "upload_branch": "%s-android" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "POST_UPLOAD_CMD": "post_upload.py -b mozilla-aurora-android-l10n -p mobile -i %(buildid)s --release-to-latest --release-to-dated",
+        "UPLOAD_TO_TEMP": "1",
+    },
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android/l10n-nightly" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
     "stage_product": "mobile",
     "platform": "android",
 
--- a/testing/mozharness/configs/single_locale/mozilla-central_android-api-11.py
+++ b/testing/mozharness/configs/single_locale/mozilla-central_android-api-11.py
@@ -1,13 +1,17 @@
 BRANCH = "mozilla-central"
 MOZ_UPDATE_CHANNEL = "nightly"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 EN_US_BINARY_URL = "http://stage.mozilla.org/pub/mozilla.org/mobile/nightly/latest-%s-android-api-11/en-US" % (BRANCH)
+#STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
+STAGE_SERVER = "stage.mozilla.org"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
@@ -51,18 +55,25 @@ config = {
     "repack_env": {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_OBJDIR": OBJDIR,
         "EN_US_BINARY_URL": EN_US_BINARY_URL,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
-    "upload_branch": "%s-android-api-11" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "POST_UPLOAD_CMD": "post_upload.py -b mozilla-central-android-api-11-l10n -p mobile -i %(buildid)s --release-to-latest --release-to-dated",
+        "UPLOAD_TO_TEMP": "1",
+    },
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-11/l10n-nightly" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
     "stage_product": "mobile",
     "platform": "android",
     "build_type": "api-11-opt",
--- a/testing/mozharness/configs/single_locale/mozilla-central_android-api-9.py
+++ b/testing/mozharness/configs/single_locale/mozilla-central_android-api-9.py
@@ -1,13 +1,17 @@
 BRANCH = "mozilla-central"
 MOZ_UPDATE_CHANNEL = "nightly"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 EN_US_BINARY_URL = "http://stage.mozilla.org/pub/mozilla.org/mobile/nightly/latest-%s-android-api-9/en-US" % (BRANCH)
+#STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
+STAGE_SERVER = "stage.mozilla.org"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
@@ -51,18 +55,25 @@ config = {
     "repack_env": {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_OBJDIR": OBJDIR,
         "EN_US_BINARY_URL": EN_US_BINARY_URL,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
-    "upload_branch": "%s-android-api-9" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "POST_UPLOAD_CMD": "post_upload.py -b mozilla-central-android-api-9-l10n -p mobile -i %(buildid)s --release-to-latest --release-to-dated",
+        "UPLOAD_TO_TEMP": "1",
+    },
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-9-10-constrained/l10n-nightly" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
     "stage_product": "mobile",
     "platform": "android",
     "build_type": "api-9-opt",
--- a/testing/mozharness/configs/single_locale/mozilla-central_android.py
+++ b/testing/mozharness/configs/single_locale/mozilla-central_android.py
@@ -1,13 +1,17 @@
 BRANCH = "mozilla-central"
 MOZ_UPDATE_CHANNEL = "nightly"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 EN_US_BINARY_URL = "http://stage.mozilla.org/pub/mozilla.org/mobile/nightly/latest-%s-android/en-US" % (BRANCH)
+#STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
+STAGE_SERVER = "stage.mozilla.org"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
@@ -51,18 +55,25 @@ config = {
     "repack_env": {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_OBJDIR": OBJDIR,
         "EN_US_BINARY_URL": EN_US_BINARY_URL,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
-    "upload_branch": "%s-android" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "POST_UPLOAD_CMD": "post_upload.py -b mozilla-central-android-l10n -p mobile -i %(buildid)s --release-to-latest --release-to-dated",
+        "UPLOAD_TO_TEMP": "1",
+    },
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android/l10n-nightly" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
     "stage_product": "mobile",
     "platform": "android",
 
--- a/testing/mozharness/configs/single_locale/production.py
+++ b/testing/mozharness/configs/single_locale/production.py
@@ -1,13 +1,13 @@
 config = {
     "upload_env": {
         "UPLOAD_USER": "ffxbld",
         # ssh_key_dir is defined per platform: it is "~/.ssh" for every platform
         # except when mock is in use, in this case, ssh_key_dir is
         # /home/mock_mozilla/.ssh
         "UPLOAD_SSH_KEY": "%(ssh_key_dir)s/ffxbld_rsa",
         "UPLOAD_HOST": "stage.mozilla.org",
-        "POST_UPLOAD_CMD": "post_upload.py -b %(branch)s-l10n -p %(stage_product)s -i %(buildid)s --release-to-latest --release-to-dated",
+        "POST_UPLOAD_CMD": "post_upload.py -b %(branch)s-l10n -p firefox -i %(buildid)s --release-to-latest --release-to-dated",
         "UPLOAD_TO_TEMP": "1"
     },
     'taskcluster_index': 'index',
 }
--- a/testing/mozharness/configs/single_locale/release_mozilla-beta_android.py
+++ b/testing/mozharness/configs/single_locale/release_mozilla-beta_android.py
@@ -1,13 +1,17 @@
 BRANCH = "mozilla-beta"
 MOZ_UPDATE_CHANNEL = "beta"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 EN_US_BINARY_URL = "http://ftp.mozilla.org/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android/en-US"
+#STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
+STAGE_SERVER = "stage.mozilla.org"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
     "purge_minsize": 10,
@@ -53,25 +57,42 @@ config = {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_PKG_VERSION": "%(version)s",
         "MOZ_OBJDIR": OBJDIR,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
     "base_en_us_binary_url": EN_US_BINARY_URL,
-    "upload_branch": "%s-android" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "UPLOAD_TO_TEMP": "1",
+        "MOZ_PKG_VERSION": "%(version)s",
+    },
     "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates",
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android/l10n-release" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
     "key_alias": "release",
+    "default_actions": [
+        "clobber",
+        "pull",
+        "list-locales",
+        "setup",
+        "repack",
+        "upload-repacks",
+        "submit-to-balrog",
+        "summary",
+    ],
     # Mock
     "mock_target": "mozilla-centos6-x86_64-android",
     "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache',
                       'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General',
                       'gtk2-devel', 'libnotify-devel', 'yasm',
                       'alsa-lib-devel', 'libcurl-devel',
                       'wireless-tools-devel', 'libX11-devel',
                       'libXt-devel', 'mesa-libGL-devel',
--- a/testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_11.py
+++ b/testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_11.py
@@ -1,13 +1,17 @@
 BRANCH = "mozilla-beta"
 MOZ_UPDATE_CHANNEL = "beta"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 EN_US_BINARY_URL = "http://ftp.mozilla.org/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-11/en-US"
+#STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
+STAGE_SERVER = "stage.mozilla.org"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
     "purge_minsize": 10,
@@ -53,25 +57,42 @@ config = {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_PKG_VERSION": "%(version)s",
         "MOZ_OBJDIR": OBJDIR,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
     "base_en_us_binary_url": EN_US_BINARY_URL,
-    "upload_branch": "%s-android-api-11" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "UPLOAD_TO_TEMP": "1",
+        "MOZ_PKG_VERSION": "%(version)s",
+    },
     "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-11/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates",
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-11/l10n-release" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
     "key_alias": "release",
+    "default_actions": [
+        "clobber",
+        "pull",
+        "list-locales",
+        "setup",
+        "repack",
+        "upload-repacks",
+        "submit-to-balrog",
+        "summary",
+    ],
     # Mock
     "mock_target": "mozilla-centos6-x86_64-android",
     "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache',
                       'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General',
                       'gtk2-devel', 'libnotify-devel', 'yasm',
                       'alsa-lib-devel', 'libcurl-devel',
                       'wireless-tools-devel', 'libX11-devel',
                       'libXt-devel', 'mesa-libGL-devel',
--- a/testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_9.py
+++ b/testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_9.py
@@ -1,13 +1,17 @@
 BRANCH = "mozilla-beta"
 MOZ_UPDATE_CHANNEL = "beta"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 EN_US_BINARY_URL = "http://ftp.mozilla.org/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-9/en-US"
+#STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
+STAGE_SERVER = "stage.mozilla.org"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
     "purge_minsize": 10,
@@ -53,25 +57,42 @@ config = {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_PKG_VERSION": "%(version)s",
         "MOZ_OBJDIR": OBJDIR,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
     "base_en_us_binary_url": EN_US_BINARY_URL,
-    "upload_branch": "%s-android-api-9" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "UPLOAD_TO_TEMP": "1",
+        "MOZ_PKG_VERSION": "%(version)s",
+    },
     "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-9/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates",
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-9-10-constrained/l10n-release" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
     "key_alias": "release",
+    "default_actions": [
+        "clobber",
+        "pull",
+        "list-locales",
+        "setup",
+        "repack",
+        "upload-repacks",
+        "submit-to-balrog",
+        "summary",
+    ],
     # Mock
     "mock_target": "mozilla-centos6-x86_64-android",
     "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache',
                       'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General',
                       'gtk2-devel', 'libnotify-devel', 'yasm',
                       'alsa-lib-devel', 'libcurl-devel',
                       'wireless-tools-devel', 'libX11-devel',
                       'libXt-devel', 'mesa-libGL-devel',
--- a/testing/mozharness/configs/single_locale/release_mozilla-release_android.py
+++ b/testing/mozharness/configs/single_locale/release_mozilla-release_android.py
@@ -1,13 +1,17 @@
 BRANCH = "mozilla-release"
 MOZ_UPDATE_CHANNEL = "release"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 EN_US_BINARY_URL = "http://ftp.mozilla.org/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android/en-US"
+#STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
+STAGE_SERVER = "stage.mozilla.org"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
     "purge_minsize": 10,
@@ -53,25 +57,42 @@ config = {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_PKG_VERSION": "%(version)s",
         "MOZ_OBJDIR": OBJDIR,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
     "base_en_us_binary_url": EN_US_BINARY_URL,
-    "upload_branch": "%s-android" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "UPLOAD_TO_TEMP": "1",
+        "MOZ_PKG_VERSION": "%(version)s",
+    },
     "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates",
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android/l10n-release" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
     "key_alias": "release",
+    "default_actions": [
+        "clobber",
+        "pull",
+        "list-locales",
+        "setup",
+        "repack",
+        "upload-repacks",
+        "submit-to-balrog",
+        "summary",
+    ],
     # Mock
     "mock_target": "mozilla-centos6-x86_64-android",
     "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache',
                       'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General',
                       'gtk2-devel', 'libnotify-devel', 'yasm',
                       'alsa-lib-devel', 'libcurl-devel',
                       'wireless-tools-devel', 'libX11-devel',
                       'libXt-devel', 'mesa-libGL-devel',
--- a/testing/mozharness/configs/single_locale/release_mozilla-release_android_api_11.py
+++ b/testing/mozharness/configs/single_locale/release_mozilla-release_android_api_11.py
@@ -1,13 +1,17 @@
 BRANCH = "mozilla-release"
 MOZ_UPDATE_CHANNEL = "release"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 EN_US_BINARY_URL = "http://ftp.mozilla.org/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-11/en-US"
+#STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
+STAGE_SERVER = "stage.mozilla.org"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
     "purge_minsize": 10,
@@ -53,25 +57,42 @@ config = {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_PKG_VERSION": "%(version)s",
         "MOZ_OBJDIR": OBJDIR,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
     "base_en_us_binary_url": EN_US_BINARY_URL,
-    "upload_branch": "%s-android-api-11" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "UPLOAD_TO_TEMP": "1",
+        "MOZ_PKG_VERSION": "%(version)s",
+    },
     "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-11/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates",
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-11/l10n-release" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
     "key_alias": "release",
+    "default_actions": [
+        "clobber",
+        "pull",
+        "list-locales",
+        "setup",
+        "repack",
+        "upload-repacks",
+        "submit-to-balrog",
+        "summary",
+    ],
     # Mock
     "mock_target": "mozilla-centos6-x86_64-android",
     "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache',
                       'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General',
                       'gtk2-devel', 'libnotify-devel', 'yasm',
                       'alsa-lib-devel', 'libcurl-devel',
                       'wireless-tools-devel', 'libX11-devel',
                       'libXt-devel', 'mesa-libGL-devel',
--- a/testing/mozharness/configs/single_locale/release_mozilla-release_android_api_9.py
+++ b/testing/mozharness/configs/single_locale/release_mozilla-release_android_api_9.py
@@ -1,13 +1,17 @@
 BRANCH = "mozilla-release"
 MOZ_UPDATE_CHANNEL = "release"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 EN_US_BINARY_URL = "http://ftp.mozilla.org/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-9/en-US"
+#STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
+STAGE_SERVER = "stage.mozilla.org"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
     "purge_minsize": 10,
@@ -53,25 +57,42 @@ config = {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_PKG_VERSION": "%(version)s",
         "MOZ_OBJDIR": OBJDIR,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
     "base_en_us_binary_url": EN_US_BINARY_URL,
-    "upload_branch": "%s-android-api-9" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "UPLOAD_TO_TEMP": "1",
+        "MOZ_PKG_VERSION": "%(version)s",
+    },
     "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-9/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates",
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-9-10-constrained/l10n-release" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
     "key_alias": "release",
+    "default_actions": [
+        "clobber",
+        "pull",
+        "list-locales",
+        "setup",
+        "repack",
+        "upload-repacks",
+        "submit-to-balrog",
+        "summary",
+    ],
     # Mock
     "mock_target": "mozilla-centos6-x86_64-android",
     "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache',
                       'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General',
                       'gtk2-devel', 'libnotify-devel', 'yasm',
                       'alsa-lib-devel', 'libcurl-devel',
                       'wireless-tools-devel', 'libX11-devel',
                       'libXt-devel', 'mesa-libGL-devel',
--- a/testing/mozharness/configs/single_locale/staging.py
+++ b/testing/mozharness/configs/single_locale/staging.py
@@ -1,13 +1,13 @@
 config = {
     "upload_env": {
         "UPLOAD_USER": "ffxbld",
         # ssh_key_dir is defined per platform: it is "~/.ssh" for every platform
         # except when mock is in use, in this case, ssh_key_dir is
         # /home/mock_mozilla/.ssh
         "UPLOAD_SSH_KEY": "%(ssh_key_dir)s/stage-ffxbld_rsa",
         "UPLOAD_HOST": "dev-stage01.srv.releng.scl3.mozilla.com",
-        "POST_UPLOAD_CMD": "post_upload.py -b %(branch)s-l10n -p %(stage_product)s -i %(buildid)s --release-to-latest --release-to-dated",
+        "POST_UPLOAD_CMD": "post_upload.py -b %(branch)s-l10n -p firefox -i %(buildid)s --release-to-latest --release-to-dated",
         "UPLOAD_TO_TEMP": "1"
     },
     'taskcluster_index': 'index.garbage.staging',
 }
--- a/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android.py
+++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android.py
@@ -1,14 +1,17 @@
 BRANCH = "mozilla-beta"
 MOZ_UPDATE_CHANNEL = "beta"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
+#STAGE_SERVER = "stage.mozilla.org"
 EN_US_BINARY_URL = "http://" + STAGE_SERVER + "/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android/en-US"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
     "purge_minsize": 10,
@@ -54,24 +57,41 @@ config = {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_PKG_VERSION": "%(version)s",
         "MOZ_OBJDIR": OBJDIR,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
     "base_en_us_binary_url": EN_US_BINARY_URL,
-    "upload_branch": "%s-android" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "UPLOAD_TO_TEMP": "1",
+        "MOZ_PKG_VERSION": "%(version)s",
+    },
     "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates",
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android/l10n-release" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
+    "default_actions": [
+        "clobber",
+        "pull",
+        "list-locales",
+        "setup",
+        "repack",
+        "upload-repacks",
+        "submit-to-balrog",
+        "summary",
+    ],
 
     # Mock
     "mock_target": "mozilla-centos6-x86_64-android",
     "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache',
                       'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General',
                       'gtk2-devel', 'libnotify-devel', 'yasm',
                       'alsa-lib-devel', 'libcurl-devel',
                       'wireless-tools-devel', 'libX11-devel',
--- a/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_11.py
+++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_11.py
@@ -1,14 +1,17 @@
 BRANCH = "mozilla-beta"
 MOZ_UPDATE_CHANNEL = "beta"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
+#STAGE_SERVER = "stage.mozilla.org"
 EN_US_BINARY_URL = "http://" + STAGE_SERVER + "/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-11/en-US"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
     "purge_minsize": 10,
@@ -54,24 +57,41 @@ config = {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_PKG_VERSION": "%(version)s",
         "MOZ_OBJDIR": OBJDIR,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
     "base_en_us_binary_url": EN_US_BINARY_URL,
-    "upload_branch": "%s-android-api-11" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "UPLOAD_TO_TEMP": "1",
+        "MOZ_PKG_VERSION": "%(version)s",
+    },
     "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-11/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates",
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-11/l10n-release" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
+    "default_actions": [
+        "clobber",
+        "pull",
+        "list-locales",
+        "setup",
+        "repack",
+        "upload-repacks",
+        "submit-to-balrog",
+        "summary",
+    ],
 
     # Mock
     "mock_target": "mozilla-centos6-x86_64-android",
     "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache',
                       'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General',
                       'gtk2-devel', 'libnotify-devel', 'yasm',
                       'alsa-lib-devel', 'libcurl-devel',
                       'wireless-tools-devel', 'libX11-devel',
--- a/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_9.py
+++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_9.py
@@ -1,14 +1,17 @@
 BRANCH = "mozilla-beta"
 MOZ_UPDATE_CHANNEL = "beta"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
+#STAGE_SERVER = "stage.mozilla.org"
 EN_US_BINARY_URL = "http://" + STAGE_SERVER + "/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-9/en-US"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
     "purge_minsize": 10,
@@ -54,24 +57,41 @@ config = {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_PKG_VERSION": "%(version)s",
         "MOZ_OBJDIR": OBJDIR,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
     "base_en_us_binary_url": EN_US_BINARY_URL,
-    "upload_branch": "%s-android-api-9" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "UPLOAD_TO_TEMP": "1",
+        "MOZ_PKG_VERSION": "%(version)s",
+    },
     "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-9/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates",
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-9-10-constrained/l10n-release" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
+    "default_actions": [
+        "clobber",
+        "pull",
+        "list-locales",
+        "setup",
+        "repack",
+        "upload-repacks",
+        "submit-to-balrog",
+        "summary",
+    ],
 
     # Mock
     "mock_target": "mozilla-centos6-x86_64-android",
     "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache',
                       'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General',
                       'gtk2-devel', 'libnotify-devel', 'yasm',
                       'alsa-lib-devel', 'libcurl-devel',
                       'wireless-tools-devel', 'libX11-devel',
--- a/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android.py
+++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android.py
@@ -1,14 +1,16 @@
 BRANCH = "mozilla-release"
 MOZ_UPDATE_CHANNEL = "release"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
 EN_US_BINARY_URL = "http://" + STAGE_SERVER + "/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android/en-US"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
     "purge_minsize": 10,
@@ -57,24 +59,41 @@ config = {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_PKG_VERSION": "%(version)s",
         "MOZ_OBJDIR": OBJDIR,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
     "base_en_us_binary_url": EN_US_BINARY_URL,
-    "upload_branch": "%s-android" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "UPLOAD_TO_TEMP": "1",
+        "MOZ_PKG_VERSION": "%(version)s",
+    },
     "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates",
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android/l10n-release" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
+    "default_actions": [
+        "clobber",
+        "pull",
+        "list-locales",
+        "setup",
+        "repack",
+        "upload-repacks",
+        "submit-to-balrog",
+        "summary",
+    ],
 
     # Mock
     "mock_target": "mozilla-centos6-x86_64-android",
     "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache',
                       'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General',
                       'gtk2-devel', 'libnotify-devel', 'yasm',
                       'alsa-lib-devel', 'libcurl-devel',
                       'wireless-tools-devel', 'libX11-devel',
--- a/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_11.py
+++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_11.py
@@ -1,14 +1,16 @@
 BRANCH = "mozilla-release"
 MOZ_UPDATE_CHANNEL = "release"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
 EN_US_BINARY_URL = "http://" + STAGE_SERVER + "/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-11/en-US"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
     "purge_minsize": 10,
@@ -57,24 +59,41 @@ config = {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_PKG_VERSION": "%(version)s",
         "MOZ_OBJDIR": OBJDIR,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
     "base_en_us_binary_url": EN_US_BINARY_URL,
-    "upload_branch": "%s-android-api-11" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "UPLOAD_TO_TEMP": "1",
+        "MOZ_PKG_VERSION": "%(version)s",
+    },
     "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-11/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates",
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-11/l10n-release" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
+    "default_actions": [
+        "clobber",
+        "pull",
+        "list-locales",
+        "setup",
+        "repack",
+        "upload-repacks",
+        "submit-to-balrog",
+        "summary",
+    ],
 
     # Mock
     "mock_target": "mozilla-centos6-x86_64-android",
     "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache',
                       'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General',
                       'gtk2-devel', 'libnotify-devel', 'yasm',
                       'alsa-lib-devel', 'libcurl-devel',
                       'wireless-tools-devel', 'libX11-devel',
--- a/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_9.py
+++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_9.py
@@ -1,14 +1,16 @@
 BRANCH = "mozilla-release"
 MOZ_UPDATE_CHANNEL = "release"
 MOZILLA_DIR = BRANCH
 OBJDIR = "obj-l10n"
 STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com"
 EN_US_BINARY_URL = "http://" + STAGE_SERVER + "/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-9/en-US"
+STAGE_USER = "ffxbld"
+STAGE_SSH_KEY = "~/.ssh/ffxbld_rsa"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
     "purge_minsize": 10,
@@ -57,24 +59,41 @@ config = {
         # so ugly, bug 951238
         "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64",
         "MOZ_PKG_VERSION": "%(version)s",
         "MOZ_OBJDIR": OBJDIR,
         "LOCALE_MERGEDIR": "%(abs_merge_dir)s/",
         "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL,
     },
     "base_en_us_binary_url": EN_US_BINARY_URL,
-    "upload_branch": "%s-android-api-9" % BRANCH,
-    "ssh_key_dir": "~/.ssh",
+    # TODO ideally we could get this info from a central location.
+    # However, the agility of these individual config files might trump that.
+    "upload_env": {
+        "UPLOAD_USER": STAGE_USER,
+        "UPLOAD_SSH_KEY": STAGE_SSH_KEY,
+        "UPLOAD_HOST": STAGE_SERVER,
+        "UPLOAD_TO_TEMP": "1",
+        "MOZ_PKG_VERSION": "%(version)s",
+    },
     "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-9/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates",
     "merge_locales": True,
     "make_dirs": ['config'],
     "mozilla_dir": MOZILLA_DIR,
     "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-9-10-constrained/l10n-release" % MOZILLA_DIR,
     "signature_verification_script": "tools/release/signing/verify-android-signature.sh",
+    "default_actions": [
+        "clobber",
+        "pull",
+        "list-locales",
+        "setup",
+        "repack",
+        "upload-repacks",
+        "submit-to-balrog",
+        "summary",
+    ],
 
     # Mock
     "mock_target": "mozilla-centos6-x86_64-android",
     "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache',
                       'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General',
                       'gtk2-devel', 'libnotify-devel', 'yasm',
                       'alsa-lib-devel', 'libcurl-devel',
                       'wireless-tools-devel', 'libX11-devel',
--- a/testing/mozharness/mozharness/mozilla/l10n/locales.py
+++ b/testing/mozharness/mozharness/mozilla/l10n/locales.py
@@ -184,25 +184,16 @@ class LocalesMixin(ChunkingMixin):
                 'tag': tag,
                 'vcs': vcs
             })
         revs = self.vcs_checkout_repos(repo_list=locale_repos,
                                        parent_dir=parent_dir,
                                        tag_override=c.get('tag_override'))
         self.gecko_locale_revisions = revs
 
-    def query_repo(self):
-        # Find the name of our repository
-        mozilla_dir = self.config['mozilla_dir']
-        repo = None
-        for repository in self.config['repos']:
-            if repository.get('dest') == mozilla_dir:
-                repo = repository['repo']
-                break
-        return repo
 
 # GaiaLocalesMixin {{{1
 class GaiaLocalesMixin(object):
     gaia_locale_revisions = None
 
     def pull_gaia_locale_source(self, l10n_config, locales, base_dir):
         root = l10n_config['root']
         # urljoin will strip the last part of root if it doesn't end with "/"
--- a/testing/mozharness/scripts/desktop_l10n.py
+++ b/testing/mozharness/scripts/desktop_l10n.py
@@ -58,19 +58,17 @@ PyMakeIgnoreList = [
 
 # mandatory configuration options, without them, this script will not work
 # it's a list of values that are already known before starting a build
 configuration_tokens = ('branch',
                         'platform',
                         'en_us_binary_url',
                         'update_platform',
                         'update_channel',
-                        'ssh_key_dir',
-                        'stage_product',
-                        )
+                        'ssh_key_dir')
 # some other values such as "%(version)s", "%(buildid)s", ...
 # are defined at run time and they cannot be enforced in the _pre_config_lock
 # phase
 runtime_config_tokens = ('buildid', 'version', 'locale', 'from_buildid',
                          'abs_objdir', 'abs_merge_dir', 'version', 'to_buildid')
 
 
 # DesktopSingleLocale {{{1
@@ -156,17 +154,16 @@ class DesktopSingleLocale(LocalesMixin, 
         # fxbuild style:
         buildscript_kwargs = {
             'all_actions': [
                 "clobber",
                 "pull",
                 "list-locales",
                 "setup",
                 "repack",
-                "create-virtualenv",
                 "taskcluster-upload",
                 "funsize-props",
                 "submit-to-balrog",
                 "summary",
             ],
             'config': {
                 "buildbot_json_path": "buildprops.json",
                 "ignore_locales": ["en-US"],
@@ -1007,16 +1004,24 @@ class DesktopSingleLocale(LocalesMixin, 
         credentials = {}
         execfile(auth, credentials)
         client_id = credentials.get('taskcluster_clientId')
         access_token = credentials.get('taskcluster_accessToken')
         if not client_id or not access_token:
             self.warning('Skipping S3 file upload: No taskcluster credentials.')
             return
 
+        # We need to activate the virtualenv so that we can import taskcluster
+        # (and its dependent modules, like requests and hawk).  Normally we
+        # could create the virtualenv as an action, but due to some odd
+        # dependencies with query_build_env() being called from build(), which
+        # is necessary before the virtualenv can be created.
+        self.disable_mock()
+        self.create_virtualenv()
+        self.enable_mock()
         self.activate_virtualenv()
 
         # Enable Taskcluster debug logging, so at least we get some debug
         # messages while we are testing uploads.
         logging.getLogger('taskcluster').setLevel(logging.DEBUG)
 
         branch = self.config['branch']
         platform = self.config['platform']
--- a/testing/mozharness/scripts/mobile_l10n.py
+++ b/testing/mozharness/scripts/mobile_l10n.py
@@ -10,17 +10,16 @@ This currently supports nightly and rele
 Android.  This also creates nightly updates.
 """
 
 from copy import deepcopy
 import os
 import re
 import subprocess
 import sys
-import shlex
 
 try:
     import simplejson as json
     assert json
 except ImportError:
     import json
 
 # load modules from parent dir
@@ -33,25 +32,22 @@ from mozharness.mozilla.buildbot import 
 from mozharness.mozilla.purge import PurgeMixin
 from mozharness.mozilla.release import ReleaseMixin
 from mozharness.mozilla.signing import MobileSigningMixin
 from mozharness.mozilla.tooltool import TooltoolMixin
 from mozharness.base.vcs.vcsbase import MercurialScript
 from mozharness.mozilla.l10n.locales import LocalesMixin
 from mozharness.mozilla.mock import MockMixin
 from mozharness.mozilla.updates.balrog import BalrogMixin
-from mozharness.base.python import VirtualenvMixin
-from mozharness.mozilla.taskcluster_helper import Taskcluster
 
 
 # MobileSingleLocale {{{1
 class MobileSingleLocale(MockMixin, LocalesMixin, ReleaseMixin,
                          MobileSigningMixin, TransferMixin, TooltoolMixin,
-                         BuildbotMixin, PurgeMixin, MercurialScript, BalrogMixin,
-                         VirtualenvMixin):
+                         BuildbotMixin, PurgeMixin, MercurialScript, BalrogMixin):
     config_options = [[
         ['--locale', ],
         {"action": "extend",
          "dest": "locales",
          "type": "string",
          "help": "Specify the locale(s) to sign and update"
          }
     ], [
@@ -103,45 +99,31 @@ class MobileSingleLocale(MockMixin, Loca
         {"action": "store",
          "dest": "total_locale_chunks",
          "type": "int",
          "help": "Specify the total number of chunks of locales"
          }
     ]]
 
     def __init__(self, require_config_file=True):
-        buildscript_kwargs = {
-            'all_actions': [
+        LocalesMixin.__init__(self)
+        MercurialScript.__init__(
+            self,
+            config_options=self.config_options,
+            all_actions=[
                 "clobber",
                 "pull",
                 "list-locales",
                 "setup",
                 "repack",
                 "upload-repacks",
-                "create-virtualenv",
-                "taskcluster-upload",
                 "submit-to-balrog",
                 "summary",
             ],
-            'config': {
-                'taskcluster_credentials_file': 'oauth.txt',
-                'virtualenv_modules': [
-                    'requests==2.2.1',
-                    'PyHawk-with-a-single-extra-commit==0.1.5',
-                    'taskcluster==0.0.15',
-                ],
-                'virtualenv_path': 'venv',
-            },
-        }
-        LocalesMixin.__init__(self)
-        MercurialScript.__init__(
-            self,
-            config_options=self.config_options,
-            require_config_file=require_config_file,
-            **buildscript_kwargs
+            require_config_file=require_config_file
         )
         self.base_package_name = None
         self.buildid = None
         self.make_ident_output = None
         self.repack_env = None
         self.revision = None
         self.upload_env = None
         self.version = None
@@ -169,35 +151,23 @@ class MobileSingleLocale(MockMixin, Loca
             repack_env['MOZ_SIGN_CMD'] = subprocess.list2cmdline(self.query_moz_sign_cmd(formats='jar'))
         self.repack_env = repack_env
         return self.repack_env
 
     def query_upload_env(self):
         if self.upload_env:
             return self.upload_env
         c = self.config
-        replace_dict = {
-            'buildid': self.query_buildid(),
-            'version': self.query_version(),
-        }
-        replace_dict.update(c)
-
-        # Android l10n builds use a non-standard location for l10n files.  Other
-        # builds go to 'mozilla-central-l10n', while android builds add part of
-        # the platform name as well, like 'mozilla-central-android-api-11-l10n'.
-        # So we override the branch with something that contains the platform
-        # name.
-        replace_dict['branch'] = c['upload_branch']
-
+        buildid = self.query_buildid()
+        version = self.query_version()
         upload_env = self.query_env(partial_env=c.get("upload_env"),
-                                    replace_dict=replace_dict)
+                                    replace_dict={'buildid': buildid,
+                                                  'version': version})
         if 'MOZ_SIGNING_SERVERS' in os.environ:
             upload_env['MOZ_SIGN_CMD'] = subprocess.list2cmdline(self.query_moz_sign_cmd())
-        if self.query_is_release():
-            upload_env['MOZ_PKG_VERSION'] = '%(version)s' % replace_dict
         self.upload_env = upload_env
         return self.upload_env
 
     def _query_make_ident_output(self):
         """Get |make ident| output from the objdir.
         Only valid after setup is run.
         """
         if self.make_ident_output:
@@ -460,79 +430,16 @@ class MobileSingleLocale(MockMixin, Loca
             if status:
                 self.add_failure(locale, message="Errors verifying %s binary!" % locale)
                 # No need to rm because upload is per-locale
                 continue
             success_count += 1
         self.summarize_success_count(success_count, total_count,
                                      message="Repacked %d of %d binaries successfully.")
 
-    def taskcluster_upload(self):
-        auth = os.path.join(os.getcwd(), self.config['taskcluster_credentials_file'])
-        credentials = {}
-        execfile(auth, credentials)
-        client_id = credentials.get('taskcluster_clientId')
-        access_token = credentials.get('taskcluster_accessToken')
-        if not client_id or not access_token:
-            self.warning('Skipping S3 file upload: No taskcluster credentials.')
-            return
-
-        self.activate_virtualenv()
-
-        dirs = self.query_abs_dirs()
-        locales = self.query_locales()
-        make = self.query_exe("make")
-        upload_env = self.query_upload_env()
-        cwd = dirs['abs_locales_dir']
-        branch = self.config['branch']
-        revision = self.query_revision()
-        repo = self.query_repo()
-        pushinfo = self.vcs_query_pushinfo(repo, revision, vcs='hgtool')
-        routes_json = os.path.join(self.query_abs_dirs()['abs_mozilla_dir'],
-                                   'testing/taskcluster/routes.json')
-        with open(routes_json) as f:
-            contents = json.load(f)
-            templates = contents['l10n']
-
-        for locale in locales:
-            output = self.get_output_from_command_m(
-                "%s echo-variable-UPLOAD_FILES AB_CD=%s" % (make, locale),
-                cwd=cwd,
-                env=upload_env,
-            )
-            files = shlex.split(output)
-            abs_files = [os.path.abspath(os.path.join(cwd, f)) for f in files]
-
-            routes = []
-            fmt = {
-                'index': self.config.get('taskcluster_index', 'index.garbage.staging'),
-                'project': branch,
-                'head_rev': revision,
-                'build_product': self.config['stage_product'],
-                'build_name': self.query_build_name(),
-                'build_type': self.query_build_type(),
-                'locale': locale,
-            }
-            for template in templates:
-                routes.append(template.format(**fmt))
-
-            self.info('Using routes: %s' % routes)
-            tc = Taskcluster(branch,
-                             pushinfo.pushdate, # Use pushdate as the rank
-                             client_id,
-                             access_token,
-                             self.log_obj,
-                             )
-            task = tc.create_task(routes)
-            tc.claim_task(task)
-
-            for upload_file in abs_files:
-                tc.create_artifact(task, upload_file)
-            tc.report_completed(task)
-
     def upload_repacks(self):
         c = self.config
         dirs = self.query_abs_dirs()
         locales = self.query_locales()
         make = self.query_exe("make")
         base_package_name = self.query_base_package_name()
         version = self.query_version()
         upload_env = self.query_upload_env()