From 62e367cb902f32d169122165bb567584755e2109 Mon Sep 17 00:00:00 2001 From: wuggy Date: Wed, 8 Apr 2026 15:27:04 -0700 Subject: [PATCH] Revert "Issue #1053 - Part 1c: Remove references to mobile/android targets and paths" This reverts commit b21588597c23bf56ba4877a3b090b82cb6bbcb2f. --- .eslintignore | 22 + .gitignore | 3 + accessible/jsat/AccessFu.jsm | 31 +- accessible/jsat/Gestures.jsm | 4 +- accessible/jsat/Presentation.jsm | 1 + accessible/jsat/Utils.jsm | 4 +- dom/base/ScreenOrientation.h | 2 + modules/libpref/goanna.js | 13 + settings.gradle | 56 ++- testing/instrumentation/Makefile.in | 13 + testing/mochitest/Makefile.in | 16 + .../mochitest/mach_test_package_commands.py | 21 + .../mozharness/configs/android/androidarm.py | 459 ++++++++++++++++++ .../configs/android/androidarm_4_3-tc.py | 10 + .../configs/android/androidarm_4_3.py | 383 +++++++++++++++ .../configs/android/androidarm_dev.py | 9 + .../configs/android/androidx86-tc.py | 73 +++ .../mozharness/configs/android/androidx86.py | 182 +++++++ .../builds/releng_base_android_64_builds.py | 111 +++++ .../releng_sub_android_configs/64_api_15.py | 8 + .../64_api_15_debug.py | 9 + .../64_api_15_gradle.py | 18 + .../64_api_15_gradle_dependencies.py | 21 + .../64_api_15_partner_sample1.py | 9 + .../64_checkstyle.py | 11 + .../releng_sub_android_configs/64_lint.py | 11 + .../releng_sub_android_configs/64_test.py | 11 + .../releng_sub_android_configs/64_x86.py | 8 + .../configs/merge_day/aurora_to_beta.py | 83 ++++ .../configs/merge_day/beta_to_release.py | 53 ++ .../mozharness/configs/merge_day/bump_esr.py | 24 + .../configs/merge_day/central_to_aurora.py | 100 ++++ .../configs/merge_day/release_to_esr.py | 54 +++ .../merge_day/staging_beta_migration.py | 22 + .../android-mozharness-build.json | 5 + .../configs/multi_locale/ash_android-x86.json | 28 ++ .../configs/multi_locale/ash_android.json | 27 ++ .../configs/multi_locale/b2g_linux32.py | 2 + .../configs/multi_locale/b2g_linux64.py | 2 + .../configs/multi_locale/b2g_macosx64.py | 2 + .../configs/multi_locale/b2g_win32.py | 8 + .../mozilla-aurora_android-armv6.json | 28 ++ .../mozilla-aurora_android-x86.json | 28 ++ .../multi_locale/mozilla-aurora_android.json | 27 ++ .../mozilla-beta_android-armv6.json | 28 ++ .../mozilla-beta_android-x86.json | 28 ++ .../multi_locale/mozilla-beta_android.json | 27 ++ .../mozilla-central_android-armv6.json | 28 ++ .../mozilla-central_android-x86.json | 28 ++ .../multi_locale/mozilla-central_android.json | 27 ++ .../mozilla-release_android-armv6.json | 28 ++ .../mozilla-release_android-x86.json | 28 ++ .../multi_locale/mozilla-release_android.json | 27 ++ .../release_mozilla-beta_android-armv6.json | 34 ++ .../release_mozilla-beta_android-x86.json | 34 ++ .../release_mozilla-beta_android.json | 33 ++ ...release_mozilla-release_android-armv6.json | 34 ++ .../release_mozilla-release_android-x86.json | 34 ++ .../release_mozilla-release_android.json | 33 ++ ...ng_release_mozilla-beta_android-armv6.json | 34 ++ ...ging_release_mozilla-beta_android-x86.json | 34 ++ .../staging_release_mozilla-beta_android.json | 33 ++ ...release_mozilla-release_android-armv6.json | 34 ++ ...g_release_mozilla-release_android-x86.json | 34 ++ ...aging_release_mozilla-release_android.json | 33 ++ .../standalone_mozilla-central.py | 49 ++ .../release_mozilla-release_android.py | 47 ++ ...staging_release_mozilla-release_android.py | 52 ++ .../configs/releases/bouncer_fennec.py | 22 + testing/mozharness/configs/servo/mac.py | 3 + .../single_locale/ash_android-api-15.py | 97 ++++ .../mozilla-aurora_android-api-15.py | 97 ++++ .../mozilla-central_android-api-15.py | 97 ++++ .../release_mozilla-beta_android_api_15.py | 97 ++++ .../release_mozilla-release_android_api_15.py | 97 ++++ ...ing_release_mozilla-beta_android_api_15.py | 97 ++++ ..._release_mozilla-release_android_api_15.py | 97 ++++ .../single_locale/tc_android-api-15.py | 18 + .../single_locale/try_android-api-15.py | 97 ++++ testing/testsuite-targets.mk | 21 + 80 files changed, 3645 insertions(+), 8 deletions(-) create mode 100644 testing/mozharness/configs/android/androidarm.py create mode 100644 testing/mozharness/configs/android/androidarm_4_3-tc.py create mode 100644 testing/mozharness/configs/android/androidarm_4_3.py create mode 100644 testing/mozharness/configs/android/androidarm_dev.py create mode 100644 testing/mozharness/configs/android/androidx86-tc.py create mode 100644 testing/mozharness/configs/android/androidx86.py create mode 100644 testing/mozharness/configs/builds/releng_base_android_64_builds.py create mode 100644 testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15.py create mode 100644 testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_debug.py create mode 100644 testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle.py create mode 100644 testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_dependencies.py create mode 100644 testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_partner_sample1.py create mode 100644 testing/mozharness/configs/builds/releng_sub_android_configs/64_checkstyle.py create mode 100644 testing/mozharness/configs/builds/releng_sub_android_configs/64_lint.py create mode 100644 testing/mozharness/configs/builds/releng_sub_android_configs/64_test.py create mode 100644 testing/mozharness/configs/builds/releng_sub_android_configs/64_x86.py create mode 100644 testing/mozharness/configs/merge_day/aurora_to_beta.py create mode 100644 testing/mozharness/configs/merge_day/beta_to_release.py create mode 100644 testing/mozharness/configs/merge_day/bump_esr.py create mode 100644 testing/mozharness/configs/merge_day/central_to_aurora.py create mode 100644 testing/mozharness/configs/merge_day/release_to_esr.py create mode 100644 testing/mozharness/configs/merge_day/staging_beta_migration.py create mode 100644 testing/mozharness/configs/multi_locale/android-mozharness-build.json create mode 100644 testing/mozharness/configs/multi_locale/ash_android-x86.json create mode 100644 testing/mozharness/configs/multi_locale/ash_android.json create mode 100644 testing/mozharness/configs/multi_locale/b2g_linux32.py create mode 100644 testing/mozharness/configs/multi_locale/b2g_linux64.py create mode 100644 testing/mozharness/configs/multi_locale/b2g_macosx64.py create mode 100644 testing/mozharness/configs/multi_locale/b2g_win32.py create mode 100644 testing/mozharness/configs/multi_locale/mozilla-aurora_android-armv6.json create mode 100644 testing/mozharness/configs/multi_locale/mozilla-aurora_android-x86.json create mode 100644 testing/mozharness/configs/multi_locale/mozilla-aurora_android.json create mode 100644 testing/mozharness/configs/multi_locale/mozilla-beta_android-armv6.json create mode 100644 testing/mozharness/configs/multi_locale/mozilla-beta_android-x86.json create mode 100644 testing/mozharness/configs/multi_locale/mozilla-beta_android.json create mode 100644 testing/mozharness/configs/multi_locale/mozilla-central_android-armv6.json create mode 100644 testing/mozharness/configs/multi_locale/mozilla-central_android-x86.json create mode 100644 testing/mozharness/configs/multi_locale/mozilla-central_android.json create mode 100644 testing/mozharness/configs/multi_locale/mozilla-release_android-armv6.json create mode 100644 testing/mozharness/configs/multi_locale/mozilla-release_android-x86.json create mode 100644 testing/mozharness/configs/multi_locale/mozilla-release_android.json create mode 100644 testing/mozharness/configs/multi_locale/release_mozilla-beta_android-armv6.json create mode 100644 testing/mozharness/configs/multi_locale/release_mozilla-beta_android-x86.json create mode 100644 testing/mozharness/configs/multi_locale/release_mozilla-beta_android.json create mode 100644 testing/mozharness/configs/multi_locale/release_mozilla-release_android-armv6.json create mode 100644 testing/mozharness/configs/multi_locale/release_mozilla-release_android-x86.json create mode 100644 testing/mozharness/configs/multi_locale/release_mozilla-release_android.json create mode 100644 testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android-armv6.json create mode 100644 testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android-x86.json create mode 100644 testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android.json create mode 100644 testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android-armv6.json create mode 100644 testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android-x86.json create mode 100644 testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android.json create mode 100644 testing/mozharness/configs/multi_locale/standalone_mozilla-central.py create mode 100644 testing/mozharness/configs/partner_repacks/release_mozilla-release_android.py create mode 100644 testing/mozharness/configs/partner_repacks/staging_release_mozilla-release_android.py create mode 100644 testing/mozharness/configs/releases/bouncer_fennec.py create mode 100644 testing/mozharness/configs/servo/mac.py create mode 100644 testing/mozharness/configs/single_locale/ash_android-api-15.py create mode 100644 testing/mozharness/configs/single_locale/mozilla-aurora_android-api-15.py create mode 100644 testing/mozharness/configs/single_locale/mozilla-central_android-api-15.py create mode 100644 testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_15.py create mode 100644 testing/mozharness/configs/single_locale/release_mozilla-release_android_api_15.py create mode 100644 testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_15.py create mode 100644 testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_15.py create mode 100644 testing/mozharness/configs/single_locale/tc_android-api-15.py create mode 100644 testing/mozharness/configs/single_locale/try_android-api-15.py diff --git a/.eslintignore b/.eslintignore index d823893422..6abbfe5292 100644 --- a/.eslintignore +++ b/.eslintignore @@ -187,6 +187,28 @@ devtools/client/framework/test/code_ugly* devtools/server/tests/unit/babel_and_browserify_script_with_source_map.js devtools/server/tests/unit/setBreakpoint* +# mobile/android/ exclusions +mobile/android/tests/ + +# Uses `#filter substitution` +mobile/android/b2gdroid/app/b2gdroid.js +mobile/android/app/mobile.js +mobile/android/chrome/content/healthreport-prefs.js + +# Uses `#expand` +mobile/android/chrome/content/about.js + +# Not much JS to lint and non-standard at that +mobile/android/installer/ +mobile/android/locales/ + +# Non-standard `(catch ex if ...)` +mobile/android/chrome/content/browser.js +mobile/android/components/Snippets.js + +# Bug 1178739: Ignore this file as a quick fix for "Illegal yield expression" +mobile/android/modules/HomeProvider.jsm + # services/ exclusions # Uses `#filter substitution` diff --git a/.gitignore b/.gitignore index c82dadbfc7..e686a53fd3 100644 --- a/.gitignore +++ b/.gitignore @@ -95,6 +95,9 @@ GPATH # Git clone directory for updating web-platform-tests testing/web-platform/sync/ +# Android Gradle artifacts. +mobile/android/gradle/.gradle + # XCode project cruft embedding/ios/GoannaEmbed/GoannaEmbed.xcodeproj/project.xcworkspace/xcuserdata embedding/ios/GoannaEmbed/GoannaEmbed.xcodeproj/xcuserdata diff --git a/accessible/jsat/AccessFu.jsm b/accessible/jsat/AccessFu.jsm index e0d8ecb493..f78b870c83 100644 --- a/accessible/jsat/AccessFu.jsm +++ b/accessible/jsat/AccessFu.jsm @@ -64,7 +64,9 @@ this.AccessFu = { // jshint ignore:line if (this._enabled) { this._disable(); } - if (Utils.win.navigator.mozSettings) { + if (Utils.MozBuildApp === 'mobile/android') { + Services.obs.removeObserver(this, 'Accessibility:Settings'); + } else if (Utils.win.navigator.mozSettings) { Utils.win.navigator.mozSettings.removeObserver( SCREENREADER_SETTING, this.handleEvent); } @@ -583,7 +585,11 @@ var Output = { get androidBridge() { delete this.androidBridge; - this.androidBridge = null; + if (Utils.MozBuildApp === 'mobile/android') { + this.androidBridge = Services.androidBridge; + } else { + this.androidBridge = null; + } return this.androidBridge; }, @@ -809,6 +815,12 @@ var Input = { target.blur(); } } + + if (Utils.MozBuildApp == 'mobile/android') { + // Return focus to native Android browser chrome. + Services.androidBridge.handleGeckoMessage( + { type: 'ToggleChrome:Focus' }); + } break; case aEvent.DOM_VK_RETURN: if (this.editState.editing) { @@ -825,9 +837,18 @@ var Input = { }, moveToPoint: function moveToPoint(aRule, aX, aY) { - let win = Utils.win; - Utils.winUtils.sendMouseEvent('mousemove', - aX - win.mozInnerScreenX, aY - win.mozInnerScreenY, 0, 0, 0); + // XXX: Bug 1013408 - There is no alignment between the chrome window's + // viewport size and the content viewport size in Android. This makes + // sending mouse events beyond its bounds impossible. + if (Utils.MozBuildApp === 'mobile/android') { + let mm = Utils.getMessageManager(Utils.CurrentBrowser); + mm.sendAsyncMessage('AccessFu:MoveToPoint', + {rule: aRule, x: aX, y: aY, origin: 'top'}); + } else { + let win = Utils.win; + Utils.winUtils.sendMouseEvent('mousemove', + aX - win.mozInnerScreenX, aY - win.mozInnerScreenY, 0, 0, 0); + } }, moveCursor: function moveCursor(aAction, aRule, aInputType, aAdjustRange) { diff --git a/accessible/jsat/Gestures.jsm b/accessible/jsat/Gestures.jsm index dd21f040f6..cc431614c7 100644 --- a/accessible/jsat/Gestures.jsm +++ b/accessible/jsat/Gestures.jsm @@ -76,6 +76,8 @@ const EDGE = 0.1; const TIMEOUT_MULTIPLIER = 1; // A single pointer down/up sequence periodically precedes the tripple swipe // gesture on Android. This delay acounts for that. +const IS_ANDROID = Utils.MozBuildApp === 'mobile/android' && + Utils.AndroidSdkVersion >= 14; /** * A point object containing distance travelled data. @@ -204,7 +206,7 @@ this.GestureTracker = { // jshint ignore:line if (aDetail.type !== 'pointerdown') { return; } - let GestureConstructor = aGesture || Tap; + let GestureConstructor = aGesture || (IS_ANDROID ? DoubleTap : Tap); this._create(GestureConstructor); this._update(aDetail, aTimeStamp); }, diff --git a/accessible/jsat/Presentation.jsm b/accessible/jsat/Presentation.jsm index bd1ef96ca5..6912d0ea58 100644 --- a/accessible/jsat/Presentation.jsm +++ b/accessible/jsat/Presentation.jsm @@ -680,6 +680,7 @@ this.Presentation = { // jshint ignore:line get presenters() { delete this.presenters; let presenterMap = { + 'mobile/android': [VisualPresenter, AndroidPresenter], 'b2g': [VisualPresenter, B2GPresenter], 'browser': [VisualPresenter, B2GPresenter, AndroidPresenter] }; diff --git a/accessible/jsat/Utils.jsm b/accessible/jsat/Utils.jsm index 64a4150583..4e478cab0d 100644 --- a/accessible/jsat/Utils.jsm +++ b/accessible/jsat/Utils.jsm @@ -33,7 +33,9 @@ this.Utils = { // jshint ignore:line _buildAppMap: { '{3c2e2abc-06d4-11e1-ac3b-374f68613e61}': 'b2g', '{d1bfe7d9-c01e-4237-998b-7b5f960a4314}': 'graphene', - '{ec8030f7-c20a-464f-9b0e-13a3a9e97384}': 'browser' + '{ec8030f7-c20a-464f-9b0e-13a3a9e97384}': 'browser', + '{aa3c5121-dab2-40e2-81ca-7ea25febc110}': 'mobile/android', + '{a23983c0-fd0e-11dc-95ff-0800200c9a66}': 'mobile/xul' }, init: function Utils_init(aWindow) { diff --git a/dom/base/ScreenOrientation.h b/dom/base/ScreenOrientation.h index c69ad69cbe..0604d87c66 100644 --- a/dom/base/ScreenOrientation.h +++ b/dom/base/ScreenOrientation.h @@ -16,6 +16,8 @@ namespace mozilla { namespace dom { class Promise; +// Make sure that any change to ScreenOrientationInternal values are +// also made in mobile/android/base/GeckoScreenOrientation.java typedef uint32_t ScreenOrientationInternal; static const ScreenOrientationInternal eScreenOrientation_None = 0; diff --git a/modules/libpref/goanna.js b/modules/libpref/goanna.js index a0685b7fb2..06fd94ed71 100644 --- a/modules/libpref/goanna.js +++ b/modules/libpref/goanna.js @@ -1,2 +1,15 @@ #include ../../netwerk/base/security-prefs.js #include init/all.js +<<<<<<< HEAD +======= +#ifdef MOZ_DATA_REPORTING +#include ../../toolkit/components/telemetry/datareporting-prefs.js +#endif +#ifdef MOZ_SERVICES_HEALTHREPORT +#if MOZ_WIDGET_TOOLKIT == android +#include ../../mobile/android/chrome/content/healthreport-prefs.js +#else +#include ../../toolkit/components/telemetry/healthreport-prefs.js +#endif +#endif +>>>>>>> parent of b21588597c (Issue #1053 - Part 1c: Remove references to mobile/android targets and paths) diff --git a/settings.gradle b/settings.gradle index 9d75e3242b..d581dcd417 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1,55 @@ -throw new GradleException("Building with Gradle is not supported.") +// You might think topsrcdir is '.', but that's not true when the Gradle build +// is launched from within IntelliJ. +def topsrcdir = rootProject.projectDir.absolutePath + +def commandLine = ["${topsrcdir}/mach", "environment", "--format", "json", "--verbose"] +def proc = commandLine.execute(null, new File(topsrcdir)) +def standardOutput = new ByteArrayOutputStream() +proc.consumeProcessOutput(standardOutput, standardOutput) +proc.waitFor() + +// Only show the output if something went wrong. +if (proc.exitValue() != 0) { + throw new GradleException("Process '${commandLine}' finished with non-zero exit value ${proc.exitValue()}:\n\n${standardOutput.toString()}") +} + +import groovy.json.JsonSlurper +def slurper = new JsonSlurper() +def json = slurper.parseText(standardOutput.toString()) + +if (json.substs.MOZ_BUILD_APP != 'mobile/android') { + throw new GradleException("Building with Gradle is only supported for Fennec, i.e., MOZ_BUILD_APP == 'mobile/android'.") +} + +// Set the Android SDK location. This is the *least specific* mechanism, which +// is unfortunate: we'd prefer to use the *most specific* mechanism. That is, +// local.properties (first 'sdk.dir', then 'android.dir') and then the +// environment variable ANDROID_HOME will override this. That's unfortunate, +// but it's hard to automatically arrange better. +System.setProperty('android.home', json.substs.ANDROID_SDK_ROOT) + +include ':app' +include ':geckoview' +include ':geckoview_example' +include ':omnijar' +include ':thirdparty' + +project(':app').projectDir = new File("${json.topsrcdir}/mobile/android/app") +project(':geckoview').projectDir = new File("${json.topsrcdir}/mobile/android/geckoview") +project(':geckoview_example').projectDir = new File("${json.topsrcdir}/mobile/android/geckoview_example") +project(':omnijar').projectDir = new File("${json.topsrcdir}/mobile/android/app/omnijar") +project(':thirdparty').projectDir = new File("${json.topsrcdir}/mobile/android/thirdparty") + +if (json.substs.MOZ_ANDROID_PACKAGE_INSTALL_BOUNCER) { + include ':bouncer' + project(':bouncer').projectDir = new File("${json.topsrcdir}/mobile/android/bouncer") +} + +// The Gradle instance is shared between settings.gradle and all the +// other build.gradle files (see +// http://forums.gradle.org/gradle/topics/define_extension_properties_from_settings_xml). +// We use this ext property to pass the per-object-directory mozconfig +// between scripts. This lets us execute set-up code before we gradle +// tries to configure the project even once, and as a side benefit +// saves invoking |mach environment| multiple times. +gradle.ext.mozconfig = json diff --git a/testing/instrumentation/Makefile.in b/testing/instrumentation/Makefile.in index 4f33e3dfd3..0ccb15a2c8 100644 --- a/testing/instrumentation/Makefile.in +++ b/testing/instrumentation/Makefile.in @@ -7,6 +7,19 @@ PKG_STAGE = $(DIST)/test-stage include $(topsrcdir)/config/rules.mk +# Fennec and all instrumentation tests need to be signed with the same +# key, which means release signing them all. + +include $(topsrcdir)/config/android-common.mk + stage-package: $(NSINSTALL) -D $(_DEST_DIR) +ifndef MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE + $(call RELEASE_SIGN_ANDROID_APK,\ + $(DEPTH)/mobile/android/tests/background/junit3/background-junit3-debug-unsigned-unaligned.apk,\ + $(_DEST_DIR)/background-junit3.apk) + $(call RELEASE_SIGN_ANDROID_APK,\ + $(DEPTH)/mobile/android/tests/browser/junit3/browser-junit3-debug-unsigned-unaligned.apk,\ + $(_DEST_DIR)/browser-junit3.apk) +endif @(cd $(DEPTH)/_tests/ && tar $(TAR_CREATE_FLAGS) - instrumentation) | (cd $(PKG_STAGE) && tar -xf -) diff --git a/testing/mochitest/Makefile.in b/testing/mochitest/Makefile.in index 7fb42f0ff1..519d9cabef 100644 --- a/testing/mochitest/Makefile.in +++ b/testing/mochitest/Makefile.in @@ -18,3 +18,19 @@ libs:: $(_DEST_DIR): $(NSINSTALL) -D $@ +# On Android only, include a release signed Robocop APK in the test package. +ifeq ($(MOZ_BUILD_APP),mobile/android) +include $(topsrcdir)/config/android-common.mk + +ifndef MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE +robocop_apk := $(topobjdir)/mobile/android/tests/browser/robocop/robocop-debug-unsigned-unaligned.apk +else +robocop_apk := $(topobjdir)/gradle/build/mobile/android/app/outputs/apk/app-automation-debug-androidTest-unaligned.apk +endif + +stage-package-android: + $(NSINSTALL) -D $(_DEST_DIR) + $(call RELEASE_SIGN_ANDROID_APK,$(robocop_apk),$(_DEST_DIR)/robocop.apk) + +stage-package: stage-package-android +endif diff --git a/testing/mochitest/mach_test_package_commands.py b/testing/mochitest/mach_test_package_commands.py index 01e0167e1d..71fe624286 100644 --- a/testing/mochitest/mach_test_package_commands.py +++ b/testing/mochitest/mach_test_package_commands.py @@ -28,6 +28,8 @@ def run_mochitest(context, **kwargs): args.test_paths = map(normalize, args.test_paths) import mozinfo + if mozinfo.info.get('buildapp') == 'mobile/android': + return run_mochitest_android(context, args) return run_mochitest_desktop(context, args) @@ -40,10 +42,29 @@ def run_mochitest_desktop(context, args): return run_test_harness(parser, args) +def run_mochitest_android(context, args): + args.app = args.app or 'org.mozilla.fennec' + args.extraProfileFiles.append(os.path.join(context.package_root, 'mochitest', 'fonts')) + args.utilityPath = context.hostutils + args.xrePath = context.hostutils + + config = context.mozharness_config + if config: + args.remoteWebServer = config['remote_webserver'] + args.httpPort = config['emulator']['http_port'] + args.sslPort = config['emulator']['ssl_port'] + args.adbPath = config['exes']['adb'] % {'abs_work_dir': context.mozharness_workdir} + + from runtestsremote import run_test_harness + return run_test_harness(parser, args) + + def setup_argument_parser(): import mozinfo mozinfo.find_and_update_from_json(here) app = 'generic' + if mozinfo.info.get('buildapp') == 'mobile/android': + app = 'android' from mochitest_options import MochitestArgumentParser global parser diff --git a/testing/mozharness/configs/android/androidarm.py b/testing/mozharness/configs/android/androidarm.py new file mode 100644 index 0000000000..fc4f742dcf --- /dev/null +++ b/testing/mozharness/configs/android/androidarm.py @@ -0,0 +1,459 @@ +import os + +config = { + "buildbot_json_path": "buildprops.json", + "host_utils_url": "http://talos-remote.pvt.build.mozilla.org/tegra/tegra-host-utils.Linux.1109310.2.zip", + "robocop_package_name": "org.mozilla.roboexample.test", + "device_ip": "127.0.0.1", + "default_sut_port1": "20701", + "default_sut_port2": "20700", # does not prompt for commands + "tooltool_manifest_path": "testing/config/tooltool-manifests/androidarm/releng.manifest", + "tooltool_cache": "/builds/tooltool_cache", + "emulator_manifest": """ + [ + { + "size": 193383673, + "digest": "6609e8b95db59c6a3ad60fc3dcfc358b2c8ec8b4dda4c2780eb439e1c5dcc5d550f2e47ce56ba14309363070078d09b5287e372f6e95686110ff8a2ef1838221", + "algorithm": "sha512", + "filename": "android-sdk18_0.r18moz1.orig.tar.gz", + "unpack": "True" + } + ] """, + "emulator_process_name": "emulator64-arm", + "emulator_extra_args": "-debug init,console,gles,memcheck,adbserver,adbclient,adb,avd_config,socket -qemu -m 1024 -cpu cortex-a9", + "device_manager": "sut", + "exes": { + 'adb': '%(abs_work_dir)s/android-sdk18/platform-tools/adb', + 'python': '/tools/buildbot/bin/python', + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + 'tooltool.py': "/tools/tooltool.py", + }, + "env": { + "DISPLAY": ":0.0", + "PATH": "%(PATH)s:%(abs_work_dir)s/android-sdk18/tools:%(abs_work_dir)s/android-sdk18/platform-tools", + "MINIDUMP_SAVEPATH": "%(abs_work_dir)s/../minidumps" + }, + "default_actions": [ + 'clobber', + 'read-buildbot-config', + 'setup-avds', + 'start-emulator', + 'download-and-extract', + 'create-virtualenv', + 'verify-emulator', + 'install', + 'run-tests', + ], + "emulator": { + "name": "test-1", + "device_id": "emulator-5554", + "http_port": "8854", # starting http port to use for the mochitest server + "ssl_port": "4454", # starting ssl port to use for the server + "emulator_port": 5554, + "sut_port1": 20701, + "sut_port2": 20700 + }, + "suite_definitions": { + "mochitest": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=sut", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--extra-profile-file=fonts", + "--extra-profile-file=hyphenation", + "--screenshot-on-fail", + ], + }, + "mochitest-gl": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=sut", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + "--total-chunks=4", + "--subsuite=webgl", + ], + }, + "mochitest-media": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=sut", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + "--total-chunks=2", + "--subsuite=media", + ], + }, + "robocop": { + "run_filename": "runrobocop.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=sut", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--total-chunks=4", + "--robocop-apk=../../robocop.apk", + "--robocop-ini=robocop.ini", + ], + }, + "reftest": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", + "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=16", + "--extra-profile-file=fonts", + "--extra-profile-file=hyphenation", + "--suite=reftest", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + ], + "tests": ["tests/layout/reftests/reftest.list"], + }, + "crashtest": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", + "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=2", + "--suite=crashtest", + ], + "tests": ["tests/testing/crashtest/crashtests.list"], + }, + "jsreftest": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", + "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=6", + "--extra-profile-file=jsreftest/tests/user.js", + "--suite=jstestbrowser", + ], + "tests": ["../jsreftest/tests/jstests.list"], + }, + "xpcshell": { + "run_filename": "remotexpcshelltests.py", + "testsdir": "xpcshell", + "options": [ + "--dm_trans=sut", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--xre-path=%(xre_path)s", + "--testing-modules-dir=%(modules_dir)s", + "--apk=%(installer_path)s", + "--no-logfiles", + "--symbols-path=%(symbols_path)s", + "--manifest=tests/xpcshell.ini", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--total-chunks=3", + ], + }, + }, # end suite_definitions + "test_suite_definitions": { + "jsreftest-1": { + "category": "jsreftest", + "extra_args": ["--this-chunk=1"], + }, + "jsreftest-2": { + "category": "jsreftest", + "extra_args": ["--this-chunk=2"], + }, + "jsreftest-3": { + "category": "jsreftest", + "extra_args": ["--this-chunk=3"], + }, + "jsreftest-4": { + "category": "jsreftest", + "extra_args": ["--this-chunk=4"], + }, + "jsreftest-5": { + "category": "jsreftest", + "extra_args": ["--this-chunk=5"], + }, + "jsreftest-6": { + "category": "jsreftest", + "extra_args": ["--this-chunk=6"], + }, + "mochitest-1": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=1"], + }, + "mochitest-2": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=2"], + }, + "mochitest-3": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=3"], + }, + "mochitest-4": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=4"], + }, + "mochitest-5": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=5"], + }, + "mochitest-6": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=6"], + }, + "mochitest-7": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=7"], + }, + "mochitest-8": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=8"], + }, + "mochitest-9": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=9"], + }, + "mochitest-10": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=10"], + }, + "mochitest-11": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=11"], + }, + "mochitest-12": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=12"], + }, + "mochitest-13": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=13"], + }, + "mochitest-14": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=14"], + }, + "mochitest-15": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=15"], + }, + "mochitest-16": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=16"], + }, + "mochitest-chrome": { + "category": "mochitest", + "extra_args": ["--flavor=chrome"], + }, + "mochitest-media-1": { + "category": "mochitest-media", + "extra_args": ["--this-chunk=1"], + }, + "mochitest-media-2": { + "category": "mochitest-media", + "extra_args": ["--this-chunk=2"], + }, + "mochitest-gl-1": { + "category": "mochitest-gl", + "extra_args": ["--this-chunk=1"], + }, + "mochitest-gl-2": { + "category": "mochitest-gl", + "extra_args": ["--this-chunk=2"], + }, + "mochitest-gl-3": { + "category": "mochitest-gl", + "extra_args": ["--this-chunk=3"], + }, + "mochitest-gl-4": { + "category": "mochitest-gl", + "extra_args": ["--this-chunk=4"], + }, + "reftest-1": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=1"], + }, + "reftest-2": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=2"], + }, + "reftest-3": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=3"], + }, + "reftest-4": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=4"], + }, + "reftest-5": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=5"], + }, + "reftest-6": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=6"], + }, + "reftest-7": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=7"], + }, + "reftest-8": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=8"], + }, + "reftest-9": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=9"], + }, + "reftest-10": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=10"], + }, + "reftest-11": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=11"], + }, + "reftest-12": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=12"], + }, + "reftest-13": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=13"], + }, + "reftest-14": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=14"], + }, + "reftest-15": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=15"], + }, + "reftest-16": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=16"], + }, + "crashtest-1": { + "category": "crashtest", + "extra_args": ["--this-chunk=1"], + }, + "crashtest-2": { + "category": "crashtest", + "extra_args": ["--this-chunk=2"], + }, + "xpcshell-1": { + "category": "xpcshell", + "extra_args": ["--total-chunks=3", "--this-chunk=1"], + }, + "xpcshell-2": { + "category": "xpcshell", + "extra_args": ["--total-chunks=3", "--this-chunk=2"], + }, + "xpcshell-3": { + "category": "xpcshell", + "extra_args": ["--total-chunks=3", "--this-chunk=3"], + }, + "robocop-1": { + "category": "robocop", + "extra_args": ["--this-chunk=1"], + }, + "robocop-2": { + "category": "robocop", + "extra_args": ["--this-chunk=2"], + }, + "robocop-3": { + "category": "robocop", + "extra_args": ["--this-chunk=3"], + }, + "robocop-4": { + "category": "robocop", + "extra_args": ["--this-chunk=4"], + }, + }, # end of "test_definitions" + "download_minidump_stackwalk": True, + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file" : os.path.join(os.getcwd(), "oauth.txt"), +} diff --git a/testing/mozharness/configs/android/androidarm_4_3-tc.py b/testing/mozharness/configs/android/androidarm_4_3-tc.py new file mode 100644 index 0000000000..dd87e6695c --- /dev/null +++ b/testing/mozharness/configs/android/androidarm_4_3-tc.py @@ -0,0 +1,10 @@ +config = { + # Additional Android 4.3 settings required when running in taskcluster. + "avds_dir": "/home/worker/workspace/build/.android", + "tooltool_cache": "/home/worker/tooltool_cache", + "download_tooltool": True, + "tooltool_servers": ['http://relengapi/tooltool/'], + "exes": { + 'adb': '%(abs_work_dir)s/android-sdk18/platform-tools/adb', + } +} diff --git a/testing/mozharness/configs/android/androidarm_4_3.py b/testing/mozharness/configs/android/androidarm_4_3.py new file mode 100644 index 0000000000..bae25fecc9 --- /dev/null +++ b/testing/mozharness/configs/android/androidarm_4_3.py @@ -0,0 +1,383 @@ +import os + +config = { + "buildbot_json_path": "buildprops.json", + "hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest", + "robocop_package_name": "org.mozilla.roboexample.test", + "marionette_address": "localhost:2828", + "marionette_test_manifest": "unit-tests.ini", + "tooltool_manifest_path": "testing/config/tooltool-manifests/androidarm_4_3/releng.manifest", + "tooltool_cache": "/builds/tooltool_cache", + "avds_dir": "/home/cltbld/.android", + "emulator_manifest": """ + [ + { + "size": 140097024, + "digest": "51781032335c09103e8509b1a558bf22a7119392cf1ea301c49c01bdf21ff0ceb37d260bc1c322cd9b903252429fb01830fc27e4632be30cd345c95bf4b1a39b", + "algorithm": "sha512", + "filename": "android-sdk_r24.0.2-linux.tgz", + "unpack": "True" + } + ] """, + "tools_manifest": """ + [ + { + "size": 193383673, + "digest": "6609e8b95db59c6a3ad60fc3dcfc358b2c8ec8b4dda4c2780eb439e1c5dcc5d550f2e47ce56ba14309363070078d09b5287e372f6e95686110ff8a2ef1838221", + "algorithm": "sha512", + "filename": "android-sdk18_0.r18moz1.orig.tar.gz", + "unpack": "True" + } + ] """, + "emulator_process_name": "emulator64-arm", + "emulator_extra_args": "-show-kernel -debug init,console,gles,memcheck,adbserver,adbclient,adb,avd_config,socket", + "device_manager": "adb", + "exes": { + 'adb': '%(abs_work_dir)s/android-sdk18/platform-tools/adb', + 'python': '/tools/buildbot/bin/python', + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + 'tooltool.py': "/tools/tooltool.py", + }, + "env": { + "DISPLAY": ":0.0", + "PATH": "%(PATH)s:%(abs_work_dir)s/android-sdk-linux/tools:%(abs_work_dir)s/android-sdk18/platform-tools", + "MINIDUMP_SAVEPATH": "%(abs_work_dir)s/../minidumps" + }, + "default_actions": [ + 'clobber', + 'read-buildbot-config', + 'setup-avds', + 'start-emulator', + 'download-and-extract', + 'create-virtualenv', + 'verify-emulator', + 'install', + 'run-tests', + ], + "emulator": { + "name": "test-1", + "device_id": "emulator-5554", + "http_port": "8854", # starting http port to use for the mochitest server + "ssl_port": "4454", # starting ssl port to use for the server + "emulator_port": 5554, + }, + "suite_definitions": { + "mochitest": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=adb", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--extra-profile-file=fonts", + "--extra-profile-file=hyphenation", + "--screenshot-on-fail", + "--total-chunks=20", + ], + }, + "mochitest-gl": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=adb", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + "--total-chunks=10", + "--subsuite=webgl", + ], + }, + "mochitest-chrome": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=adb", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--extra-profile-file=fonts", + "--extra-profile-file=hyphenation", + "--screenshot-on-fail", + "--flavor=chrome", + ], + }, + "mochitest-plain-gpu": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=adb", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + "--subsuite=gpu", + ], + }, + "mochitest-plain-clipboard": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=adb", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + "--subsuite=clipboard", + ], + }, + "mochitest-media": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=adb", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + "--chunk-by-runtime", + "--total-chunks=2", + "--subsuite=media", + ], + }, + "robocop": { + "run_filename": "runrobocop.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=adb", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--total-chunks=4", + "--robocop-apk=../../robocop.apk", + "--robocop-ini=robocop.ini", + ], + }, + "reftest": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--dm_trans=adb", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=16", + "--extra-profile-file=fonts", + "--extra-profile-file=hyphenation", + "--suite=reftest", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + ], + "tests": ["tests/layout/reftests/reftest.list",], + }, + "reftest-debug": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--dm_trans=adb", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=48", + "--extra-profile-file=fonts", + "--extra-profile-file=hyphenation", + "tests/layout/reftests/reftest.list", + ], + }, + "crashtest": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--dm_trans=adb", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", + "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=4", + "--suite=crashtest", + ], + "tests": ["tests/testing/crashtest/crashtests.list",], + }, + "crashtest-debug": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--dm_trans=adb", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", + "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=10", + "tests/testing/crashtest/crashtests.list", + ], + }, + "jsreftest": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--dm_trans=adb", + "--remote-webserver=%(remote_webserver)s", "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", "--httpd-path", "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=6", + "--extra-profile-file=jsreftest/tests/user.js", + "--suite=jstestbrowser", + ], + "tests": ["../jsreftest/tests/jstests.list",], + }, + "jsreftest-debug": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--dm_trans=adb", + "--remote-webserver=%(remote_webserver)s", "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", "--httpd-path", "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "../jsreftest/tests/jstests.list", + "--total-chunks=20", + "--extra-profile-file=jsreftest/tests/user.js", + ], + }, + "xpcshell": { + "run_filename": "remotexpcshelltests.py", + "testsdir": "xpcshell", + "install": False, + "options": [ + "--dm_trans=adb", + "--xre-path=%(xre_path)s", + "--testing-modules-dir=%(modules_dir)s", + "--apk=%(installer_path)s", + "--no-logfiles", + "--symbols-path=%(symbols_path)s", + "--manifest=tests/xpcshell.ini", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--test-plugin-path=none", + "--total-chunks=3", + ], + }, + "cppunittest": { + "run_filename": "remotecppunittests.py", + "testsdir": "cppunittest", + "install": False, + "options": [ + "--symbols-path=%(symbols_path)s", + "--xre-path=%(xre_path)s", + "--dm_trans=adb", + "--localBinDir=../bin", + "--apk=%(installer_path)s", + ".", + ], + }, + "marionette": { + "run_filename": os.path.join("harness", "marionette_harness", "runtests.py"), + "testsdir": "marionette", + "options": [ + "--emulator", + "--app=fennec", + "--package=%(app)s", + "--address=%(address)s", + "%(test_manifest)s", + "--disable-e10s", + "--gecko-log=%(gecko_log)s", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--symbols-path=%(symbols_path)s", + "--startup-timeout=300", + ], + }, + + }, # end suite_definitions + "download_minidump_stackwalk": True, + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"), +} diff --git a/testing/mozharness/configs/android/androidarm_dev.py b/testing/mozharness/configs/android/androidarm_dev.py new file mode 100644 index 0000000000..e4de6a9f2f --- /dev/null +++ b/testing/mozharness/configs/android/androidarm_dev.py @@ -0,0 +1,9 @@ +# This config contains dev values that will replace +# the values specified in the production config +# if specified like this (order matters): +# --cfg android/androidarm.py +# --cfg android/androidarm_dev.py +import os +config = { + "tooltool_cache_path": os.path.join(os.getenv("HOME"), "cache"), +} diff --git a/testing/mozharness/configs/android/androidx86-tc.py b/testing/mozharness/configs/android/androidx86-tc.py new file mode 100644 index 0000000000..8141b77f6f --- /dev/null +++ b/testing/mozharness/configs/android/androidx86-tc.py @@ -0,0 +1,73 @@ +import os + +config = { + "buildbot_json_path": "buildprops.json", + "hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest", + "tooltool_manifest_path": "testing/config/tooltool-manifests/androidx86/releng.manifest", + "tooltool_cache": "/home/worker/tooltool_cache", + "download_tooltool": True, + "tooltool_servers": ['http://relengapi/tooltool/'], + "avds_dir": "/home/worker/workspace/build/.android", + "emulator_manifest": """ + [ + { + "size": 193383673, + "digest": "6609e8b95db59c6a3ad60fc3dcfc358b2c8ec8b4dda4c2780eb439e1c5dcc5d550f2e47ce56ba14309363070078d09b5287e372f6e95686110ff8a2ef1838221", + "algorithm": "sha512", + "filename": "android-sdk18_0.r18moz1.orig.tar.gz", + "unpack": "True" + } + ] """, + "emulator_process_name": "emulator64-x86", + "emulator_extra_args": "-show-kernel -debug init,console,gles,memcheck,adbserver,adbclient,adb,avd_config,socket -qemu -m 1024", + "device_manager": "adb", + "exes": { + 'adb': '%(abs_work_dir)s/android-sdk18/platform-tools/adb', + }, + "env": { + "DISPLAY": ":0.0", + "PATH": "%(PATH)s:%(abs_work_dir)s/android-sdk18/tools:%(abs_work_dir)s/android-sdk18/platform-tools", + "MINIDUMP_SAVEPATH": "%(abs_work_dir)s/../minidumps" + }, + "default_actions": [ + 'clobber', + 'read-buildbot-config', + 'setup-avds', + 'start-emulator', + 'download-and-extract', + 'create-virtualenv', + 'verify-emulator', + 'run-tests', + ], + "emulator": { + "name": "test-1", + "device_id": "emulator-5554", + "http_port": "8854", # starting http port to use for the mochitest server + "ssl_port": "4454", # starting ssl port to use for the server + "emulator_port": 5554, + }, + "suite_definitions": { + "xpcshell": { + "run_filename": "remotexpcshelltests.py", + "testsdir": "xpcshell", + "install": False, + "options": [ + "--dm_trans=adb", + "--xre-path=%(xre_path)s", + "--testing-modules-dir=%(modules_dir)s", + "--apk=%(installer_path)s", + "--no-logfiles", + "--symbols-path=%(symbols_path)s", + "--manifest=tests/xpcshell.ini", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--test-plugin-path=none", + ], + }, + }, # end suite_definitions + "download_minidump_stackwalk": True, + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"), +} diff --git a/testing/mozharness/configs/android/androidx86.py b/testing/mozharness/configs/android/androidx86.py new file mode 100644 index 0000000000..e74551d0a2 --- /dev/null +++ b/testing/mozharness/configs/android/androidx86.py @@ -0,0 +1,182 @@ +import os + +config = { + "buildbot_json_path": "buildprops.json", + "hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest", + "robocop_package_name": "org.mozilla.roboexample.test", + "device_ip": "127.0.0.1", + "tooltool_manifest_path": "testing/config/tooltool-manifests/androidx86/releng.manifest", + "tooltool_cache": "/builds/tooltool_cache", + "avds_dir": "/home/cltbld/.android", + "emulator_manifest": """ + [ + { + "size": 193383673, + "digest": "6609e8b95db59c6a3ad60fc3dcfc358b2c8ec8b4dda4c2780eb439e1c5dcc5d550f2e47ce56ba14309363070078d09b5287e372f6e95686110ff8a2ef1838221", + "algorithm": "sha512", + "filename": "android-sdk18_0.r18moz1.orig.tar.gz", + "unpack": "True" + } + ] """, + "emulator_process_name": "emulator64-x86", + "emulator_extra_args": "-debug init,console,gles,memcheck,adbserver,adbclient,adb,avd_config,socket -qemu -m 1024 -enable-kvm", + "device_manager": "adb", + "exes": { + 'adb': '%(abs_work_dir)s/android-sdk18/platform-tools/adb', + 'python': '/tools/buildbot/bin/python', + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + 'tooltool.py': "/tools/tooltool.py", + }, + "env": { + "DISPLAY": ":0.0", + "PATH": "%(PATH)s:%(abs_work_dir)s/android-sdk18/tools:%(abs_work_dir)s/android-sdk18/platform-tools", + }, + "default_actions": [ + 'clobber', + 'read-buildbot-config', + 'setup-avds', + 'start-emulators', + 'download-and-extract', + 'create-virtualenv', + 'install', + 'run-tests', + 'stop-emulators', + ], + "emulators": [ + { + "name": "test-1", + "device_id": "emulator-5554", + "http_port": "8854", # starting http port to use for the mochitest server + "ssl_port": "4454", # starting ssl port to use for the server + "emulator_port": 5554, + }, + { + "name": "test-2", + "device_id": "emulator-5556", + "http_port": "8856", # starting http port to use for the mochitest server + "ssl_port": "4456", # starting ssl port to use for the server + "emulator_port": 5556, + }, + { + "name": "test-3", + "device_id": "emulator-5558", + "http_port": "8858", # starting http port to use for the mochitest server + "ssl_port": "4458", # starting ssl port to use for the server + "emulator_port": 5558, + }, + { + "name": "test-4", + "device_id": "emulator-5560", + "http_port": "8860", # starting http port to use for the mochitest server + "ssl_port": "4460", # starting ssl port to use for the server + "emulator_port": 5560, + } + ], + "suite_definitions": { + "mochitest": { + "run_filename": "runtestsremote.py", + "options": ["--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + ], + }, + "reftest": { + "run_filename": "remotereftest.py", + "options": ["--app=%(app)s", + "--ignore-window-size", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + ], + }, + "xpcshell": { + "run_filename": "remotexpcshelltests.py", + "options": ["--xre-path=%(xre_path)s", + "--testing-modules-dir=%(modules_dir)s", + "--apk=%(installer_path)s", + "--no-logfiles", + "--symbols-path=%(symbols_path)s", + "--manifest=tests/xpcshell.ini", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--test-plugin-path=none", + ], + }, + }, # end suite_definitions + "test_suite_definitions": { + "jsreftest": { + "category": "reftest", + "tests": ["../jsreftest/tests/jstests.list"], + "extra_args": [ + "--suite=jstestbrowser", + "--extra-profile-file=jsreftest/tests/user.js" + ] + }, + "mochitest-1": { + "category": "mochitest", + "extra_args": ["--total-chunks=2", "--this-chunk=1"], + }, + "mochitest-2": { + "category": "mochitest", + "extra_args": ["--total-chunks=2", "--this-chunk=2"], + }, + "mochitest-gl": { + "category": "mochitest", + "extra_args": ["--subsuite=webgl"], + }, + "reftest-1": { + "category": "reftest", + "extra_args": [ + "--suite=reftest", + "--total-chunks=3", + "--this-chunk=1", + ], + "tests": ["tests/layout/reftests/reftest.list"], + }, + "reftest-2": { + "extra_args": [ + "--suite=reftest", + "--total-chunks=3", + "--this-chunk=2", + ], + "tests": ["tests/layout/reftests/reftest.list"], + }, + "reftest-3": { + "extra_args": [ + "--suite=reftest", + "--total-chunks=3", + "--this-chunk=3", + ], + "tests": ["tests/layout/reftests/reftest.list"], + }, + "crashtest": { + "category": "reftest", + "extra_args": ["--suite=crashtest"], + "tests": ["tests/testing/crashtest/crashtests.list"] + }, + "xpcshell": { + "category": "xpcshell", + # XXX --manifest is superceded by testing/config/mozharness/android_x86_config.py. + # Remove when Gecko 35 no longer in tbpl. + "extra_args": ["--manifest=tests/xpcshell_android.ini"] + }, + }, # end of "test_definitions" + "download_minidump_stackwalk": True, + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file" : os.path.join(os.getcwd(), "oauth.txt"), +} diff --git a/testing/mozharness/configs/builds/releng_base_android_64_builds.py b/testing/mozharness/configs/builds/releng_base_android_64_builds.py new file mode 100644 index 0000000000..0ffd929c3f --- /dev/null +++ b/testing/mozharness/configs/builds/releng_base_android_64_builds.py @@ -0,0 +1,111 @@ +import os + +config = { + ######################################################################### + ######## ANDROID GENERIC CONFIG KEYS/VAlUES + + # note: overridden by MOZHARNESS_ACTIONS in TaskCluster tasks + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + 'multi-l10n', + 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + "buildbot": "/tools/buildbot/bin/buildbot", + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': True, + # mock shtuff + 'mock_mozilla_dir': '/builds/mock_mozilla', + 'mock_target': 'mozilla-centos6-x86_64-android', + 'mock_files': [ + ('/home/cltbld/.ssh', '/home/mock_mozilla/.ssh'), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/home/cltbld/.boto', '/builds/.boto'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/builds/mozilla-api.key', '/builds/mozilla-api.key'), + ('/builds/mozilla-fennec-geoloc-api.key', '/builds/mozilla-fennec-geoloc-api.key'), + ('/builds/crash-stats-api.token', '/builds/crash-stats-api.token'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], + 'secret_files': [ + {'filename': '/builds/mozilla-fennec-geoloc-api.key', + 'secret_name': 'project/releng/gecko/build/level-%(scm-level)s/mozilla-fennec-geoloc-api.key', + 'min_scm_level': 2, 'default': 'try-build-has-no-secrets'}, + {'filename': '/builds/adjust-sdk.token', + 'secret_name': 'project/releng/gecko/build/level-%(scm-level)s/adjust-sdk.token', + 'min_scm_level': 2, 'default': 'try-build-has-no-secrets'}, + {'filename': '/builds/adjust-sdk-beta.token', + 'secret_name': 'project/releng/gecko/build/level-%(scm-level)s/adjust-sdk-beta.token', + 'min_scm_level': 2, 'default': 'try-build-has-no-secrets'}, + ], + 'enable_ccache': True, + 'vcs_share_base': '/builds/hg-shared', + 'objdir': 'obj-firefox', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': False, + 'enable_talos_sendchange': True, + 'enable_unittest_sendchange': True, + 'multi_locale': True, + ######################################################################### + + + ######################################################################### + 'base_name': 'Android 2.3 %(branch)s', + 'platform': 'android', + 'stage_platform': 'android', + 'stage_product': 'mobile', + 'publish_nightly_en_US_routes': True, + 'post_upload_include_platform': True, + 'enable_max_vsize': False, + 'use_package_as_marfile': True, + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'DISPLAY': ':2', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/bin:/usr/bin', + 'SHIP_LICENSED_FONTS': '1', + }, + 'upload_env': { + # stage_server is dictated from build_pool_specifics.py + 'UPLOAD_HOST': '%(stage_server)s', + 'UPLOAD_USER': '%(stage_username)s', + 'UPLOAD_SSH_KEY': '/home/mock_mozilla/.ssh/%(stage_ssh_key)s', + 'UPLOAD_TO_TEMP': '1', + }, + "check_test_env": { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/linux/minidump_stackwalk', + 'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps', + }, + 'mock_packages': ['autoconf213', 'mozilla-python27-mercurial', 'yasm', + 'ccache', 'zip', "gcc472_0moz1", "gcc473_0moz1", + 'java-1.7.0-openjdk-devel', 'zlib-devel', + 'glibc-static', 'openssh-clients', 'mpfr', + 'wget', 'glibc.i686', 'libstdc++.i686', + 'zlib.i686', 'freetype-2.3.11-6.el6_1.8.x86_64', + 'ant', 'ant-apache-regexp' + ], + 'src_mozconfig': 'mobile/android/config/mozconfigs/android/nightly', + 'tooltool_manifest_src': "mobile/android/config/tooltool-manifests/android/releng.manifest", + ######################################################################### +} diff --git 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.py new file mode 100644 index 0000000000..f250603400 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15.py @@ -0,0 +1,8 @@ +config = { + 'base_name': 'Android armv7 API 15+ %(branch)s', + 'stage_platform': 'android-api-15', + 'build_type': 'api-15-opt', + 'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15/nightly', + 'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android/releng.manifest', + 'multi_locale_config_platform': 'android', +} diff --git 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 new file mode 100644 index 0000000000..22787e7f94 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_debug.py @@ -0,0 +1,9 @@ +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, +} diff --git 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.py new file mode 100644 index 0000000000..7c03fc1dce --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle.py @@ -0,0 +1,18 @@ +config = { + 'base_name': 'Android armv7 API 15+ %(branch)s Gradle', + 'stage_platform': 'android-api-15-gradle', + 'build_type': 'api-15-gradle', + 'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15-gradle/nightly', + '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', + 'geckoview_example:assembleWithGeckoBinaries', + 'uploadArchives', + ], + ], +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_dependencies.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_dependencies.py new file mode 100644 index 0000000000..c8bee2562b --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_dependencies.py @@ -0,0 +1,21 @@ +config = { + 'base_name': 'Android armv7 API 15+ Gradle dependencies %(branch)s', + 'stage_platform': 'android-api-15-gradle-dependencies', + 'build_type': 'api-15-opt', + 'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15-gradle-dependencies/nightly', + 'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android-gradle-dependencies/releng.manifest', + 'multi_locale_config_platform': 'android', + 'postflight_build_mach_commands': [ + ['gradle', + 'assembleAutomationRelease', + 'assembleAutomationDebug', + 'assembleAutomationDebugAndroidTest', + 'checkstyle', + # Does not include Gecko binaries -- see mobile/android/gradle/with_gecko_binaries.gradle. + 'geckoview:assembleWithoutGeckoBinaries', + # So that we pick up the test dependencies for the builders. + 'geckoview_example:assembleWithoutGeckoBinaries', + 'geckoview_example:assembleWithoutGeckoBinariesAndroidTest', + ], + ], +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_partner_sample1.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_partner_sample1.py new file mode 100644 index 0000000000..d2e03f78ca --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_partner_sample1.py @@ -0,0 +1,9 @@ +config = { + 'base_name': 'Android armv7 API 15+ partner Sample1 %(branch)s', + 'stage_platform': 'android-api-15-partner-sample1', + 'build_type': 'api-15-partner-sample1-opt', + 'src_mozconfig': None, # use manifest to determine mozconfig src + 'src_mozconfig_manifest': 'partner/mozconfigs/mozconfig1.json', + 'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android/releng.manifest', + 'multi_locale_config_platform': 'android', +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_checkstyle.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_checkstyle.py new file mode 100644 index 0000000000..6643bcb1b0 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_checkstyle.py @@ -0,0 +1,11 @@ +config = { + 'base_name': 'Android checkstyle %(branch)s', + 'stage_platform': 'android-checkstyle', + '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', + 'postflight_build_mach_commands': [ + ['gradle', 'app:checkstyle'], + ], +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_lint.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_lint.py new file mode 100644 index 0000000000..f377d416c1 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_lint.py @@ -0,0 +1,11 @@ +config = { + 'base_name': 'Android lint %(branch)s', + 'stage_platform': 'android-lint', + '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', + 'postflight_build_mach_commands': [ + ['gradle', 'app:lintAutomationDebug'], + ], +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_test.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_test.py new file mode 100644 index 0000000000..3e1a1492f5 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_test.py @@ -0,0 +1,11 @@ +config = { + 'base_name': 'Android armv7 unit tests %(branch)s', + 'stage_platform': 'android-test', + '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', + 'postflight_build_mach_commands': [ + ['gradle', 'app:testAutomationDebugUnitTest'], + ], +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86.py new file mode 100644 index 0000000000..288f0d65d9 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86.py @@ -0,0 +1,8 @@ +config = { + 'base_name': 'Android 4.2 x86 %(branch)s', + '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', +} diff --git a/testing/mozharness/configs/merge_day/aurora_to_beta.py b/testing/mozharness/configs/merge_day/aurora_to_beta.py new file mode 100644 index 0000000000..dc1fc4c83e --- /dev/null +++ b/testing/mozharness/configs/merge_day/aurora_to_beta.py @@ -0,0 +1,83 @@ +import os + +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") + +config = { + "log_name": "aurora_to_beta", + "version_files": [ + {"file": "browser/config/version.txt", "suffix": ""}, + {"file": "browser/config/version_display.txt", "suffix": "b1"}, + {"file": "config/milestone.txt", "suffix": ""}, + ], + "replacements": [ + # File, from, to + ("{}/{}".format(d, f), + "ac_add_options --with-branding=mobile/android/branding/aurora", + "ac_add_options --with-branding=mobile/android/branding/beta") + for d in ["mobile/android/config/mozconfigs/android-api-15/", + "mobile/android/config/mozconfigs/android-x86/"] + for f in ["debug", "nightly", "l10n-nightly"] + ] + [ + # File, from, to + ("{}/{}".format(d, f), + "ac_add_options --with-branding=browser/branding/aurora", + "ac_add_options --with-branding=browser/branding/nightly") + for d in ["browser/config/mozconfigs/linux32", + "browser/config/mozconfigs/linux64", + "browser/config/mozconfigs/win32", + "browser/config/mozconfigs/win64", + "browser/config/mozconfigs/macosx64"] + for f in ["debug", "nightly"] + ] + [ + # File, from, to + (f, "ac_add_options --with-branding=browser/branding/aurora", + "ac_add_options --enable-official-branding") + for f in ["browser/config/mozconfigs/linux32/l10n-mozconfig", + "browser/config/mozconfigs/linux64/l10n-mozconfig", + "browser/config/mozconfigs/win32/l10n-mozconfig", + "browser/config/mozconfigs/win64/l10n-mozconfig", + "browser/config/mozconfigs/macosx-universal/l10n-mozconfig", + "browser/config/mozconfigs/macosx64/l10n-mozconfig"] + ] + [ + ("browser/config/mozconfigs/macosx-universal/nightly", + "ac_add_options --with-branding=browser/branding/aurora", + "ac_add_options --with-branding=browser/branding/nightly"), + ("browser/confvars.sh", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-aurora", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-beta,firefox-mozilla-release"), + ("browser/confvars.sh", + "MAR_CHANNEL_ID=firefox-mozilla-aurora", + "MAR_CHANNEL_ID=firefox-mozilla-beta"), + ("browser/config/mozconfigs/whitelist", + "ac_add_options --with-branding=browser/branding/aurora", + "ac_add_options --with-branding=browser/branding/nightly"), + ] + [ + ("build/mozconfig.common", + "MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-0}", + "MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-1}"), + ("build/mozconfig.common", + "# Disable enforcing that add-ons are signed by the trusted root", + "# Enable enforcing that add-ons are signed by the trusted root") + ], + + "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'), + # "hg_share_base": None, + "tools_repo_url": "https://hg.mozilla.org/build/tools", + "tools_repo_branch": "default", + "from_repo_url": "ssh://hg.mozilla.org/releases/mozilla-aurora", + "to_repo_url": "ssh://hg.mozilla.org/releases/mozilla-beta", + + "base_tag": "FIREFOX_BETA_%(major_version)s_BASE", + "end_tag": "FIREFOX_BETA_%(major_version)s_END", + + "migration_behavior": "aurora_to_beta", + + "virtualenv_modules": [ + "requests==2.8.1", + ], + + "post_merge_builders": [], + "post_merge_nightly_branches": [ + # No nightlies on mozilla-beta + ], +} diff --git a/testing/mozharness/configs/merge_day/beta_to_release.py b/testing/mozharness/configs/merge_day/beta_to_release.py new file mode 100644 index 0000000000..0316272bf6 --- /dev/null +++ b/testing/mozharness/configs/merge_day/beta_to_release.py @@ -0,0 +1,53 @@ +import os + +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") + +config = { + "log_name": "beta_to_release", + "copy_files": [ + { + "src": "browser/config/version.txt", + "dst": "browser/config/version_display.txt", + }, + ], + "replacements": [ + # File, from, to + ("{}/{}".format(d, f), + "ac_add_options --with-branding=mobile/android/branding/beta", + "ac_add_options --with-branding=mobile/android/branding/official") + for d in ["mobile/android/config/mozconfigs/android-api-15/", + "mobile/android/config/mozconfigs/android-x86/"] + for f in ["debug", "nightly", "l10n-nightly", "l10n-release", "release"] + ] + [ + # File, from, to + ("browser/confvars.sh", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-beta,firefox-mozilla-release", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-release"), + ("browser/confvars.sh", + "MAR_CHANNEL_ID=firefox-mozilla-beta", + "MAR_CHANNEL_ID=firefox-mozilla-release"), + ], + + "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'), + # "hg_share_base": None, + "tools_repo_url": "https://hg.mozilla.org/build/tools", + "tools_repo_branch": "default", + "from_repo_url": "ssh://hg.mozilla.org/releases/mozilla-beta", + "to_repo_url": "ssh://hg.mozilla.org/releases/mozilla-release", + + "base_tag": "FIREFOX_RELEASE_%(major_version)s_BASE", + "end_tag": "FIREFOX_RELEASE_%(major_version)s_END", + + "migration_behavior": "beta_to_release", + "require_remove_locales": False, + "pull_all_branches": True, + + "virtualenv_modules": [ + "requests==2.8.1", + ], + + "post_merge_builders": [], + "post_merge_nightly_branches": [ + # No nightlies on mozilla-release + ], +} diff --git a/testing/mozharness/configs/merge_day/bump_esr.py b/testing/mozharness/configs/merge_day/bump_esr.py new file mode 100644 index 0000000000..48ab2e9de5 --- /dev/null +++ b/testing/mozharness/configs/merge_day/bump_esr.py @@ -0,0 +1,24 @@ +import os + +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") +config = { + "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'), + "log_name": "bump_esr", + "version_files": [ + {"file": "browser/config/version.txt", "suffix": ""}, + {"file": "browser/config/version_display.txt", "suffix": ""}, + {"file": "config/milestone.txt", "suffix": ""}, + ], + "tools_repo_url": "https://hg.mozilla.org/build/tools", + "tools_repo_branch": "default", + "to_repo_url": "ssh://hg.mozilla.org/releases/mozilla-esr52", + + "migration_behavior": "bump_second_digit", + "require_remove_locales": False, + "requires_head_merge": False, + "default_actions": [ + "clean-repos", + "pull", + "bump_second_digit" + ], +} diff --git a/testing/mozharness/configs/merge_day/central_to_aurora.py b/testing/mozharness/configs/merge_day/central_to_aurora.py new file mode 100644 index 0000000000..36347f667f --- /dev/null +++ b/testing/mozharness/configs/merge_day/central_to_aurora.py @@ -0,0 +1,100 @@ +import os + +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") +config = { + "log_name": "central_to_aurora", + "version_files": [ + {"file": "browser/config/version.txt", "suffix": ""}, + {"file": "browser/config/version_display.txt", "suffix": ""}, + {"file": "config/milestone.txt", "suffix": ""}, + ], + "replacements": [ + # File, from, to + ("{}/{}".format(d, f), + "ac_add_options --with-branding=mobile/android/branding/nightly", + "ac_add_options --with-branding=mobile/android/branding/aurora") + for d in ["mobile/android/config/mozconfigs/android-api-15/", + "mobile/android/config/mozconfigs/android-x86/"] + for f in ["debug", "nightly", "l10n-nightly"] + ] + [ + # File, from, to + ("{}/{}".format(d, f), + "ac_add_options --with-branding=browser/branding/nightly", + "ac_add_options --with-branding=browser/branding/aurora") + for d in ["browser/config/mozconfigs/linux32", + "browser/config/mozconfigs/linux64", + "browser/config/mozconfigs/win32", + "browser/config/mozconfigs/win64", + "browser/config/mozconfigs/macosx64"] + for f in ["debug", "nightly", "l10n-mozconfig"] + ] + [ + # File, from, to + ("{}/l10n-nightly".format(d), + "ac_add_options --with-l10n-base=../../l10n-central", + "ac_add_options --with-l10n-base=..") + for d in ["mobile/android/config/mozconfigs/android-api-15/", + "mobile/android/config/mozconfigs/android-x86/"] + ] + [ + # File, from, to + (f, "ac_add_options --enable-profiling", "") for f in + ["mobile/android/config/mozconfigs/android-api-15/nightly", + "mobile/android/config/mozconfigs/android-x86/nightly", + "browser/config/mozconfigs/linux32/nightly", + "browser/config/mozconfigs/linux64/nightly", + "browser/config/mozconfigs/macosx-universal/nightly", + "browser/config/mozconfigs/win32/nightly", + "browser/config/mozconfigs/win64/nightly"] + ] + [ + # File, from, to + ("browser/confvars.sh", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-central", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-aurora"), + ("browser/confvars.sh", + "MAR_CHANNEL_ID=firefox-mozilla-central", + "MAR_CHANNEL_ID=firefox-mozilla-aurora"), + ("browser/config/mozconfigs/macosx-universal/nightly", + "ac_add_options --with-branding=browser/branding/nightly", + "ac_add_options --with-branding=browser/branding/aurora"), + ("browser/config/mozconfigs/macosx-universal/l10n-mozconfig", + "ac_add_options --with-branding=browser/branding/nightly", + "ac_add_options --with-branding=browser/branding/aurora"), + ("browser/config/mozconfigs/whitelist", + "ac_add_options --with-branding=browser/branding/nightly", + "ac_add_options --with-branding=browser/branding/aurora"), + ], + "locale_files": [ + "browser/locales/shipped-locales", + "browser/locales/all-locales", + "mobile/android/locales/maemo-locales", + "mobile/android/locales/all-locales" + ], + + "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'), + # "hg_share_base": None, + "tools_repo_url": "https://hg.mozilla.org/build/tools", + "tools_repo_branch": "default", + "from_repo_url": "ssh://hg.mozilla.org/mozilla-central", + "to_repo_url": "ssh://hg.mozilla.org/releases/mozilla-aurora", + + "base_tag": "FIREFOX_AURORA_%(major_version)s_BASE", + "end_tag": "FIREFOX_AURORA_%(major_version)s_END", + + "migration_behavior": "central_to_aurora", + + "balrog_rules_to_lock": [ + 8, # Fennec aurora channel + 10, # Firefox aurora channel + 18, # MetroFirefox aurora channel + ], + "balrog_credentials_file": "oauth.txt", + + "virtualenv_modules": [ + "requests==2.8.1", + ], + + "post_merge_builders": [], + "post_merge_nightly_branches": [ + "mozilla-central", + "mozilla-aurora", + ], +} diff --git a/testing/mozharness/configs/merge_day/release_to_esr.py b/testing/mozharness/configs/merge_day/release_to_esr.py new file mode 100644 index 0000000000..358c583daa --- /dev/null +++ b/testing/mozharness/configs/merge_day/release_to_esr.py @@ -0,0 +1,54 @@ +import os + +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") +NEW_ESR_REPO = "ssh://hg.mozilla.org/releases/mozilla-esr52" +OLD_ESR_REPO = "https://hg.mozilla.org/releases/mozilla-esr45" +OLD_ESR_CHANGESET = "d2d75f526882" + +config = { + "log_name": "relese_to_esr", + "version_files": [ + {"file": "browser/config/version.txt", "suffix": ""}, + {"file": "browser/config/version_display.txt", "suffix": ""}, + {"file": "config/milestone.txt", "suffix": ""}, + ], + "replacements": [ + # File, from, to + ("browser/confvars.sh", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-release", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-esr"), + ("browser/confvars.sh", + "MAR_CHANNEL_ID=firefox-mozilla-release", + "MAR_CHANNEL_ID=firefox-mozilla-esr"), + ("build/mozconfig.common", + "# Enable checking that add-ons are signed by the trusted root", + "# Disable checking that add-ons are signed by the trusted root"), + ("build/mozconfig.common", + "MOZ_ADDON_SIGNING=${MOZ_ADDON_SIGNING-1}", + "MOZ_ADDON_SIGNING=${MOZ_ADDON_SIGNING-0}"), + ("build/mozconfig.common", + "# Enable enforcing that add-ons are signed by the trusted root", + "# Disable enforcing that add-ons are signed by the trusted root"), + ("build/mozconfig.common", + "MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-1}", + "MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-0}"), + ], + "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'), + # "hg_share_base": None, + "tools_repo_url": "https://hg.mozilla.org/build/tools", + "tools_repo_branch": "default", + "from_repo_url": "ssh://hg.mozilla.org/releases/mozilla-release", + "to_repo_url": NEW_ESR_REPO, + + "base_tag": "FIREFOX_ESR_%(major_version)s_BASE", + "end_tag": "FIREFOX_ESR_%(major_version)s_END", + + "migration_behavior": "release_to_esr", + "require_remove_locales": False, + "transplant_patches": [ + {"repo": OLD_ESR_REPO, + "changeset": OLD_ESR_CHANGESET}, + ], + "requires_head_merge": False, + "pull_all_branches": True, +} diff --git a/testing/mozharness/configs/merge_day/staging_beta_migration.py b/testing/mozharness/configs/merge_day/staging_beta_migration.py new file mode 100644 index 0000000000..9b6ac198e3 --- /dev/null +++ b/testing/mozharness/configs/merge_day/staging_beta_migration.py @@ -0,0 +1,22 @@ +# Use this script in conjunction with aurora_to_beta.py. +# mozharness/scripts/merge_day/gecko_migration.py -c \ +# mozharness/configs/merge_day/aurora_to_beta.py -c +# mozharness/configs/merge_day/staging_beta_migration.py ... +import os + +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") + +config = { + "log_name": "staging_beta", + + "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'), + "tools_repo_url": "https://hg.mozilla.org/build/tools", + "tools_repo_branch": "default", + "from_repo_url": "ssh://hg.mozilla.org/releases/mozilla-aurora", + "to_repo_url": "ssh://hg.mozilla.org/users/stage-ffxbld/mozilla-beta", + + "base_tag": "FIREFOX_BETA_%(major_version)s_BASE", + "end_tag": "FIREFOX_BETA_%(major_version)s_END", + + "migration_behavior": "aurora_to_beta", +} diff --git a/testing/mozharness/configs/multi_locale/android-mozharness-build.json b/testing/mozharness/configs/multi_locale/android-mozharness-build.json new file mode 100644 index 0000000000..b28f5c0153 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/android-mozharness-build.json @@ -0,0 +1,5 @@ +{ + "work_dir": "build", + "locales_file": "src/mobile/android/locales/maemo-locales", + "mozilla_dir": "src" +} diff --git a/testing/mozharness/configs/multi_locale/ash_android-x86.json b/testing/mozharness/configs/multi_locale/ash_android-x86.json new file mode 100644 index 0000000000..6a37ce24fe --- /dev/null +++ b/testing/mozharness/configs/multi_locale/ash_android-x86.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/projects/ash", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + "l10n_dir": "l10n-central", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/ash_android.json b/testing/mozharness/configs/multi_locale/ash_android.json new file mode 100644 index 0000000000..831d4f7c39 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/ash_android.json @@ -0,0 +1,27 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/projects/ash", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + "l10n_dir": "l10n-central", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/b2g_linux32.py b/testing/mozharness/configs/multi_locale/b2g_linux32.py new file mode 100644 index 0000000000..8403f75530 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/b2g_linux32.py @@ -0,0 +1,2 @@ +config = { +} diff --git a/testing/mozharness/configs/multi_locale/b2g_linux64.py b/testing/mozharness/configs/multi_locale/b2g_linux64.py new file mode 100644 index 0000000000..8403f75530 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/b2g_linux64.py @@ -0,0 +1,2 @@ +config = { +} diff --git a/testing/mozharness/configs/multi_locale/b2g_macosx64.py b/testing/mozharness/configs/multi_locale/b2g_macosx64.py new file mode 100644 index 0000000000..8403f75530 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/b2g_macosx64.py @@ -0,0 +1,2 @@ +config = { +} diff --git a/testing/mozharness/configs/multi_locale/b2g_win32.py b/testing/mozharness/configs/multi_locale/b2g_win32.py new file mode 100644 index 0000000000..a82ce71554 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/b2g_win32.py @@ -0,0 +1,8 @@ +import sys + +config = { + "exes": { + "hg": "c:/mozilla-build/hg/hg", + "make": [sys.executable, "%(abs_work_dir)s/build/build/pymake/make.py"], + }, +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-aurora_android-armv6.json b/testing/mozharness/configs/multi_locale/mozilla-aurora_android-armv6.json new file mode 100644 index 0000000000..dc50707cfa --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-aurora_android-armv6.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-aurora", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-aurora", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-aurora", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-aurora_android-x86.json b/testing/mozharness/configs/multi_locale/mozilla-aurora_android-x86.json new file mode 100644 index 0000000000..bd5f8b6bae --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-aurora_android-x86.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-aurora", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-aurora", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-aurora", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-aurora_android.json b/testing/mozharness/configs/multi_locale/mozilla-aurora_android.json new file mode 100644 index 0000000000..1cc38e35b6 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-aurora_android.json @@ -0,0 +1,27 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-aurora", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-aurora", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-aurora", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-beta_android-armv6.json b/testing/mozharness/configs/multi_locale/mozilla-beta_android-armv6.json new file mode 100644 index 0000000000..4cffd48077 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-beta_android-armv6.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-beta_android-x86.json b/testing/mozharness/configs/multi_locale/mozilla-beta_android-x86.json new file mode 100644 index 0000000000..233e740aae --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-beta_android-x86.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-beta_android.json b/testing/mozharness/configs/multi_locale/mozilla-beta_android.json new file mode 100644 index 0000000000..c9d0e4d6b9 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-beta_android.json @@ -0,0 +1,27 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-central_android-armv6.json b/testing/mozharness/configs/multi_locale/mozilla-central_android-armv6.json new file mode 100644 index 0000000000..1b27a017e6 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-central_android-armv6.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/mozilla-central", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + "l10n_dir": "l10n-central", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-central_android-x86.json b/testing/mozharness/configs/multi_locale/mozilla-central_android-x86.json new file mode 100644 index 0000000000..0873a01982 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-central_android-x86.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/mozilla-central", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + "l10n_dir": "l10n-central", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-central_android.json b/testing/mozharness/configs/multi_locale/mozilla-central_android.json new file mode 100644 index 0000000000..67d195242b --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-central_android.json @@ -0,0 +1,27 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/mozilla-central", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + "l10n_dir": "l10n-central", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-release_android-armv6.json b/testing/mozharness/configs/multi_locale/mozilla-release_android-armv6.json new file mode 100644 index 0000000000..fbfff0d7cc --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-release_android-armv6.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-release", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-release_android-x86.json b/testing/mozharness/configs/multi_locale/mozilla-release_android-x86.json new file mode 100644 index 0000000000..96aa60cef8 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-release_android-x86.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-release", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-release_android.json b/testing/mozharness/configs/multi_locale/mozilla-release_android.json new file mode 100644 index 0000000000..9a737f9a90 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-release_android.json @@ -0,0 +1,27 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-release", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/release_mozilla-beta_android-armv6.json b/testing/mozharness/configs/multi_locale/release_mozilla-beta_android-armv6.json new file mode 100644 index 0000000000..beef772843 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/release_mozilla-beta_android-armv6.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + "required_config_vars": ["tag_override"], + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/release" +} diff --git a/testing/mozharness/configs/multi_locale/release_mozilla-beta_android-x86.json b/testing/mozharness/configs/multi_locale/release_mozilla-beta_android-x86.json new file mode 100644 index 0000000000..4f7144b404 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/release_mozilla-beta_android-x86.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + "required_config_vars": ["tag_override"], + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/release" +} diff --git a/testing/mozharness/configs/multi_locale/release_mozilla-beta_android.json b/testing/mozharness/configs/multi_locale/release_mozilla-beta_android.json new file mode 100644 index 0000000000..2fa9c06fd4 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/release_mozilla-beta_android.json @@ -0,0 +1,33 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + "required_config_vars": ["tag_override"], + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/release_mozilla-release_android-armv6.json b/testing/mozharness/configs/multi_locale/release_mozilla-release_android-armv6.json new file mode 100644 index 0000000000..57406c739d --- /dev/null +++ b/testing/mozharness/configs/multi_locale/release_mozilla-release_android-armv6.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-release.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-release", + "required_config_vars": ["tag_override"], + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/release" +} diff --git a/testing/mozharness/configs/multi_locale/release_mozilla-release_android-x86.json b/testing/mozharness/configs/multi_locale/release_mozilla-release_android-x86.json new file mode 100644 index 0000000000..24075237e5 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/release_mozilla-release_android-x86.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-release.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-release", + "required_config_vars": ["tag_override"], + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/release" +} diff --git a/testing/mozharness/configs/multi_locale/release_mozilla-release_android.json b/testing/mozharness/configs/multi_locale/release_mozilla-release_android.json new file mode 100644 index 0000000000..e295a13eb8 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/release_mozilla-release_android.json @@ -0,0 +1,33 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-release.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-release", + "required_config_vars": ["tag_override"], + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android-armv6.json b/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android-armv6.json new file mode 100644 index 0000000000..032e04ff79 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android-armv6.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s", + "required_config_vars": ["tag_override", "user_repo_override"], + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/release" +} diff --git a/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android-x86.json b/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android-x86.json new file mode 100644 index 0000000000..a055b0ab99 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android-x86.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s", + "required_config_vars": ["tag_override", "user_repo_override"], + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/release" +} diff --git a/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android.json b/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android.json new file mode 100644 index 0000000000..1447ffd918 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android.json @@ -0,0 +1,33 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s", + "required_config_vars": ["tag_override", "user_repo_override"], + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android-armv6.json b/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android-armv6.json new file mode 100644 index 0000000000..5e2f26dc1d --- /dev/null +++ b/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android-armv6.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-release.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s", + "required_config_vars": ["tag_override", "user_repo_override"], + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/release" +} diff --git a/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android-x86.json b/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android-x86.json new file mode 100644 index 0000000000..68feec852a --- /dev/null +++ b/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android-x86.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-release.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s", + "required_config_vars": ["tag_override", "user_repo_override"], + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/release" +} diff --git a/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android.json b/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android.json new file mode 100644 index 0000000000..4ed17c4870 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android.json @@ -0,0 +1,33 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-release.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s", + "required_config_vars": ["tag_override", "user_repo_override"], + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/standalone_mozilla-central.py b/testing/mozharness/configs/multi_locale/standalone_mozilla-central.py new file mode 100644 index 0000000000..36ad4de581 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/standalone_mozilla-central.py @@ -0,0 +1,49 @@ +import os +# The name of the directory we'll pull our source into. +BUILD_DIR = "mozilla-central" +# This is everything that comes after https://hg.mozilla.org/ +# e.g. "releases/mozilla-aurora" +REPO_PATH = "mozilla-central" +# This is where the l10n repos are (everything after https://hg.mozilla.org/) +# for mozilla-central, that's "l10n-central". +# For mozilla-aurora, that's "releases/l10n/mozilla-aurora" +L10N_REPO_PATH = "l10n-central" +# Currently this is assumed to be a subdirectory of your build dir +OBJDIR = "objdir-droid" +# Set this to mobile/xul for XUL Fennec +ANDROID_DIR = "mobile/android" +# Absolute path to your mozconfig. +# By default it looks at "./mozconfig" +MOZCONFIG = os.path.join(os.getcwd(), "mozconfig") + +config = { + "work_dir": ".", + "log_name": "multilocale", + "objdir": OBJDIR, + "locales_file": "%s/%s/locales/maemo-locales" % (BUILD_DIR, ANDROID_DIR), + "locales_dir": "%s/locales" % ANDROID_DIR, + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/%s" % REPO_PATH, + "branch": "default", + "dest": BUILD_DIR, + }], + "vcs_share_base": "/builds/hg-shared", + "l10n_repos": [], + "hg_l10n_base": "https://hg.mozilla.org/%s" % L10N_REPO_PATH, + "hg_l10n_tag": "default", + "l10n_dir": "l10n", + "merge_locales": True, + "mozilla_dir": BUILD_DIR, + "mozconfig": MOZCONFIG, + "default_actions": [ + "pull-locale-source", + "build", + "package-en-US", + "backup-objdir", + "restore-objdir", + "add-locales", + "package-multi", + "summary", + ], +} diff --git a/testing/mozharness/configs/partner_repacks/release_mozilla-release_android.py b/testing/mozharness/configs/partner_repacks/release_mozilla-release_android.py new file mode 100644 index 0000000000..6978df8a2b --- /dev/null +++ b/testing/mozharness/configs/partner_repacks/release_mozilla-release_android.py @@ -0,0 +1,47 @@ +FTP_SERVER = "stage.mozilla.org" +FTP_USER = "ffxbld" +FTP_SSH_KEY = "~/.ssh/ffxbld_rsa" +FTP_UPLOAD_BASE_DIR = "/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d" +DOWNLOAD_BASE_URL = "http://%s%s" % (FTP_SERVER, FTP_UPLOAD_BASE_DIR) +APK_BASE_NAME = "fennec-%(version)s.%(locale)s.android-arm.apk" +HG_SHARE_BASE_DIR = "/builds/hg-shared" +KEYSTORE = "/home/cltsign/.android/android-release.keystore" +KEY_ALIAS = "release" + +config = { + "log_name": "partner_repack", + "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-release.json", + "additional_locales": ['en-US'], + "platforms": ["android"], + "repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + }], + 'vcs_share_base': HG_SHARE_BASE_DIR, + "ftp_upload_base_dir": FTP_UPLOAD_BASE_DIR, + "ftp_ssh_key": FTP_SSH_KEY, + "ftp_user": FTP_USER, + "ftp_server": FTP_SERVER, + "installer_base_names": { + "android": APK_BASE_NAME, + }, + "partner_config": { + "google-play": {}, + }, + "download_unsigned_base_subdir": "unsigned/%(platform)s/%(locale)s", + "download_base_url": DOWNLOAD_BASE_URL, + + "release_config_file": "buildbot-configs/mozilla/release-fennec-mozilla-release.py", + + "default_actions": ["clobber", "pull", "download", "repack", "upload-unsigned-bits", "summary"], + + # signing (optional) + "keystore": KEYSTORE, + "key_alias": KEY_ALIAS, + "exes": { + # This path doesn't exist and this file probably doesn't work + # Comment out to avoid confusion +# "jarsigner": "/tools/jdk-1.6.0_17/bin/jarsigner", + "zipalign": "/tools/android-sdk-r8/tools/zipalign", + }, +} diff --git a/testing/mozharness/configs/partner_repacks/staging_release_mozilla-release_android.py b/testing/mozharness/configs/partner_repacks/staging_release_mozilla-release_android.py new file mode 100644 index 0000000000..ffb2392b6e --- /dev/null +++ b/testing/mozharness/configs/partner_repacks/staging_release_mozilla-release_android.py @@ -0,0 +1,52 @@ +FTP_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com" +FTP_USER = "ffxbld" +FTP_SSH_KEY = "~/.ssh/ffxbld_rsa" +FTP_UPLOAD_BASE_DIR = "/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d" +#DOWNLOAD_BASE_URL = "http://%s%s" % (FTP_SERVER, FTP_UPLOAD_BASE_DIR) +DOWNLOAD_BASE_URL = "https://ftp-ssl.mozilla.org/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d" +#DOWNLOAD_BASE_URL = "http://dev-stage01.build.mozilla.org/pub/mozilla.org/mobile/candidates/11.0b1-candidates/build1/" +APK_BASE_NAME = "fennec-%(version)s.%(locale)s.android-arm.apk" +#APK_BASE_NAME = "fennec-11.0b1.%(locale)s.android-arm.apk" +HG_SHARE_BASE_DIR = "/builds/hg-shared" +#KEYSTORE = "/home/cltsign/.android/android-release.keystore" +KEYSTORE = "/home/cltbld/.android/android.keystore" +#KEY_ALIAS = "release" +KEY_ALIAS = "nightly" + +config = { + "log_name": "partner_repack", + "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-release.json", + "additional_locales": ['en-US'], + "platforms": ["android"], + "repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + }], + 'vcs_share_base': HG_SHARE_BASE_DIR, + "ftp_upload_base_dir": FTP_UPLOAD_BASE_DIR, + "ftp_ssh_key": FTP_SSH_KEY, + "ftp_user": FTP_USER, + "ftp_server": FTP_SERVER, + "installer_base_names": { + "android": APK_BASE_NAME, + }, + "partner_config": { + "google-play": {}, + }, + "download_unsigned_base_subdir": "unsigned/%(platform)s/%(locale)s", + "download_base_url": DOWNLOAD_BASE_URL, + + "release_config_file": "buildbot-configs/mozilla/release-fennec-mozilla-release.py", + + "default_actions": ["clobber", "pull", "download", "repack", "upload-unsigned-bits", "summary"], + + # signing (optional) + "keystore": KEYSTORE, + "key_alias": KEY_ALIAS, + "exes": { + # This path doesn't exist and this file probably doesn't work + # Comment out to avoid confusion +# "jarsigner": "/tools/jdk-1.6.0_17/bin/jarsigner", + "zipalign": "/tools/android-sdk-r8/tools/zipalign", + }, +} diff --git a/testing/mozharness/configs/releases/bouncer_fennec.py b/testing/mozharness/configs/releases/bouncer_fennec.py new file mode 100644 index 0000000000..203c6679c2 --- /dev/null +++ b/testing/mozharness/configs/releases/bouncer_fennec.py @@ -0,0 +1,22 @@ +# lint_ignore=E501 +config = { + "products": { + "apk": { + "product-name": "Fennec-%(version)s", + "check_uptake": True, + "alias": "fennec-latest", + "ssl-only": False, + "add-locales": False, # Do not add locales to let "multi" work + "paths": { + "android-api-15": { + "path": "/mobile/releases/%(version)s/android-api-15/:lang/fennec-%(version)s.:lang.android-arm.apk", + "bouncer-platform": "android", + }, + "android-x86": { + "path": "/mobile/releases/%(version)s/android-x86/:lang/fennec-%(version)s.:lang.android-i386.apk", + "bouncer-platform": "android-x86", + }, + }, + }, + }, +} diff --git a/testing/mozharness/configs/servo/mac.py b/testing/mozharness/configs/servo/mac.py new file mode 100644 index 0000000000..c97f935bce --- /dev/null +++ b/testing/mozharness/configs/servo/mac.py @@ -0,0 +1,3 @@ +config = { + 'concurrency': 6, +} diff --git a/testing/mozharness/configs/single_locale/ash_android-api-15.py b/testing/mozharness/configs/single_locale/ash_android-api-15.py new file mode 100644 index 0000000000..d3cae75b77 --- /dev/null +++ b/testing/mozharness/configs/single_locale/ash_android-api-15.py @@ -0,0 +1,97 @@ +BRANCH = "ash" +MOZ_UPDATE_CHANNEL = "nightly" +MOZILLA_DIR = BRANCH +OBJDIR = "obj-l10n" +EN_US_BINARY_URL = "http://archive.mozilla.org/pub/mobile/nightly/latest-%s-android-api-15/en-US" % BRANCH +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +config = { + "branch": BRANCH, + "log_name": "single_locale", + "objdir": OBJDIR, + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber", + "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR, + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US"], + "nightly_build": True, + 'balrog_credentials_file': 'oauth.txt', + "tools_repo": "https://hg.mozilla.org/build/tools", + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "repos": [{ + "repo": "https://hg.mozilla.org/projects/ash", + "branch": "default", + "dest": MOZILLA_DIR, + }, { + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "buildbot-configs" + }, { + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + 'vcs_share_base': HG_SHARE_BASE_DIR, + + "l10n_dir": "l10n-central", + "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-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-nightly" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + "stage_product": "mobile", + "platform": "android", + "build_type": "api-15-opt", + + # Balrog + "build_target": "Android_arm-eabi-gcc3", + + # 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', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], +} diff --git a/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-15.py b/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-15.py new file mode 100644 index 0000000000..103922a78b --- /dev/null +++ b/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-15.py @@ -0,0 +1,97 @@ +BRANCH = "mozilla-aurora" +MOZ_UPDATE_CHANNEL = "aurora" +MOZILLA_DIR = BRANCH +OBJDIR = "obj-l10n" +EN_US_BINARY_URL = "http://archive.mozilla.org/pub/mobile/nightly/latest-%s-android-api-15/en-US" % BRANCH +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +config = { + "branch": BRANCH, + "log_name": "single_locale", + "objdir": OBJDIR, + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber", + "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR, + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US"], + "nightly_build": True, + 'balrog_credentials_file': 'oauth.txt', + "tools_repo": "https://hg.mozilla.org/build/tools", + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-aurora", + "branch": "default", + "dest": MOZILLA_DIR, + }, { + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "buildbot-configs" + }, { + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/%s" % BRANCH, + "hg_l10n_tag": "default", + 'vcs_share_base': HG_SHARE_BASE_DIR, + + "l10n_dir": MOZILLA_DIR, + "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-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-nightly" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + "stage_product": "mobile", + "platform": "android", + "build_type": "api-15-opt", + + # Balrog + "build_target": "Android_arm-eabi-gcc3", + + # 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', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], +} diff --git a/testing/mozharness/configs/single_locale/mozilla-central_android-api-15.py b/testing/mozharness/configs/single_locale/mozilla-central_android-api-15.py new file mode 100644 index 0000000000..d2b6623c33 --- /dev/null +++ b/testing/mozharness/configs/single_locale/mozilla-central_android-api-15.py @@ -0,0 +1,97 @@ +BRANCH = "mozilla-central" +MOZ_UPDATE_CHANNEL = "nightly" +MOZILLA_DIR = BRANCH +OBJDIR = "obj-l10n" +EN_US_BINARY_URL = "http://archive.mozilla.org/pub/mobile/nightly/latest-%s-android-api-15/en-US" % BRANCH +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +config = { + "branch": BRANCH, + "log_name": "single_locale", + "objdir": OBJDIR, + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber", + "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR, + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US"], + "nightly_build": True, + 'balrog_credentials_file': 'oauth.txt', + "tools_repo": "https://hg.mozilla.org/build/tools", + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "repos": [{ + "repo": "https://hg.mozilla.org/mozilla-central", + "branch": "default", + "dest": MOZILLA_DIR, + }, { + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "buildbot-configs" + }, { + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + 'vcs_share_base': HG_SHARE_BASE_DIR, + + "l10n_dir": "l10n-central", + "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-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-nightly" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + "stage_product": "mobile", + "platform": "android", + "build_type": "api-15-opt", + + # Balrog + "build_target": "Android_arm-eabi-gcc3", + + # 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', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], +} diff --git a/testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_15.py b/testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_15.py new file mode 100644 index 0000000000..976f21f444 --- /dev/null +++ b/testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_15.py @@ -0,0 +1,97 @@ +BRANCH = "mozilla-beta" +MOZ_UPDATE_CHANNEL = "beta" +MOZILLA_DIR = BRANCH +OBJDIR = "obj-l10n" +EN_US_BINARY_URL = "http://archive.mozilla.org/pub/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-15/en-US" +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +config = { + "stage_product": "mobile", + "log_name": "single_locale", + "objdir": OBJDIR, + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber", + "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_dir": "mobile/android/locales", + "locales_platform": "android", + "ignore_locales": ["en-US"], + "balrog_credentials_file": "oauth.txt", + "tools_repo": "https://hg.mozilla.org/build/tools", + "is_release_or_beta": True, + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "branch": "default", + "dest": MOZILLA_DIR, + }, { + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "buildbot-configs" + }, { + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/%s" % BRANCH, + "hg_l10n_tag": "default", + 'vcs_share_base': HG_SHARE_BASE_DIR, + "l10n_dir": MOZILLA_DIR, + + "release_config_file": "buildbot-configs/mozilla/release-fennec-mozilla-beta.py", + "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_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-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-15/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates %(post_upload_extra)s", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-release" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + "key_alias": "release", + # 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', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ('/builds/mozilla-fennec-geoloc-api.key', '/builds/mozilla-fennec-geoloc-api.key'), + ('/builds/adjust-sdk-beta.token', '/builds/adjust-sdk-beta.token'), + ], +} diff --git a/testing/mozharness/configs/single_locale/release_mozilla-release_android_api_15.py b/testing/mozharness/configs/single_locale/release_mozilla-release_android_api_15.py new file mode 100644 index 0000000000..22d0074bba --- /dev/null +++ b/testing/mozharness/configs/single_locale/release_mozilla-release_android_api_15.py @@ -0,0 +1,97 @@ +BRANCH = "mozilla-release" +MOZ_UPDATE_CHANNEL = "release" +MOZILLA_DIR = BRANCH +OBJDIR = "obj-l10n" +EN_US_BINARY_URL = "http://archive.mozilla.org/pub/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-15/en-US" +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +config = { + "stage_product": "mobile", + "log_name": "single_locale", + "objdir": OBJDIR, + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber", + "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-release.json", + "locales_dir": "mobile/android/locales", + "locales_platform": "android", + "ignore_locales": ["en-US"], + "balrog_credentials_file": "oauth.txt", + "tools_repo": "https://hg.mozilla.org/build/tools", + "is_release_or_beta": True, + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "branch": "default", + "dest": MOZILLA_DIR, + }, { + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "buildbot-configs" + }, { + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/%s" % BRANCH, + "hg_l10n_tag": "default", + 'vcs_share_base': HG_SHARE_BASE_DIR, + "l10n_dir": MOZILLA_DIR, + + "release_config_file": "buildbot-configs/mozilla/release-fennec-mozilla-release.py", + "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_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-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-15/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates %(post_upload_extra)s", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-release" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + "key_alias": "release", + # 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', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ('/builds/mozilla-fennec-geoloc-api.key', '/builds/mozilla-fennec-geoloc-api.key'), + ('/builds/adjust-sdk.token', '/builds/adjust-sdk.token'), + ], +} diff --git a/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_15.py b/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_15.py new file mode 100644 index 0000000000..7f7d3e4e27 --- /dev/null +++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_15.py @@ -0,0 +1,97 @@ +BRANCH = "mozilla-beta" +MOZ_UPDATE_CHANNEL = "beta" +MOZILLA_DIR = BRANCH +OBJDIR = "obj-l10n" +STAGE_SERVER = "ftp.stage.mozaws.net" +EN_US_BINARY_URL = "http://" + STAGE_SERVER + "/pub/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-15/en-US" +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +config = { + "log_name": "single_locale", + "objdir": OBJDIR, + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api-pub-build.allizom.org/clobberer/lastclobber", + "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_dir": "mobile/android/locales", + "locales_platform": "android", + "ignore_locales": ["en-US"], + "balrog_credentials_file": "oauth.txt", + "tools_repo": "https://hg.mozilla.org/build/tools", + "is_release_or_beta": True, + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-beta", + "branch": "default", + "dest": MOZILLA_DIR, + }, { + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "buildbot-configs" + }, { + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s/", + "hg_l10n_tag": "default", + 'vcs_share_base': HG_SHARE_BASE_DIR, + "l10n_dir": MOZILLA_DIR, + + "release_config_file": "buildbot-configs/mozilla/staging_release-fennec-mozilla-beta.py", + "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_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-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-15/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates %(post_upload_extra)s", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-release" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + + # 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', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ('/builds/mozilla-fennec-geoloc-api.key', '/builds/mozilla-fennec-geoloc-api.key'), + ('/builds/adjust-sdk-beta.token', '/builds/adjust-sdk-beta.token'), + ], +} diff --git a/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_15.py b/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_15.py new file mode 100644 index 0000000000..da4803a60f --- /dev/null +++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_15.py @@ -0,0 +1,97 @@ +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-15/en-US" +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +config = { + "log_name": "single_locale", + "objdir": OBJDIR, + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api-pub-build.allizom.org/clobberer/lastclobber", + "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-release.json", + "locales_dir": "mobile/android/locales", + "locales_platform": "android", + "ignore_locales": ["en-US"], + "balrog_credentials_file": "oauth.txt", + "tools_repo": "https://hg.mozilla.org/build/tools", + "is_release_or_beta": True, + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-release", + "branch": "default", + "dest": MOZILLA_DIR, + }, { + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "buildbot-configs" + }, { + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s/", + "hg_l10n_tag": "default", + 'vcs_share_base': HG_SHARE_BASE_DIR, + "l10n_dir": MOZILLA_DIR, + + "release_config_file": "buildbot-configs/mozilla/staging_release-fennec-mozilla-release.py", + "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_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-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-15/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates %(post_upload_extra)s", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-release" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + + # 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', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ('/builds/mozilla-fennec-geoloc-api.key', '/builds/mozilla-fennec-geoloc-api.key'), + ('/builds/adjust-sdk.token', '/builds/adjust-sdk.token'), + ], +} diff --git a/testing/mozharness/configs/single_locale/tc_android-api-15.py b/testing/mozharness/configs/single_locale/tc_android-api-15.py new file mode 100644 index 0000000000..f15b254dce --- /dev/null +++ b/testing/mozharness/configs/single_locale/tc_android-api-15.py @@ -0,0 +1,18 @@ +import os + +config = { + "locales_file": "src/mobile/android/locales/all-locales", + "tools_repo": "https://hg.mozilla.org/build/tools", + "mozconfig": "src/mobile/android/config/mozconfigs/android-api-15/l10n-nightly", + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/src", + }, + "tooltool_servers": ['http://relengapi/tooltool/'], + + "upload_env": { + 'UPLOAD_HOST': 'localhost', + 'UPLOAD_PATH': '/home/worker/artifacts/', + }, + "mozilla_dir": "src/", +} diff --git a/testing/mozharness/configs/single_locale/try_android-api-15.py b/testing/mozharness/configs/single_locale/try_android-api-15.py new file mode 100644 index 0000000000..74d397b65e --- /dev/null +++ b/testing/mozharness/configs/single_locale/try_android-api-15.py @@ -0,0 +1,97 @@ +BRANCH = "try" +MOZILLA_DIR = BRANCH +EN_US_BINARY_URL = "http://archive.mozilla.org/pub/" \ + "mobile/nightly/latest-mozilla-central-android-api-15/en-US" + +config = { + "branch": "try", + "log_name": "single_locale", + "objdir": "obj-l10n", + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber", + "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR, + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US"], + "nightly_build": False, + 'balrog_credentials_file': 'oauth.txt', + "tools_repo": "https://hg.mozilla.org/build/tools", + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "update_gecko_source_to_enUS": False, + "repos": [{ + "vcs": "hg", + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + }, { + "vcs": "hg", + "repo": "https://hg.mozilla.org/try", + "revision": "%(revision)s", + "dest": "try", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + "clone_by_revision": True, + "clone_with_purge": True, + }], + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + 'vcs_share_base': "/builds/hg-shared", + + "l10n_dir": "l10n-central", + "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": "obj-l10n", + "EN_US_BINARY_URL": EN_US_BINARY_URL, + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "MOZ_UPDATE_CHANNEL": "try", # XXX Invalid + }, + "upload_branch": "%s-android-api-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-nightly" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + "stage_product": "mobile", + "platform": "android", # XXX Validate + "build_type": "api-15-opt", # XXX Validate + + # Balrog + "build_target": "Android_arm-eabi-gcc3", + + # 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', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], +} diff --git a/testing/testsuite-targets.mk b/testing/testsuite-targets.mk index cd4017c8d3..f10bd079c2 100644 --- a/testing/testsuite-targets.mk +++ b/testing/testsuite-targets.mk @@ -49,6 +49,7 @@ REMOTE_REFTEST = rm -f ./$@.log && $(PYTHON) _tests/reftest/remotereftest.py \ --dm_trans=$(DM_TRANS) --ignore-window-size \ --app=$(TEST_PACKAGE_NAME) --deviceIP=${TEST_DEVICE} --xre-path=${MOZ_HOST_BIN} \ --httpd-path=_tests/modules --suite reftest \ + --extra-profile-file=$(topsrcdir)/mobile/android/fonts \ $(SYMBOLS_PATH) $(EXTRA_TEST_ARGS) $(1) | tee ./$@.log RUN_REFTEST_B2G = rm -f ./$@.log && $(PYTHON) _tests/reftest/runreftestb2g.py \ @@ -207,6 +208,15 @@ endef $(foreach name,$(TEST_PKGS),$(eval $(call package_archive,$(name)))) +ifeq ($(MOZ_BUILD_APP),mobile/android) +stage-all: stage-android +stage-all: stage-instrumentation-tests +endif + +ifeq ($(MOZ_WIDGET_TOOLKIT),gonk) +stage-all: stage-b2g +endif + # Prepare _tests before any of the other staging/packaging steps. # make-stage-dir is a prerequisite to all the stage-* targets in testsuite-targets.mk. make-stage-dir: install-test-files @@ -232,6 +242,11 @@ stage-mach: make-stage-dir cp $(topsrcdir)/testing/tools/mach_test_package_bootstrap.py $(PKG_STAGE)/tools/mach_bootstrap.py cp $(topsrcdir)/mach $(PKG_STAGE) +stage-mochitest: make-stage-dir +ifeq ($(MOZ_BUILD_APP),mobile/android) + $(MAKE) -C $(DEPTH)/testing/mochitest stage-package +endif + stage-jstests: make-stage-dir $(MAKE) -C $(DEPTH)/js/src/tests stage-package @@ -245,6 +260,10 @@ stage-gtest: make-stage-dir cp $(DIST)/bin/dependentlibs.list.gtest $(PKG_STAGE)/gtest cp $(DEPTH)/mozinfo.json $(PKG_STAGE)/gtest +stage-android: make-stage-dir + $(NSINSTALL) $(topsrcdir)/mobile/android/fonts $(DEPTH)/_tests/reftest + $(NSINSTALL) $(topsrcdir)/mobile/android/fonts $(DEPTH)/_tests/testing/mochitest + stage-jetpack: make-stage-dir $(MAKE) -C $(DEPTH)/addon-sdk stage-tests-package @@ -303,9 +322,11 @@ check:: package-tests-common \ make-stage-dir \ stage-all \ + stage-b2g \ stage-config \ stage-mochitest \ stage-jstests \ + stage-android \ stage-jetpack \ stage-steeplechase \ stage-instrumentation-tests \