Bug 1285608 - Part 1: Add Android moz.build and Gradle artifact build configs. r=maja_zf draft
authorNick Alexander <nalexander@mozilla.com>
Tue, 29 Nov 2016 20:10:31 -0800
changeset 445754 df6670faf970017c5a54e49392fce0c4f1f166a9
parent 445465 8d8846f63b74eb930e48b410730ae088e9bdbee8
child 445755 626639dc8674d477259e2e03aa90e50990ebe64b
push id37600
push usernalexander@mozilla.com
push dateWed, 30 Nov 2016 06:34:39 +0000
reviewersmaja_zf
bugs1285608
milestone53.0a1
Bug 1285608 - Part 1: Add Android moz.build and Gradle artifact build configs. r=maja_zf MozReview-Commit-ID: AXh5ueeUs38
mobile/android/config/mozconfigs/android-api-15-gradle/nightly
mobile/android/config/mozconfigs/android-api-15-gradle/nightly-artifact
mobile/android/config/mozconfigs/android-api-15/debug-artifact
mobile/android/config/mozconfigs/android-api-15/nightly-artifact
mobile/android/config/mozconfigs/android-x86/nightly-artifact
testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_artifact.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_debug.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_debug_artifact.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_artifact.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_x86.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_artifact.py
testing/mozharness/mozharness/mozilla/building/buildbase.py
--- a/mobile/android/config/mozconfigs/android-api-15-gradle/nightly
+++ b/mobile/android/config/mozconfigs/android-api-15-gradle/nightly
@@ -1,23 +1,8 @@
 . "$topsrcdir/mobile/android/config/mozconfigs/common"
 
-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
+. "$topsrcdir/mobile/android/config/mozconfigs/android-api-15/nightly"
 
 ac_add_options --with-gradle="$topsrcdir/gradle-dist/bin/gradle"
 export GRADLE_MAVEN_REPOSITORY="file://$topsrcdir/jcentral"
 
-# From here on, just like ../android-api-15/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
-
 . "$topsrcdir/mobile/android/config/mozconfigs/common.override"
copy from mobile/android/config/mozconfigs/android-api-15-gradle/nightly
copy to mobile/android/config/mozconfigs/android-api-15-gradle/nightly-artifact
--- a/mobile/android/config/mozconfigs/android-api-15-gradle/nightly
+++ b/mobile/android/config/mozconfigs/android-api-15-gradle/nightly-artifact
@@ -1,23 +1,18 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+NO_CACHE=1
+NO_NDK=1
+
 . "$topsrcdir/mobile/android/config/mozconfigs/common"
 
-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
+. "$topsrcdir/mobile/android/config/mozconfigs/android-api-15-gradle/nightly"
 
-ac_add_options --with-gradle="$topsrcdir/gradle-dist/bin/gradle"
-export GRADLE_MAVEN_REPOSITORY="file://$topsrcdir/jcentral"
-
-# From here on, just like ../android-api-15/nightly.
+unset CC
+unset CXX
+unset HOST_CC
+unset HOST_CXX
 
-# 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
+ac_add_options --enable-artifact-builds
 
 . "$topsrcdir/mobile/android/config/mozconfigs/common.override"
new file mode 100644
--- /dev/null
+++ b/mobile/android/config/mozconfigs/android-api-15/debug-artifact
@@ -0,0 +1,22 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+NO_CACHE=1
+NO_NDK=1
+
+. "$topsrcdir/mobile/android/config/mozconfigs/common"
+
+# Global options
+ac_add_options --enable-debug
+ENABLE_MARIONETTE=1
+
+. "$topsrcdir/mobile/android/config/mozconfigs/android-api-15/nightly"
+
+unset CC
+unset CXX
+unset HOST_CC
+unset HOST_CXX
+
+ac_add_options --enable-artifact-builds
+
+. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
copy from mobile/android/config/mozconfigs/android-api-15-gradle/nightly
copy to mobile/android/config/mozconfigs/android-api-15/nightly-artifact
--- a/mobile/android/config/mozconfigs/android-api-15-gradle/nightly
+++ b/mobile/android/config/mozconfigs/android-api-15/nightly-artifact
@@ -1,23 +1,18 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+NO_CACHE=1
+NO_NDK=1
+
 . "$topsrcdir/mobile/android/config/mozconfigs/common"
 
-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
+. "$topsrcdir/mobile/android/config/mozconfigs/android-api-15/nightly"
 
-ac_add_options --with-gradle="$topsrcdir/gradle-dist/bin/gradle"
-export GRADLE_MAVEN_REPOSITORY="file://$topsrcdir/jcentral"
-
-# From here on, just like ../android-api-15/nightly.
+unset CC
+unset CXX
+unset HOST_CC
+unset HOST_CXX
 
-# 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
+ac_add_options --enable-artifact-builds
 
 . "$topsrcdir/mobile/android/config/mozconfigs/common.override"
new file mode 100644
--- /dev/null
+++ b/mobile/android/config/mozconfigs/android-x86/nightly-artifact
@@ -0,0 +1,18 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+NO_CACHE=1
+NO_NDK=1
+
+. "$topsrcdir/mobile/android/config/mozconfigs/common"
+
+. "$topsrcdir/mobile/android/config/mozconfigs/android-x86/nightly"
+
+unset CC
+unset CXX
+unset HOST_CC
+unset HOST_CXX
+
+ac_add_options --enable-artifact-builds
+
+. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
copy from testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15.py
copy to testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_artifact.py
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_artifact.py
@@ -1,8 +1,8 @@
 config = {
-    'base_name': 'Android armv7 API 15+ %(branch)s',
+    'base_name': 'Android armv7 API 15+ %(branch)s Artifact build',
     'stage_platform': 'android-api-15',
-    'build_type': 'api-15-opt',
-    'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15/nightly',
+    'build_type': 'api-15-opt-artifact',
+    'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15/nightly-artifact',
     'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android/releng.manifest',
     'multi_locale_config_platform': 'android',
 }
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_debug.py
@@ -1,9 +1,10 @@
 config = {
     'base_name': 'Android armv7 API 15+ %(branch)s debug',
     'stage_platform': 'android-api-15-debug',
     'build_type': 'api-15-debug',
     'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15/debug',
     'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android/releng.manifest',
     'multi_locale_config_platform': 'android',
     'debug_build': True,
+    'artifact_flag_build_variant_in_try': 'api-15-debug-artifact',
 }
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_debug_artifact.py
@@ -0,0 +1,9 @@
+config = {
+    'base_name': 'Android armv7 API 15+ %(branch)s debug Artifact build',
+    'stage_platform': 'android-api-15-debug',
+    'build_type': 'api-15-debug-artifact',
+    'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15/debug-artifact',
+    'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android/releng.manifest',
+    'multi_locale_config_platform': 'android',
+    'debug_build': True,
+}
copy from testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle.py
copy to testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_artifact.py
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_artifact.py
@@ -1,13 +1,13 @@
 config = {
-    'base_name': 'Android armv7 API 15+ %(branch)s Gradle',
+    'base_name': 'Android armv7 API 15+ %(branch)s Gradle Artifact build',
     'stage_platform': 'android-api-15-gradle',
-    'build_type': 'api-15-gradle',
-    'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15-gradle/nightly',
+    'build_type': 'api-15-gradle-artifact',
+    'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15-gradle/nightly-artifact',
     'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android/releng.manifest',
     'multi_locale_config_platform': 'android',
     # It's not obvious, but postflight_build is after packaging, so the Gecko
     # binaries are in the object directory, ready to be packaged into the
     # GeckoView AAR.
     'postflight_build_mach_commands': [
         ['gradle',
          'geckoview:assembleWithGeckoBinaries',
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86.py
@@ -1,8 +1,9 @@
 config = {
-    'base_name': 'Android 4.2 x86 %(branch)s',
+    'base_name': 'Android 4.2 x86 %(branch)s build',
     'stage_platform': 'android-x86',
     'publish_nightly_en_US_routes': False,
     'build_type': 'x86-opt',
     'src_mozconfig': 'mobile/android/config/mozconfigs/android-x86/nightly',
     'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android-x86/releng.manifest',
+    'artifact_flag_build_variant_in_try': 'x86-artifact',
 }
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_artifact.py
@@ -0,0 +1,8 @@
+config = {
+    'base_name': 'Android 4.2 x86 %(branch)s Artifact build',
+    'stage_platform': 'android-x86',
+    'publish_nightly_en_US_routes': False,
+    'build_type': 'x86-opt',
+    'src_mozconfig': 'mobile/android/config/mozconfigs/android-x86/nightly-artifact',
+    'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android-x86/releng.manifest',
+}
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -355,19 +355,23 @@ class BuildOptionParser(object):
         'asan-tc-and-debug': 'builds/releng_sub_%s_configs/%s_asan_tc_and_debug.py',
         'stat-and-debug': 'builds/releng_sub_%s_configs/%s_stat_and_debug.py',
         'code-coverage': 'builds/releng_sub_%s_configs/%s_code_coverage.py',
         'source': 'builds/releng_sub_%s_configs/%s_source.py',
         'stylo': 'builds/releng_sub_%s_configs/%s_stylo.py',
         'stylo-debug': 'builds/releng_sub_%s_configs/%s_stylo_debug.py',
         'api-15-gradle-dependencies': 'builds/releng_sub_%s_configs/%s_api_15_gradle_dependencies.py',
         'api-15': 'builds/releng_sub_%s_configs/%s_api_15.py',
+        'api-15-artifact': 'builds/releng_sub_%s_configs/%s_api_15_artifact.py',
         'api-15-debug': 'builds/releng_sub_%s_configs/%s_api_15_debug.py',
+        'api-15-debug-artifact': 'builds/releng_sub_%s_configs/%s_api_15_debug_artifact.py',
         'api-15-gradle': 'builds/releng_sub_%s_configs/%s_api_15_gradle.py',
+        'api-15-gradle-artifact': 'builds/releng_sub_%s_configs/%s_api_15_gradle_artifact.py',
         'x86': 'builds/releng_sub_%s_configs/%s_x86.py',
+        'x86-artifact': 'builds/releng_sub_%s_configs/%s_x86_artifact.py',
         'api-15-partner-sample1': 'builds/releng_sub_%s_configs/%s_api_15_partner_sample1.py',
         'android-test': 'builds/releng_sub_%s_configs/%s_test.py',
         'android-checkstyle': 'builds/releng_sub_%s_configs/%s_checkstyle.py',
         'android-lint': 'builds/releng_sub_%s_configs/%s_lint.py',
         'android-findbugs': 'builds/releng_sub_%s_configs/%s_findbugs.py',
         'valgrind' : 'builds/releng_sub_%s_configs/%s_valgrind.py',
         'artifact': 'builds/releng_sub_%s_configs/%s_artifact.py',
         'debug-artifact': 'builds/releng_sub_%s_configs/%s_debug_artifact.py',