Bug 1247375 - Part 1: Add Taskcluster job building Fennec with --disable-compile-environment. r=dustin
MozReview-Commit-ID: 4FDevhlYnUC
new file mode 100644
--- /dev/null
+++ b/mobile/android/config/mozconfigs/android-api-15-frontend/nightly
@@ -0,0 +1,36 @@
+# Many things aren't appropriate for a frontend-only build.
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_INSTALLER=0
+MOZ_AUTOMATION_L10N_CHECK=0
+MOZ_AUTOMATION_PACKAGE=0
+MOZ_AUTOMATION_PACKAGE_TESTS=0
+MOZ_AUTOMATION_SDK=0
+MOZ_AUTOMATION_UPDATE_PACKAGING=0
+MOZ_AUTOMATION_UPLOAD=0
+MOZ_AUTOMATION_UPLOAD_SYMBOLS=0
+
+. "$topsrcdir/mobile/android/config/mozconfigs/common"
+
+ac_add_options --disable-compile-environment
+ac_add_options --disable-tests
+
+# From here on, like ../android-api-15/nightly.
+
+ac_add_options --enable-profiling
+
+# Android
+ac_add_options --with-android-min-sdk=15
+ac_add_options --target=arm-linux-androideabi
+
+ac_add_options --with-branding=mobile/android/branding/nightly
+
+# This will overwrite the default of stripping everything and keep the symbol table.
+# This is useful for profiling with eideticker. See bug 788680
+STRIP_FLAGS="--strip-debug"
+
+export MOZILLA_OFFICIAL=1
+export MOZ_TELEMETRY_REPORTING=1
+
+MOZ_ANDROID_GECKOLIBS_AAR=1
+
+. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
new file mode 100644
--- /dev/null
+++ b/mobile/android/config/tooltool-manifests/android-frontend/releng.manifest
@@ -0,0 +1,26 @@
+[
+{
+"size": 535625068,
+"visibility": "internal",
+"digest": "0627515046a23c1d109e2782865b1b3b546c1d552955e4156317f76cbb195eb630aa25feea3f4edd1c685f129da0c2a5169d4d6349c1c31d8a95158a4569a478",
+"algorithm": "sha512",
+"filename": "android-sdk-linux.tar.xz",
+"unpack": true
+},
+{
+"size": 167175,
+"visibility": "public",
+"digest": "0b71a936edf5bd70cf274aaa5d7abc8f77fe8e7b5593a208f805cc9436fac646b9c4f0b43c2b10de63ff3da671497d35536077ecbc72dba7f8159a38b580f831",
+"algorithm": "sha512",
+"filename": "sccache.tar.bz2",
+"unpack": true
+},
+{
+"size": 31013068,
+"visibility": "public",
+"digest": "e30a26f98a3448064857491aee1a7a26f98494f86a89113de9be17c37c8181ed60250706fed881ec1f035002fcdaf8b9b4a7d9ae70ce40acff2f1acfbb40f8d9",
+"algorithm": "sha512",
+"filename": "java_home-1.7.0-openjdk-1.7.0.85.x86_64.tar.xz",
+"unpack": true
+}
+]
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_frontend.py
@@ -0,0 +1,8 @@
+config = {
+ 'base_name': 'Android armv7 API 15+ frontend %(branch)s',
+ 'stage_platform': 'android-api-15-frontend',
+ 'build_type': 'api-15-opt',
+ 'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15-frontend/nightly',
+ 'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android-frontend/releng.manifest',
+ 'multi_locale_config_platform': 'android',
+}
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -352,16 +352,17 @@ class BuildOptionParser(object):
'stat-and-debug': 'builds/releng_sub_%s_configs/%s_stat_and_debug.py',
'mulet': 'builds/releng_sub_%s_configs/%s_mulet.py',
'code-coverage': 'builds/releng_sub_%s_configs/%s_code_coverage.py',
'graphene': 'builds/releng_sub_%s_configs/%s_graphene.py',
'horizon': 'builds/releng_sub_%s_configs/%s_horizon.py',
'source': 'builds/releng_sub_%s_configs/%s_source.py',
'api-9': 'builds/releng_sub_%s_configs/%s_api_9.py',
'api-11': 'builds/releng_sub_%s_configs/%s_api_11.py',
+ 'api-15-frontend': 'builds/releng_sub_%s_configs/%s_api_15_frontend.py',
'api-15': 'builds/releng_sub_%s_configs/%s_api_15.py',
'api-9-debug': 'builds/releng_sub_%s_configs/%s_api_9_debug.py',
'api-11-debug': 'builds/releng_sub_%s_configs/%s_api_11_debug.py',
'api-15-debug': 'builds/releng_sub_%s_configs/%s_api_15_debug.py',
'x86': 'builds/releng_sub_%s_configs/%s_x86.py',
'api-11-partner-sample1': 'builds/releng_sub_%s_configs/%s_api_11_partner_sample1.py',
'api-15-partner-sample1': 'builds/releng_sub_%s_configs/%s_api_15_partner_sample1.py',
'api-11-b2gdroid': 'builds/releng_sub_%s_configs/%s_api_11_b2gdroid.py',
--- a/testing/taskcluster/tasks/branches/base_job_flags.yml
+++ b/testing/taskcluster/tasks/branches/base_job_flags.yml
@@ -94,16 +94,17 @@ flags:
- dolphin-512
- dolphin-512-eng
- aries
- aries-ota
- aries-eng
- aries-dogfood
- aries-noril
- android-api-15
+ - android-api-15-frontend
- android-partner-sample1
- android-b2gdroid
- linux
- linux64
- linux64-st-an
- macosx64
- macosx64-st-an
- eslint-gecko
--- a/testing/taskcluster/tasks/branches/base_jobs.yml
+++ b/testing/taskcluster/tasks/branches/base_jobs.yml
@@ -157,16 +157,22 @@ builds:
debug:
task: tasks/builds/dbg_macosx64.yml
macosx64-st-an:
platforms:
- MacOSX64 Static Analysis
types:
opt:
task: tasks/builds/opt_macosx64_st-an.yml
+ android-api-15-frontend:
+ platforms:
+ - Android
+ types:
+ opt:
+ task: tasks/builds/android_api_15_frontend.yml
android-b2gdroid:
platforms:
- Android
types:
opt:
task: tasks/builds/android_api_15_b2gdroid.yml
eslint-gecko:
platforms:
new file mode 100644
--- /dev/null
+++ b/testing/taskcluster/tasks/builds/android_api_15_frontend.yml
@@ -0,0 +1,60 @@
+$inherits:
+ from: 'tasks/builds/mobile_base.yml'
+ variables:
+ build_name: 'android-api-15-frontend'
+ build_type: 'opt'
+task:
+ metadata:
+ name: '[TC] Android armv7 API 15+ frontend'
+ description: 'Android armv7 API 15+ frontend'
+
+ workerType: android-api-15
+
+ routes:
+ - 'index.buildbot.branches.{{project}}.android-api-15-frontend'
+ - 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-api-15-frontend'
+
+ scopes:
+ - 'docker-worker:cache:level-{{level}}-{{project}}-build-android-api-15-frontend-workspace'
+ - 'docker-worker:cache:tooltool-cache'
+ - 'docker-worker:relengapi-proxy:tooltool.download.internal'
+ - 'docker-worker:relengapi-proxy:tooltool.download.public'
+
+ payload:
+ cache:
+ level-{{level}}-{{project}}-build-android-api-15-frontend-workspace: '/home/worker/workspace'
+ tooltool-cache: '/home/worker/tooltool-cache'
+
+ features:
+ relengAPIProxy: true
+
+ env:
+ # inputs to mozharness
+ MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
+ # TODO: make these additional configuration files go away
+ MOZHARNESS_CONFIG: >
+ builds/releng_base_android_64_builds.py
+ disable_signing.py
+ platform_supports_post_upload_to_latest.py
+ MH_CUSTOM_BUILD_VARIANT_CFG: api-15-frontend
+ MH_BRANCH: {{project}}
+ MH_BUILD_POOL: taskcluster
+
+ maxRunTime: 36000
+
+ command: ["/bin/bash", "bin/build.sh"]
+
+ extra:
+ treeherderEnv:
+ - production
+ - staging
+ treeherder:
+ machine:
+ # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
+ platform: android-4-0-armv7-api15-frontend
+ # Rather then enforcing particular conventions we require that all build
+ # tasks provide the "build" extra field to specify where the build and tests
+ # files are located.
+ locations:
+ build: 'public/build/target.linux-x86_64.tar.bz2'
+ tests: 'public/build/target.tests.zip'