--- 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: