diff options
Diffstat (limited to '')
211 files changed, 7107 insertions, 0 deletions
diff --git a/testing/mozharness/configs/android/android_common.py b/testing/mozharness/configs/android/android_common.py new file mode 100644 index 0000000000..d84282ad58 --- /dev/null +++ b/testing/mozharness/configs/android/android_common.py @@ -0,0 +1,353 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Shared/common mozharness configuration for Android unit tests. +# +# This configuration should be combined with platform-specific mozharness +# configuration such as androidx86_7_0.py, android_hw, or similar. + +from __future__ import absolute_import +import os + + +NODEJS_PATH = None +if "MOZ_FETCHES_DIR" in os.environ: + NODEJS_PATH = os.path.join(os.environ["MOZ_FETCHES_DIR"], "node/bin/node") + + +def WebglSuite(name): + return { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "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-raw-level=%(log_raw_level)s", + "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", + "--screenshot-on-fail", + "--subsuite=" + name, + "--deviceSerial=%(device_serial)s", + ], + } + + +config = { + "default_actions": [ + "clobber", + "setup-avds", + "download-and-extract", + "create-virtualenv", + "start-emulator", + "verify-device", + "install", + "run-tests", + ], + "tooltool_cache": os.environ.get("TOOLTOOL_CACHE"), + "hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest", + # "log_format": "%(levelname)8s - %(message)s", + "log_tbpl_level": "info", + "log_raw_level": "info", + # To take device screenshots at timed intervals (each time in seconds, relative + # to the start of the run-tests step) specify screenshot_times. For example, to + # take 4 screenshots at one minute intervals you could specify: + # "screenshot_times": [60, 120, 180, 240], + "nodejs_path": NODEJS_PATH, + "suite_definitions": { + "mochitest-plain": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "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-raw-level=%(log_raw_level)s", + "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", + "--extra-profile-file=fonts", + "--extra-profile-file=hyphenation", + "--screenshot-on-fail", + "--deviceSerial=%(device_serial)s", + ], + }, + "mochitest-webgl1-core": WebglSuite("webgl1-core"), + "mochitest-webgl2-core": WebglSuite("webgl2-core"), + "mochitest-webgl1-ext": WebglSuite("webgl1-ext"), + "mochitest-webgl2-ext": WebglSuite("webgl2-ext"), + "mochitest-webgl2-deqp": WebglSuite("webgl2-deqp"), + "mochitest-webgpu": WebglSuite("webgpu"), + "mochitest-plain-gpu": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "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-raw-level=%(log_raw_level)s", + "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", + "--screenshot-on-fail", + "--subsuite=gpu", + "--deviceSerial=%(device_serial)s", + ], + }, + "mochitest-media": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "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-raw-level=%(log_raw_level)s", + "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", + "--screenshot-on-fail", + "--chunk-by-runtime", + "--subsuite=media", + "--deviceSerial=%(device_serial)s", + ], + }, + "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", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", + "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--extra-profile-file=fonts", + "--extra-profile-file=hyphenation", + "--suite=reftest", + "--log-raw=%(raw_log_file)s", + "--log-raw-level=%(log_raw_level)s", + "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", + "--deviceSerial=%(device_serial)s", + "--topsrcdir=tests", + ], + "tests": [ + "tests/layout/reftests/reftest.list", + ], + }, + "reftest-qr": { + "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", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", + "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--extra-profile-file=fonts", + "--extra-profile-file=hyphenation", + "--suite=reftest", + "--log-raw=%(raw_log_file)s", + "--log-raw-level=%(log_raw_level)s", + "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", + "--deviceSerial=%(device_serial)s", + "--topsrcdir=tests", + ], + "tests": [ + "tests/layout/reftests/reftest-qr.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", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", + "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--suite=crashtest", + "--log-raw=%(raw_log_file)s", + "--log-raw-level=%(log_raw_level)s", + "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", + "--deviceSerial=%(device_serial)s", + "--topsrcdir=tests", + ], + "tests": [ + "tests/testing/crashtest/crashtests.list", + ], + }, + "crashtest-qr": { + "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", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", + "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--suite=crashtest", + "--log-raw=%(raw_log_file)s", + "--log-raw-level=%(log_raw_level)s", + "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", + "--deviceSerial=%(device_serial)s", + "--topsrcdir=tests", + ], + "tests": [ + "tests/testing/crashtest/crashtests-qr.list", + ], + }, + "jittest": { + "run_filename": "jit_test.py", + "testsdir": "jit-test/jit-test", + "options": [ + "../../bin/js", + "--remote", + "-j", + "1", + "--localLib=../../bin", + "--no-slow", + "--no-progress", + "--format=automation", + "--jitflags=all", + "--deviceSerial=%(device_serial)s", + ], + }, + "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", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", + "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--extra-profile-file=jsreftest/tests/js/src/tests/user.js", + "--suite=jstestbrowser", + "--log-raw=%(raw_log_file)s", + "--log-raw-level=%(log_raw_level)s", + "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", + "--deviceSerial=%(device_serial)s", + "--topsrcdir=../jsreftest/tests", + ], + "tests": [ + "../jsreftest/tests/js/src/tests/jstests.list", + ], + }, + "xpcshell": { + "run_filename": "remotexpcshelltests.py", + "testsdir": "xpcshell", + "install": False, + "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-raw-level=%(log_raw_level)s", + "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", + "--test-plugin-path=none", + "--deviceSerial=%(device_serial)s", + "%(xpcshell_extra)s", + ], + }, + "cppunittest": { + "run_filename": "remotecppunittests.py", + "testsdir": "cppunittest", + "install": False, + "options": [ + "--symbols-path=%(symbols_path)s", + "--xre-path=%(xre_path)s", + "--localBinDir=../bin", + "--apk=%(installer_path)s", + ".", + "--deviceSerial=%(device_serial)s", + "--log-raw=%(raw_log_file)s", + "--log-raw-level=%(log_raw_level)s", + "--log-errorsummary=%(error_summary_file)s", + ], + }, + "geckoview-junit": { + "run_filename": "runjunit.py", + "testsdir": "mochitest", + "options": [ + "--certificate-path=%(certs_path)s", + "--remote-webserver=%(remote_webserver)s", + "--symbols-path=%(symbols_path)s", + "--utility-path=%(utility_path)s", + "--deviceSerial=%(device_serial)s", + "--log-raw=%(raw_log_file)s", + "--log-raw-level=%(log_raw_level)s", + ], + }, + "gtest": { + "run_filename": "remotegtests.py", + "testsdir": "gtest", + "install": True, + "options": [ + "--symbols-path=%(symbols_path)s", + "--tests-path=%(gtest_dir)s", + "--libxul=%(gtest_dir)s/gtest_bin/gtest/libxul.so", + "--package=%(app)s", + "--deviceSerial=%(device_serial)s", + ], + }, + }, # end suite_definitions +} diff --git a/testing/mozharness/configs/android/android_hw.py b/testing/mozharness/configs/android/android_hw.py new file mode 100644 index 0000000000..f88568b43b --- /dev/null +++ b/testing/mozharness/configs/android/android_hw.py @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# mozharness configuration for Android hardware unit tests +# +# This configuration should be combined with suite definitions and other +# mozharness configuration from android_common.py, or similar. + +config = { + "exes": {}, + "env": { + "DISPLAY": ":0.0", + "PATH": "%(PATH)s", + }, + "default_actions": [ + "clobber", + "download-and-extract", + "create-virtualenv", + "verify-device", + "install", + "run-tests", + ], + "tooltool_cache": "/builds/tooltool_cache", + # from android_common.py + "download_tooltool": True, + "xpcshell_extra": "--remoteTestRoot=/data/local/tmp/test_root", +} diff --git a/testing/mozharness/configs/android/android_pgo.py b/testing/mozharness/configs/android/android_pgo.py new file mode 100644 index 0000000000..b6d5f2d948 --- /dev/null +++ b/testing/mozharness/configs/android/android_pgo.py @@ -0,0 +1,21 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Mozharness configuration for Android PGO. +# +# This configuration should be combined with platform-specific mozharness +# configuration such as androidarm_4_3.py, or similar. + +config = { + "default_actions": [ + "setup-avds", + "download", + "create-virtualenv", + "start-emulator", + "verify-device", + "install", + "run-tests", + ], + "output_directory": "/sdcard/pgo_profile", +} 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..ba2e1f19a6 --- /dev/null +++ b/testing/mozharness/configs/android/androidarm_4_3.py @@ -0,0 +1,39 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# mozharness configuration for Android 4.3 unit tests +# +# This configuration should be combined with suite definitions and other +# mozharness configuration from android_common.py, or similar. + +config = { + "deprecated_sdk_path": True, + "tooltool_manifest_path": "testing/config/tooltool-manifests/androidarm_4_3/releng.manifest", + "emulator_manifest": """ + [ + { + "algorithm": "sha512", + "visibility": "internal", + "filename": "android-sdk_r24.0.2a-linux.tar.gz", + "unpack": true, + "digest": "9b7d4a6fcb33d80884c68e9099a3e11963a79ec0a380a5a9e1a093e630f960d0a5083392c8804121c3ad27ee8ba29ca8df785d19d5a7fdc89458c4e51ada5120", + "size": 38591399 + } + ]""", + "emulator_avd_name": "test-1", + "emulator_process_name": "emulator64-arm", + "emulator_extra_args": "-show-kernel -debug init,console,gles,memcheck,adbserver,adbclient,adb,avd_config,socket", + "exes": { + "adb": "%(abs_work_dir)s/android-sdk-linux/platform-tools/adb", + }, + "env": { + "DISPLAY": ":0.0", + "PATH": "%(PATH)s:%(abs_work_dir)s/android-sdk-linux/tools:%(abs_work_dir)s/android-sdk-linux/platform-tools", + }, + "bogomips_minimum": 250, + # in support of test-verify + "android_version": 18, + "is_fennec": True, + "is_emulator": True, +} diff --git a/testing/mozharness/configs/android/androidx86_7_0.py b/testing/mozharness/configs/android/androidx86_7_0.py new file mode 100644 index 0000000000..5208990da0 --- /dev/null +++ b/testing/mozharness/configs/android/androidx86_7_0.py @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# mozharness configuration for Android x86/x86_64 7.0 unit tests +# +# This configuration should be combined with suite definitions and other +# mozharness configuration from android_common.py, or similar. + +config = { + "tooltool_manifest_path": "testing/config/tooltool-manifests/androidx86_7_0/releng.manifest", + "emulator_avd_name": "test-1", + "emulator_process_name": "qemu-system-x86_64", + "emulator_extra_args": "-gpu on -skip-adb-auth -verbose -show-kernel -ranchu -selinux permissive -memory 3072 -cores 4", + "exes": { + "adb": "%(abs_sdk_dir)s/platform-tools/adb", + }, + "env": { + "DISPLAY": ":0.0", + "PATH": "%(PATH)s:%(abs_sdk_dir)s/emulator:%(abs_sdk_dir)s/tools:%(abs_sdk_dir)s/platform-tools", + # "LIBGL_DEBUG": "verbose" + }, + "bogomips_minimum": 3000, + # in support of test-verify + "android_version": 24, + "is_fennec": False, + "is_emulator": True, +} diff --git a/testing/mozharness/configs/android/wrench.py b/testing/mozharness/configs/android/wrench.py new file mode 100644 index 0000000000..b7932da0ff --- /dev/null +++ b/testing/mozharness/configs/android/wrench.py @@ -0,0 +1,22 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# mozharness configuration for Android x86 7.0 wrench tests +# +# This configuration should be combined with suite definitions and other +# mozharness configuration from android_common.py, or similar. + +config = { + "tooltool_manifest_path": "testing/config/tooltool-manifests/androidx86_7_0/releng.manifest", + "emulator_avd_name": "test-1", + "emulator_process_name": "emulator64-x86", + "emulator_extra_args": "-gpu on -skip-adb-auth -verbose -show-kernel -ranchu -selinux permissive -memory 3072 -cores 4", + "exes": { + "adb": "%(abs_sdk_dir)s/platform-tools/adb", + }, + "env": { + "DISPLAY": ":0.0", + "PATH": "%(PATH)s:%(abs_sdk_dir)s/emulator:%(abs_sdk_dir)s/tools:%(abs_sdk_dir)s/platform-tools", + }, +} diff --git a/testing/mozharness/configs/awsy/linux_config.py b/testing/mozharness/configs/awsy/linux_config.py new file mode 100644 index 0000000000..325eabb4e9 --- /dev/null +++ b/testing/mozharness/configs/awsy/linux_config.py @@ -0,0 +1,31 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +PYTHON = "/usr/bin/env python" +VENV_PATH = "%s/build/venv" % os.getcwd() +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") +BINARY_PATH = os.path.join(ABS_WORK_DIR, "application", "firefox", "firefox-bin") +INSTALLER_PATH = os.path.join(ABS_WORK_DIR, "installer.tar.bz2") + +config = { + "log_name": "awsy", + "binary_path": BINARY_PATH, + "installer_path": INSTALLER_PATH, + "virtualenv_path": VENV_PATH, + "cmd_timeout": 6500, + "exes": {}, + "title": os.uname()[1].lower().split(".")[0], + "default_actions": [ + "clobber", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install", + "run-tests", + ], + "tooltool_cache": os.path.join(os.getcwd(), "tooltool_cache"), +} diff --git a/testing/mozharness/configs/awsy/macosx_config.py b/testing/mozharness/configs/awsy/macosx_config.py new file mode 100644 index 0000000000..d17db7d62d --- /dev/null +++ b/testing/mozharness/configs/awsy/macosx_config.py @@ -0,0 +1,29 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +PYTHON = "/usr/bin/env python" +VENV_PATH = "%s/build/venv" % os.getcwd() +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") +INSTALLER_PATH = os.path.join(ABS_WORK_DIR, "installer.dmg") + +config = { + "log_name": "awsy", + "installer_path": INSTALLER_PATH, + "virtualenv_path": VENV_PATH, + "cmd_timeout": 6500, + "exes": {}, + "title": os.uname()[1].lower().split(".")[0], + "default_actions": [ + "clobber", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install", + "run-tests", + ], + "tooltool_cache": os.path.join(os.getcwd(), "tooltool_cache"), +} diff --git a/testing/mozharness/configs/awsy/taskcluster_windows_config.py b/testing/mozharness/configs/awsy/taskcluster_windows_config.py new file mode 100644 index 0000000000..4e588bb877 --- /dev/null +++ b/testing/mozharness/configs/awsy/taskcluster_windows_config.py @@ -0,0 +1,30 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os +import sys +import mozharness + +external_tools_path = os.path.join( + os.path.abspath(os.path.dirname(os.path.dirname(mozharness.__file__))), + "external_tools", +) + +config = { + "virtualenv_path": "venv", + "exes": { + "python": sys.executable, + "hg": os.path.join(os.environ["PROGRAMFILES"], "Mercurial", "hg"), + }, + "download_symbols": "ondemand", + "default_actions": [ + "clobber", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install", + "run-tests", + ], +} diff --git a/testing/mozharness/configs/balrog/production.py b/testing/mozharness/configs/balrog/production.py new file mode 100644 index 0000000000..fbbdf53e0e --- /dev/null +++ b/testing/mozharness/configs/balrog/production.py @@ -0,0 +1,35 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "balrog_servers": [ + { + "balrog_api_root": "https://aus4-admin.mozilla.org/api", + "ignore_failures": False, + "url_replacements": [ + ( + "http://archive.mozilla.org/pub", + "http://download.cdn.mozilla.net/pub", + ), + ], + "balrog_usernames": { + "firefox": "balrog-ffxbld", + "thunderbird": "balrog-tbirdbld", + "mobile": "balrog-ffxbld", + "Fennec": "balrog-ffxbld", + }, + }, + # Bug 1261346 - temporarily disable staging balrog submissions + # { + # 'balrog_api_root': 'https://aus4-admin-dev.allizom.org/api', + # 'ignore_failures': True, + # 'balrog_usernames': { + # 'firefox': 'stage-ffxbld', + # 'thunderbird': 'stage-tbirdbld', + # 'mobile': 'stage-ffxbld', + # 'Fennec': 'stage-ffxbld', + # } + # } + ] +} diff --git a/testing/mozharness/configs/balrog/staging.py b/testing/mozharness/configs/balrog/staging.py new file mode 100644 index 0000000000..7329a4d128 --- /dev/null +++ b/testing/mozharness/configs/balrog/staging.py @@ -0,0 +1,18 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "balrog_servers": [ + { + "balrog_api_root": "https://balrog-admin.stage.mozaws.net/api", + "ignore_failures": False, + "balrog_usernames": { + "firefox": "balrog-stage-ffxbld", + "thunderbird": "balrog-stage-tbirdbld", + "mobile": "balrog-stage-ffxbld", + "Fennec": "balrog-stage-ffxbld", + }, + } + ] +} diff --git a/testing/mozharness/configs/builds/build_pool_specifics.py b/testing/mozharness/configs/builds/build_pool_specifics.py new file mode 100644 index 0000000000..837060b649 --- /dev/null +++ b/testing/mozharness/configs/builds/build_pool_specifics.py @@ -0,0 +1,14 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# this is a dict of pool specific keys/values. As this fills up and more +# fx build factories are ported, we might deal with this differently + +config = { + "taskcluster": { + "upload_env": { + "UPLOAD_PATH": "/builds/worker/artifacts", + }, + }, +} 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..3461a3e77a --- /dev/null +++ b/testing/mozharness/configs/builds/releng_base_android_64_builds.py @@ -0,0 +1,59 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + ######################################################################### + ######## ANDROID GENERIC CONFIG KEYS/VAlUES + # note: overridden by MOZHARNESS_ACTIONS in TaskCluster tasks + "default_actions": [ + "build", + "multi-l10n", + ], + "max_build_output_timeout": 0, + "secret_files": [ + { + "filename": "/builds/gls-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/gls-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "/builds/sb-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/sb-gapi.data", + "min_scm_level": 1, + }, + { + "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", + }, + ], + "vcs_share_base": "/builds/hg-shared", + "multi_locale": True, + ######################################################################### + ######################################################################### + "platform": "android", + "stage_platform": "android", + "enable_max_vsize": False, + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/worker/tooltool-cache", + "TOOLTOOL_HOME": "/builds", + "LC_ALL": "C", + "PATH": "/usr/local/bin:/bin:/usr/bin", + "SHIP_LICENSED_FONTS": "1", + }, + "src_mozconfig": "mobile/android/config/mozconfigs/android/nightly", + # Bug 1583594: GeckoView doesn't (yet) produce have a package file + # from which to extract package metrics. + "disable_package_metrics": True, + ######################################################################### +} diff --git a/testing/mozharness/configs/builds/releng_base_firefox.py b/testing/mozharness/configs/builds/releng_base_firefox.py new file mode 100644 index 0000000000..b634aff677 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_base_firefox.py @@ -0,0 +1,7 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "app_name": "browser", +} diff --git a/testing/mozharness/configs/builds/releng_base_linux_32_builds.py b/testing/mozharness/configs/builds/releng_base_linux_32_builds.py new file mode 100644 index 0000000000..b1c238fe1b --- /dev/null +++ b/testing/mozharness/configs/builds/releng_base_linux_32_builds.py @@ -0,0 +1,61 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + ######################################################################### + ######## LINUX GENERIC CONFIG KEYS/VAlUES + # if you are updating this with custom 32 bit keys/values please add them + # below under the '32 bit specific' code block otherwise, update in this + # code block and also make sure this is synced with + # releng_base_linux_64_builds.py + # note: overridden by MOZHARNESS_ACTIONS in TaskCluster tasks + "default_actions": [ + "clobber", + "build", + ], + "secret_files": [ + { + "filename": "/builds/gls-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/gls-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "/builds/sb-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/sb-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "/builds/mozilla-desktop-geoloc-api.key", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/mozilla-desktop-geoloc-api.key", + "min_scm_level": 2, + "default": "try-build-has-no-secrets", + }, + ], + "vcs_share_base": "/builds/hg-shared", + ######################################################################### + ######################################################################### + ###### 32 bit specific ###### + "platform": "linux", + "stage_platform": "linux", + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/worker/tooltool-cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + # 32 bit specific + "PATH": "/usr/local/bin:\ +/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + }, + "mozconfig_platform": "linux32", + "mozconfig_variant": "nightly", + ######################################################################### +} diff --git a/testing/mozharness/configs/builds/releng_base_linux_64_builds.py b/testing/mozharness/configs/builds/releng_base_linux_64_builds.py new file mode 100644 index 0000000000..d8a90f3617 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_base_linux_64_builds.py @@ -0,0 +1,60 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + ######################################################################### + ######## LINUX GENERIC CONFIG KEYS/VAlUES + # if you are updating this with custom 64 bit keys/values please add them + # below under the '64 bit specific' code block otherwise, update in this + # code block and also make sure this is synced with + # releng_base_linux_64_builds.py + "default_actions": [ + "clobber", + "build", + ], + "secret_files": [ + { + "filename": "/builds/gls-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/gls-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "/builds/sb-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/sb-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "/builds/mozilla-desktop-geoloc-api.key", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/mozilla-desktop-geoloc-api.key", + "min_scm_level": 2, + "default": "try-build-has-no-secrets", + }, + ], + "vcs_share_base": "/builds/hg-shared", + ######################################################################### + ######################################################################### + ###### 64 bit specific ###### + "platform": "linux64", + "stage_platform": "linux64", + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/worker/tooltool-cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:" "/usr/bin:/usr/local/sbin:/usr/sbin:" "/sbin" + ## + }, + "mozconfig_platform": "linux64", + "mozconfig_variant": "nightly", + ######################################################################### +} diff --git a/testing/mozharness/configs/builds/releng_base_mac_64_cross_builds.py b/testing/mozharness/configs/builds/releng_base_mac_64_cross_builds.py new file mode 100644 index 0000000000..3b94391174 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_base_mac_64_cross_builds.py @@ -0,0 +1,56 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + ######################################################################### + ######## MACOSX CROSS GENERIC CONFIG KEYS/VAlUES + # note: overridden by MOZHARNESS_ACTIONS in TaskCluster tasks + "default_actions": [ + "build", + ], + "secret_files": [ + { + "filename": "/builds/gls-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/gls-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "/builds/sb-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/sb-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "/builds/mozilla-desktop-geoloc-api.key", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/mozilla-desktop-geoloc-api.key", + "min_scm_level": 2, + "default": "try-build-has-no-secrets", + }, + ], + "enable_check_test": False, + "vcs_share_base": "/builds/hg-shared", + ######################################################################### + ######################################################################### + ###### 64 bit specific ###### + "platform": "macosx64", + "stage_platform": "macosx64", + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/worker/tooltool-cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:" "/usr/bin:/usr/local/sbin:/usr/sbin:/sbin" + ## + }, + "mozconfig_platform": "macosx64", + "mozconfig_variant": "nightly", + ######################################################################### +} diff --git a/testing/mozharness/configs/builds/releng_base_windows_32_mingw_builds.py b/testing/mozharness/configs/builds/releng_base_windows_32_mingw_builds.py new file mode 100644 index 0000000000..3f4433fc58 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_base_windows_32_mingw_builds.py @@ -0,0 +1,54 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + ######################################################################### + ######## LINUX GENERIC CONFIG KEYS/VAlUES + # if you are updating this with custom 32 bit keys/values please add them + # below under the '32 bit specific' code block otherwise, update in this + # code block and also make sure this is synced with + # releng_base_linux_64_builds.py + "secret_files": [ + { + "filename": "/builds/gls-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/gls-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "/builds/sb-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/sb-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "/builds/mozilla-desktop-geoloc-api.key", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/mozilla-desktop-geoloc-api.key", + "min_scm_level": 2, + "default": "try-build-has-no-secrets", + }, + ], + "vcs_share_base": "/builds/hg-shared", + ######################################################################### + ######################################################################### + ###### 32 bit specific ###### + "platform": "win32-mingw32", + "stage_platform": "win32-mingw32", + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/worker/tooltool-cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + # 32 bit specific + "PATH": "/usr/local/bin:/bin:/usr/bin", + }, + "mozconfig_platform": "win32", + ######################################################################### +} diff --git a/testing/mozharness/configs/builds/releng_base_windows_64_mingw_builds.py b/testing/mozharness/configs/builds/releng_base_windows_64_mingw_builds.py new file mode 100644 index 0000000000..26ab6cfcbc --- /dev/null +++ b/testing/mozharness/configs/builds/releng_base_windows_64_mingw_builds.py @@ -0,0 +1,55 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + ######################################################################### + ######## LINUX GENERIC CONFIG KEYS/VAlUES + # if you are updating this with custom 32 bit keys/values please add them + # below under the '32 bit specific' code block otherwise, update in this + # code block and also make sure this is synced with + # releng_base_linux_64_builds.py + "secret_files": [ + { + "filename": "/builds/gls-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/gls-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "/builds/sb-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/sb-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "/builds/mozilla-desktop-geoloc-api.key", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/mozilla-desktop-geoloc-api.key", + "min_scm_level": 2, + "default": "try-build-has-no-secrets", + }, + ], + "vcs_share_base": "/builds/hg-shared", + ######################################################################### + ######################################################################### + ###### 64 bit specific ###### + "platform": "win64-mingw32", + "stage_platform": "win64-mingw32", + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/worker/tooltool-cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + # 32 bit specific + "PATH": "/usr/local/bin:/bin:/usr/bin", + }, + "mozconfig_platform": "win64", + "mozconfig_variant": "mingw32", + ######################################################################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64.py new file mode 100644 index 0000000000..77879cae1b --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64.py @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-aarch64", + "src_mozconfig": "mobile/android/config/mozconfigs/android-aarch64/nightly", +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_beta.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_beta.py new file mode 100644 index 0000000000..e340422568 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_beta.py @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-aarch64", + "src_mozconfig": "mobile/android/config/mozconfigs/android-aarch64/beta", +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_beta_debug.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_beta_debug.py new file mode 100644 index 0000000000..42462096cc --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_beta_debug.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-aarch64-debug", + "src_mozconfig": "mobile/android/config/mozconfigs/android-aarch64/debug-beta", + "debug_build": True, +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_debug.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_debug.py new file mode 100644 index 0000000000..21ccc11cf8 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_debug.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-aarch64-debug", + "src_mozconfig": "mobile/android/config/mozconfigs/android-aarch64/debug", + "debug_build": True, +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16.py new file mode 100644 index 0000000000..0cfda6d679 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16.py @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-api-16", + "src_mozconfig": "mobile/android/config/mozconfigs/android-api-16/nightly", +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_beta.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_beta.py new file mode 100644 index 0000000000..4fc089feea --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_beta.py @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-api-16", + "src_mozconfig": "mobile/android/config/mozconfigs/android-api-16/beta", +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_beta_debug.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_beta_debug.py new file mode 100644 index 0000000000..2445f5d2f7 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_beta_debug.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-api-16-debug", + "src_mozconfig": "mobile/android/config/mozconfigs/android-api-16/debug-beta", + "debug_build": True, +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_debug.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_debug.py new file mode 100644 index 0000000000..0711f8c783 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_debug.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-api-16-debug", + "src_mozconfig": "mobile/android/config/mozconfigs/android-api-16/debug", + "debug_build": True, +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_debug_ccov.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_debug_ccov.py new file mode 100644 index 0000000000..a2fcd00cfd --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_debug_ccov.py @@ -0,0 +1,15 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-api-16-debug-ccov", + "src_mozconfig": "mobile/android/config/mozconfigs/android-api-16/debug-ccov", + "debug_build": True, + "postflight_build_mach_commands": [ + [ + "android", + "archive-coverage-artifacts", + ], + ], +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_debug_searchfox.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_debug_searchfox.py new file mode 100644 index 0000000000..7c5ae88e33 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_debug_searchfox.py @@ -0,0 +1,12 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-api-16-debug", + "env": { + "SCCACHE_DISABLE": "1", + }, + "src_mozconfig": "mobile/android/config/mozconfigs/android-api-16/debug-searchfox", + "debug_build": True, +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_gradle_dependencies.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_gradle_dependencies.py new file mode 100644 index 0000000000..950d520261 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_gradle_dependencies.py @@ -0,0 +1,16 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-api-16-gradle-dependencies", + "src_mozconfig": "mobile/android/config/mozconfigs/android-api-16-gradle-dependencies/nightly", + # gradle-dependencies doesn't produce a package. So don't collect package metrics. + "postflight_build_mach_commands": [ + [ + "android", + "gradle-dependencies", + ], + ], + "max_build_output_timeout": 0, +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_partner_sample1.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_partner_sample1.py new file mode 100644 index 0000000000..a703cf9f87 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_partner_sample1.py @@ -0,0 +1,10 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-api-16-partner-sample1", + "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", +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_profile_generate.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_profile_generate.py new file mode 100644 index 0000000000..e87f6730a0 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_profile_generate.py @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-api-16", + "src_mozconfig": "mobile/android/config/mozconfigs/android-api-16/profile-generate", +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_geckoview_docs.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_geckoview_docs.py new file mode 100644 index 0000000000..136a8cfead --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_geckoview_docs.py @@ -0,0 +1,26 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-geckoview-docs", + "src_mozconfig": "mobile/android/config/mozconfigs/android-api-16/nightly-android-lints", + # geckoview-docs doesn't produce a package. So don't collect package metrics. + "disable_package_metrics": True, + "postflight_build_mach_commands": [ + [ + "android", + "geckoview-docs", + "--archive", + "--upload", + "mozilla/geckoview", + "--upload-branch", + "gh-pages", + "--javadoc-path", + "javadoc/{project}", + "--upload-message", + "Update {project} documentation to rev {revision}", + ], + ], + "max_build_output_timeout": 0, +} 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..01fda10b32 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86.py @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-x86", + "src_mozconfig": "mobile/android/config/mozconfigs/android-x86/nightly", +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64.py new file mode 100644 index 0000000000..839779f71f --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64.py @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-x86_64", + "src_mozconfig": "mobile/android/config/mozconfigs/android-x86_64/nightly", +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_beta.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_beta.py new file mode 100644 index 0000000000..838c76ec70 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_beta.py @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-x86_64", + "src_mozconfig": "mobile/android/config/mozconfigs/android-x86_64/beta", +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_beta_debug.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_beta_debug.py new file mode 100644 index 0000000000..4a345506b5 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_beta_debug.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-x86_64-debug", + "src_mozconfig": "mobile/android/config/mozconfigs/android-x86_64/debug-beta", + "debug_build": True, +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_debug.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_debug.py new file mode 100644 index 0000000000..3cc64c7257 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_debug.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-x86_64-debug", + "src_mozconfig": "mobile/android/config/mozconfigs/android-x86_64/debug", + "debug_build": True, +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_fuzzing_asan.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_fuzzing_asan.py new file mode 100644 index 0000000000..1095c18c68 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_fuzzing_asan.py @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-x86_64-asan-fuzzing", + "src_mozconfig": "mobile/android/config/mozconfigs/android-x86_64/nightly-fuzzing-asan", +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_beta.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_beta.py new file mode 100644 index 0000000000..1bf5078885 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_beta.py @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-x86", + "src_mozconfig": "mobile/android/config/mozconfigs/android-x86/beta", +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_beta_debug.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_beta_debug.py new file mode 100644 index 0000000000..50cb83c454 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_beta_debug.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-x86-debug", + "src_mozconfig": "mobile/android/config/mozconfigs/android-x86/debug-beta", + "debug_build": True, +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_debug.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_debug.py new file mode 100644 index 0000000000..eaa4c09ed0 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_debug.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-x86-debug", + "src_mozconfig": "mobile/android/config/mozconfigs/android-x86/debug", + "debug_build": True, +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_fuzzing_debug.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_fuzzing_debug.py new file mode 100644 index 0000000000..5d892c313f --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_fuzzing_debug.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "android-x86-fuzzing-debug", + "src_mozconfig": "mobile/android/config/mozconfigs/android-x86/debug-fuzzing", + "debug_build": True, +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/32_debug.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_debug.py new file mode 100644 index 0000000000..9ee5508d45 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_debug.py @@ -0,0 +1,27 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "debug_build": True, + "stage_platform": "linux-debug", + #### 32 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + # 32 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:", + "LD_LIBRARY_PATH": "%(abs_obj_dir)s/dist/bin", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + "TINDERBOX_OUTPUT": "1", + }, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/32_rusttests.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_rusttests.py new file mode 100644 index 0000000000..c33908220f --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_rusttests.py @@ -0,0 +1,29 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "linux-rusttests", + #### 32 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + # 32 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + "LD_LIBRARY_PATH": "%(abs_obj_dir)s/dist/bin", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + "TINDERBOX_OUTPUT": "1", + }, + "build_targets": ["pre-export", "export", "recurse_rusttests"], + "mozconfig_variant": "rusttests", + "disable_package_metrics": True, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/32_rusttests_debug.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_rusttests_debug.py new file mode 100644 index 0000000000..399f5ad7c2 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_rusttests_debug.py @@ -0,0 +1,29 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "debug_build": True, + "stage_platform": "linux-rusttests-debug", + #### 32 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + # 32 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + "LD_LIBRARY_PATH": "%(abs_obj_dir)s/dist/bin", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + "TINDERBOX_OUTPUT": "1", + }, + "build_targets": ["pre-export", "export", "recurse_rusttests"], + "disable_package_metrics": True, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_add-on-devel.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_add-on-devel.py new file mode 100644 index 0000000000..419c0f0764 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_add-on-devel.py @@ -0,0 +1,25 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "linux64-add-on-devel", + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/builds/worker/workspace/build/src/gcc/bin:/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + }, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan.py new file mode 100644 index 0000000000..53c7ccb7e8 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan.py @@ -0,0 +1,31 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "default_actions": [ + "clobber", + "build", + ], + "stage_platform": "linux64-asan", + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + }, + "mozconfig_variant": "nightly-asan", + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_and_debug.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_and_debug.py new file mode 100644 index 0000000000..514f8abdea --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_and_debug.py @@ -0,0 +1,32 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "default_actions": [ + "clobber", + "build", + ], + "stage_platform": "linux64-asan-debug", + "debug_build": True, + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + }, + "mozconfig_variant": "debug-asan", + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_reporter_tc.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_reporter_tc.py new file mode 100644 index 0000000000..d1cf3a0c7b --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_reporter_tc.py @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "linux64-asan-reporter", + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "MOZ_AUTOMATION": "1", + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + "ASAN_OPTIONS": "detect_leaks=0", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + }, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc.py new file mode 100644 index 0000000000..eea28a0bb8 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc.py @@ -0,0 +1,26 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "linux64-asan", + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + }, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc_and_debug.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc_and_debug.py new file mode 100644 index 0000000000..617b3a471c --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc_and_debug.py @@ -0,0 +1,27 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "linux64-asan-debug", + "debug_build": True, + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + }, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_code_coverage_debug.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_code_coverage_debug.py new file mode 100644 index 0000000000..74bc6b0712 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_code_coverage_debug.py @@ -0,0 +1,26 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "linux64-ccov", + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + }, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_code_coverage_opt.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_code_coverage_opt.py new file mode 100644 index 0000000000..74bc6b0712 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_code_coverage_opt.py @@ -0,0 +1,26 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "linux64-ccov", + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + }, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_debug.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_debug.py new file mode 100644 index 0000000000..b546ccfcc6 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_debug.py @@ -0,0 +1,27 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "linux64-debug", + "debug_build": True, + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + # 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + "LD_LIBRARY_PATH": "%(abs_obj_dir)s/dist/bin", + "TINDERBOX_OUTPUT": "1", + }, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_fuzzing_asan_tc.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_fuzzing_asan_tc.py new file mode 100644 index 0000000000..1c5e7404d8 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_fuzzing_asan_tc.py @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "linux64-fuzzing-asan", + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "MOZ_AUTOMATION": "1", + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + "ASAN_OPTIONS": "detect_leaks=0", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + }, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_fuzzing_debug.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_fuzzing_debug.py new file mode 100644 index 0000000000..89bd1bc69b --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_fuzzing_debug.py @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "linux64-fuzzing-debug", + "debug_build": True, + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "MOZ_AUTOMATION": "1", + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + # 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + "LD_LIBRARY_PATH": "%(abs_obj_dir)s/dist/bin", + "TINDERBOX_OUTPUT": "1", + }, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_fuzzing_tsan_tc.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_fuzzing_tsan_tc.py new file mode 100644 index 0000000000..22f5f87a28 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_fuzzing_tsan_tc.py @@ -0,0 +1,26 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "linux64-fuzzing-tsan", + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + }, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_noopt_debug.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_noopt_debug.py new file mode 100644 index 0000000000..0422cea052 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_noopt_debug.py @@ -0,0 +1,25 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "linux64-noopt-debug", + "debug_build": True, + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + # 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + "LD_LIBRARY_PATH": "%(abs_obj_dir)s/dist/bin", + "TINDERBOX_OUTPUT": "1", + }, +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_rusttests.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_rusttests.py new file mode 100644 index 0000000000..6b53167f0f --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_rusttests.py @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "linux64-rusttests", + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": ":/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + }, + "build_targets": ["pre-export", "export", "recurse_rusttests"], + "disable_package_metrics": True, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_rusttests_debug.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_rusttests_debug.py new file mode 100644 index 0000000000..95cfe4ac8b --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_rusttests_debug.py @@ -0,0 +1,27 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "linux64-rusttests-debug", + "debug_build": True, + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + # 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + "LD_LIBRARY_PATH": "%(abs_obj_dir)s/dist/bin", + "TINDERBOX_OUTPUT": "1", + }, + "build_targets": ["pre-export", "export", "recurse_rusttests"], + "disable_package_metrics": True, +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_searchfox_and_debug.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_searchfox_and_debug.py new file mode 100644 index 0000000000..e136291be3 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_searchfox_and_debug.py @@ -0,0 +1,41 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + # note: overridden by MOZHARNESS_ACTIONS in TaskCluster tasks + "default_actions": [ + "clobber", + "build", + ], + "vcs_share_base": "/builds/hg-shared", + ######################################################################### + ######################################################################### + ###### 64 bit specific ###### + "platform": "linux64", + "stage_platform": "linux64-searchfox-opt", + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/worker/tooltool-cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + # Disable sccache because otherwise we won't index the files that + # sccache optimizes away compilation for + "SCCACHE_DISABLE": "1", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + ## + }, + # This doesn't actually inherit from anything. + "mozconfig_platform": "linux64", + "mozconfig_variant": "debug-searchfox-clang", +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_source.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_source.py new file mode 100644 index 0000000000..d728d917a2 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_source.py @@ -0,0 +1,15 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "default_actions": ["package-source"], + "stage_platform": "source", # Not used, but required by the script + "env": { + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "TINDERBOX_OUTPUT": "1", + "LC_ALL": "C", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + }, + "src_mozconfig": "browser/config/mozconfigs/linux64/source", +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_stat_and_debug.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_stat_and_debug.py new file mode 100644 index 0000000000..53ec22511c --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_stat_and_debug.py @@ -0,0 +1,38 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + # note: overridden by MOZHARNESS_ACTIONS in TaskCluster tasks + "default_actions": [ + "clobber", + "build", + ], + "vcs_share_base": "/builds/hg-shared", + ######################################################################### + ######################################################################### + ###### 64 bit specific ###### + "platform": "linux64", + "stage_platform": "linux64-st-an-opt", + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/worker/tooltool-cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + ## + }, + # This doesn't actually inherit from anything. + "mozconfig_platform": "linux64", + "mozconfig_variant": "debug-static-analysis-clang", +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_tsan_tc.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_tsan_tc.py new file mode 100644 index 0000000000..27fd6beeed --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_tsan_tc.py @@ -0,0 +1,26 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "linux64-tsan", + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + }, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_valgrind.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_valgrind.py new file mode 100644 index 0000000000..feb6f70c27 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_valgrind.py @@ -0,0 +1,31 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "default_actions": [ + "clobber", + "build", + "valgrind-test", + ], + "stage_platform": "linux64-valgrind", + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + }, + "mozconfig_variant": "valgrind", +} diff --git a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_add-on-devel.py b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_add-on-devel.py new file mode 100644 index 0000000000..f7d099c5c6 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_add-on-devel.py @@ -0,0 +1,26 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "macosx64-add-on-devel", + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/tools/python/bin:/opt/local/bin:/usr/bin:" + "/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin", + ## + }, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_code_coverage_debug.py b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_code_coverage_debug.py new file mode 100644 index 0000000000..19b3efcabc --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_code_coverage_debug.py @@ -0,0 +1,27 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "macosx64-ccov-debug", + "debug_build": True, + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/tools/python/bin:/opt/local/bin:/usr/bin:" + "/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin", + ## + }, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_code_coverage_opt.py b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_code_coverage_opt.py new file mode 100644 index 0000000000..26830f4358 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_code_coverage_opt.py @@ -0,0 +1,26 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "macosx64-ccov-opt", + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + ## 64 bit specific + "PATH": "/tools/python/bin:/opt/local/bin:/usr/bin:" + "/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin", + ## + }, + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_debug.py b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_debug.py new file mode 100644 index 0000000000..8b5ec033be --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_debug.py @@ -0,0 +1,27 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "macosx64-debug", + "debug_build": True, + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + ## 64 bit specific + "PATH": "/tools/python/bin:/opt/local/bin:/usr/bin:" + "/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin", + ## + }, +} diff --git a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_debug_searchfox.py b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_debug_searchfox.py new file mode 100644 index 0000000000..b8ba33f28e --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_debug_searchfox.py @@ -0,0 +1,34 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "default_actions": [ + "clobber", + "build", + ], + "stage_platform": "macosx64-searchfox-debug", + "debug_build": True, + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + # Disable sccache because otherwise we won't index the files that + # sccache optimizes away compilation for + "SCCACHE_DISABLE": "1", + # 64 bit specific + "PATH": "/tools/python/bin:/opt/local/bin:/usr/bin:" + "/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin", + }, + "mozconfig_variant": "debug-searchfox", +} diff --git a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_fuzzing_asan.py b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_fuzzing_asan.py new file mode 100644 index 0000000000..fee50128ce --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_fuzzing_asan.py @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "macosx64-fuzzing-asan", + "publish_nightly_en_US_routes": False, + "platform_supports_post_upload_to_latest": False, + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "DISPLAY": ":2", + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + "ASAN_OPTIONS": "detect_leaks=0", + ## 64 bit specific + "PATH": "/usr/local/bin:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin", + }, +} diff --git a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_fuzzing_debug.py b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_fuzzing_debug.py new file mode 100644 index 0000000000..c0c86ce7f4 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_fuzzing_debug.py @@ -0,0 +1,29 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "macosx64-fuzzing-debug", + "debug_build": True, + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + ## 64 bit specific + "PATH": "/tools/python/bin:/opt/local/bin:/usr/bin:" + "/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin", + ## + }, + ####################### + "artifact_flag_build_variant_in_try": None, +} diff --git a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_noopt_debug.py b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_noopt_debug.py new file mode 100644 index 0000000000..e134becf99 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_noopt_debug.py @@ -0,0 +1,27 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "stage_platform": "macosx64-noopt-debug", + "debug_build": True, + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + ## 64 bit specific + "PATH": "/tools/python/bin:/opt/local/bin:/usr/bin:" + "/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin", + ## + }, +} diff --git a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_debug.py b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_debug.py new file mode 100644 index 0000000000..db58e9d549 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_debug.py @@ -0,0 +1,33 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "default_actions": [ + "clobber", + "build", + ], + "stage_platform": "macosx64-debug", + "debug_build": True, + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + ## 64 bit specific + "PATH": "/tools/python/bin:/opt/local/bin:/usr/bin:" + "/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin", + ## + }, + "mozconfig_variant": "debug", + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_stat_and_debug.py b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_stat_and_debug.py new file mode 100644 index 0000000000..e183aa0557 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_stat_and_debug.py @@ -0,0 +1,34 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "default_actions": [ + "clobber", + "build", + ], + "debug_build": True, + "stage_platform": "macosx64-st-an-debug", + "tooltool_manifest_src": "browser/config/tooltool-manifests/macosx64/\ +clang.manifest", + #### 64 bit build specific ##### + "env": { + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "HG_SHARE_BASE_DIR": "/builds/hg-shared", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "/builds/tooltool_cache", + "TOOLTOOL_HOME": "/builds", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "LC_ALL": "C", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + # 64 bit specific + "PATH": "/tools/python/bin:/opt/local/bin:/usr/bin:" + "/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin", + }, + "mozconfig_variant": "debug-static-analysis", + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_windows_configs/32_add-on-devel.py b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_add-on-devel.py new file mode 100644 index 0000000000..745aee83b0 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_add-on-devel.py @@ -0,0 +1,29 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "default_actions": [ + "clobber", + "build", + ], + "stage_platform": "win32-add-on-devel", + #### 32 bit build specific ##### + "env": { + "HG_SHARE_BASE_DIR": "C:/builds/hg-shared", + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "PATH": "C:/mozilla-build/nsis-3.01;C:/mozilla-build/python27;" + "%s" % (os.environ.get("path")), + "TINDERBOX_OUTPUT": "1", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + "TOOLTOOL_CACHE": "c:/builds/tooltool_cache", + "TOOLTOOL_HOME": "/c/builds", + }, + "mozconfig_variant": "add-on-devel", + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_windows_configs/32_debug.py b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_debug.py new file mode 100644 index 0000000000..5fc38a4b95 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_debug.py @@ -0,0 +1,30 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "default_actions": [ + "clobber", + "build", + ], + "stage_platform": "win32-debug", + "debug_build": True, + #### 32 bit build specific ##### + "env": { + "HG_SHARE_BASE_DIR": "C:/builds/hg-shared", + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "PATH": "C:/mozilla-build/nsis-3.01;C:/mozilla-build/python27;" + "%s" % (os.environ.get("path")), + "TINDERBOX_OUTPUT": "1", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + "TOOLTOOL_CACHE": "c:/builds/tooltool_cache", + "TOOLTOOL_HOME": "/c/builds", + }, + "mozconfig_variant": "debug", + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_windows_configs/32_mingwclang.py b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_mingwclang.py new file mode 100644 index 0000000000..d201b89eb1 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_mingwclang.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "platform": "win32-mingwclang", + "stage_platform": "win32-mingwclang", + "mozconfig_platform": "win32", +} diff --git a/testing/mozharness/configs/builds/releng_sub_windows_configs/32_stat_and_debug.py b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_stat_and_debug.py new file mode 100644 index 0000000000..8a385cf7b6 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_stat_and_debug.py @@ -0,0 +1,31 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "default_actions": [ + "clobber", + "build", + ], + "stage_platform": "win32-st-an-debug", + "debug_build": True, + "tooltool_manifest_src": "browser/config/tooltool-manifests/win32/\ +releng.manifest", + #### 32 bit build specific ##### + "env": { + "HG_SHARE_BASE_DIR": "C:/builds/hg-shared", + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "PATH": "C:/mozilla-build/nsis-3.01;C:/mozilla-build/python27;" + "%s" % (os.environ.get("path")), + "TINDERBOX_OUTPUT": "1", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + "TOOLTOOL_CACHE": "c:/builds/tooltool_cache", + "TOOLTOOL_HOME": "/c/builds", + }, + "mozconfig_variant": "debug-static-analysis", +} diff --git a/testing/mozharness/configs/builds/releng_sub_windows_configs/64_add-on-devel.py b/testing/mozharness/configs/builds/releng_sub_windows_configs/64_add-on-devel.py new file mode 100644 index 0000000000..367ca69037 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/64_add-on-devel.py @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "default_actions": [ + "clobber", + "build", + ], + "stage_platform": "win64-add-on-devel", + #### 64 bit build specific ##### + "env": { + "HG_SHARE_BASE_DIR": "C:/builds/hg-shared", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "PATH": "C:/mozilla-build/nsis-3.01;C:/mozilla-build/python27;" + "%s" % (os.environ.get("path")), + "TINDERBOX_OUTPUT": "1", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + "TOOLTOOL_CACHE": "c:/builds/tooltool_cache", + "TOOLTOOL_HOME": "/c/builds", + }, + "mozconfig_variant": "add-on-devel", + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_windows_configs/64_debug.py b/testing/mozharness/configs/builds/releng_sub_windows_configs/64_debug.py new file mode 100644 index 0000000000..e901417ab4 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/64_debug.py @@ -0,0 +1,29 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "default_actions": [ + "clobber", + "build", + ], + "stage_platform": "win64-debug", + "debug_build": True, + #### 64 bit build specific ##### + "env": { + "HG_SHARE_BASE_DIR": "C:/builds/hg-shared", + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "PATH": "C:/mozilla-build/nsis-3.01;C:/mozilla-build/python27;" + "%s" % (os.environ.get("path")), + "TINDERBOX_OUTPUT": "1", + "XPCOM_DEBUG_BREAK": "stack-and-abort", + "TOOLTOOL_CACHE": "c:/builds/tooltool_cache", + "TOOLTOOL_HOME": "/c/builds", + }, + "mozconfig_variant": "debug", + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_windows_configs/64_mingwclang.py b/testing/mozharness/configs/builds/releng_sub_windows_configs/64_mingwclang.py new file mode 100644 index 0000000000..7f41cdb793 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/64_mingwclang.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "platform": "win64-mingwclang", + "stage_platform": "win64-mingwclang", + "mozconfig_platform": "win64", +} diff --git a/testing/mozharness/configs/builds/taskcluster_base_macosx.py b/testing/mozharness/configs/builds/taskcluster_base_macosx.py new file mode 100644 index 0000000000..28c0eeafa1 --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_base_macosx.py @@ -0,0 +1,45 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "default_actions": [ + "get-secrets", + "build", + ], + "vcs_share_base": os.path.join(os.getcwd(), "checkouts", "hg-shared"), + "max_build_output_timeout": 60 * 80, + "env": { + "HG_SHARE_BASE_DIR": os.path.join(os.getcwd(), "checkouts", "hg-shared"), + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "WORKSPACE": "%(base_work_dir)s", + "PATH": "/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin", + }, + "upload_env": { + "UPLOAD_PATH": os.path.join(os.getcwd(), "public", "build"), + }, + "secret_files": [ + { + "filename": "gls-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/gls-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "sb-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/sb-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "mozilla-desktop-geoloc-api.key", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/mozilla-desktop-geoloc-api.key", + "min_scm_level": 2, + "default": "try-build-has-no-secrets", + }, + ], +} diff --git a/testing/mozharness/configs/builds/taskcluster_base_win32.py b/testing/mozharness/configs/builds/taskcluster_base_win32.py new file mode 100644 index 0000000000..c18d21c96c --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_base_win32.py @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "platform": "win32", + "mozconfig_platform": "win32", +} diff --git a/testing/mozharness/configs/builds/taskcluster_base_win64.py b/testing/mozharness/configs/builds/taskcluster_base_win64.py new file mode 100644 index 0000000000..013bc11b62 --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_base_win64.py @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "platform": "win64", + "mozconfig_platform": "win64", +} diff --git a/testing/mozharness/configs/builds/taskcluster_base_windows.py b/testing/mozharness/configs/builds/taskcluster_base_windows.py new file mode 100644 index 0000000000..0f7186cd41 --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_base_windows.py @@ -0,0 +1,47 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "default_actions": [ + "get-secrets", + "build", + ], + "vcs_share_base": os.path.join("y:", os.sep, "hg-shared"), + "max_build_output_timeout": 60 * 80, + "env": { + "HG_SHARE_BASE_DIR": os.path.join("y:", os.sep, "hg-shared"), + "MOZBUILD_STATE_PATH": os.path.join(os.getcwd(), ".mozbuild"), + "MOZ_CRASHREPORTER_NO_REPORT": "1", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "TINDERBOX_OUTPUT": "1", + "TOOLTOOL_CACHE": "c:/builds/tooltool_cache", + "TOOLTOOL_HOME": "/c/builds", + "MSYSTEM": "MINGW32", + "WORKSPACE": "%(base_work_dir)s", + }, + "upload_env": { + "UPLOAD_PATH": os.path.join(os.getcwd(), "public", "build"), + }, + "secret_files": [ + { + "filename": "gls-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/gls-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "sb-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/sb-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "mozilla-desktop-geoloc-api.key", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/mozilla-desktop-geoloc-api.key", + "min_scm_level": 2, + "default": "try-build-has-no-secrets", + }, + ], +} diff --git a/testing/mozharness/configs/builds/taskcluster_sub_win32/debug.py b/testing/mozharness/configs/builds/taskcluster_sub_win32/debug.py new file mode 100644 index 0000000000..dc8977dfc0 --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_sub_win32/debug.py @@ -0,0 +1,11 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "win32-debug", + "debug_build": True, + "env": { + "XPCOM_DEBUG_BREAK": "stack-and-abort", + }, +} diff --git a/testing/mozharness/configs/builds/taskcluster_sub_win32/noopt_debug.py b/testing/mozharness/configs/builds/taskcluster_sub_win32/noopt_debug.py new file mode 100644 index 0000000000..6189060639 --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_sub_win32/noopt_debug.py @@ -0,0 +1,11 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "win32-noopt-debug", + "debug_build": True, + "env": { + "XPCOM_DEBUG_BREAK": "stack-and-abort", + }, +} diff --git a/testing/mozharness/configs/builds/taskcluster_sub_win64/asan_debug.py b/testing/mozharness/configs/builds/taskcluster_sub_win64/asan_debug.py new file mode 100644 index 0000000000..da63c2724d --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_sub_win64/asan_debug.py @@ -0,0 +1,11 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "win64-asan-debug", + "debug_build": True, + "env": { + "XPCOM_DEBUG_BREAK": "stack-and-abort", + }, +} diff --git a/testing/mozharness/configs/builds/taskcluster_sub_win64/asan_reporter_opt.py b/testing/mozharness/configs/builds/taskcluster_sub_win64/asan_reporter_opt.py new file mode 100644 index 0000000000..af47501c73 --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_sub_win64/asan_reporter_opt.py @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "win64-asan-reporter", + "mozconfig_variant": "nightly-asan-reporter", +} diff --git a/testing/mozharness/configs/builds/taskcluster_sub_win64/ccov_opt.py b/testing/mozharness/configs/builds/taskcluster_sub_win64/ccov_opt.py new file mode 100644 index 0000000000..c29a2d88bc --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_sub_win64/ccov_opt.py @@ -0,0 +1,10 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "win64-ccov", + "env": { + "XPCOM_DEBUG_BREAK": "stack-and-abort", + }, +} diff --git a/testing/mozharness/configs/builds/taskcluster_sub_win64/debug.py b/testing/mozharness/configs/builds/taskcluster_sub_win64/debug.py new file mode 100644 index 0000000000..d40e77d7ae --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_sub_win64/debug.py @@ -0,0 +1,11 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "win64-debug", + "debug_build": True, + "env": { + "XPCOM_DEBUG_BREAK": "stack-and-abort", + }, +} diff --git a/testing/mozharness/configs/builds/taskcluster_sub_win64/noopt_debug.py b/testing/mozharness/configs/builds/taskcluster_sub_win64/noopt_debug.py new file mode 100644 index 0000000000..1dd204a3e4 --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_sub_win64/noopt_debug.py @@ -0,0 +1,11 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "win64-noopt-debug", + "debug_build": True, + "env": { + "XPCOM_DEBUG_BREAK": "stack-and-abort", + }, +} diff --git a/testing/mozharness/configs/builds/taskcluster_sub_win64/plain_opt.py b/testing/mozharness/configs/builds/taskcluster_sub_win64/plain_opt.py new file mode 100644 index 0000000000..e567c8f123 --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_sub_win64/plain_opt.py @@ -0,0 +1,12 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "default_actions": [ + "build", + ], + "disable_package_metrics": True, + "mozconfig_variant": "plain-opt", + "stage_platform": "win64", +} diff --git a/testing/mozharness/configs/builds/taskcluster_sub_win64/rusttests_opt.py b/testing/mozharness/configs/builds/taskcluster_sub_win64/rusttests_opt.py new file mode 100644 index 0000000000..a7e15d287d --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_sub_win64/rusttests_opt.py @@ -0,0 +1,15 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "default_actions": [ + "build", + ], + "stage_platform": "win64-rusttests", + "env": { + "XPCOM_DEBUG_BREAK": "stack-and-abort", + }, + "build_targets": ["pre-export", "export", "recurse_rusttests"], + "disable_package_metrics": True, +} diff --git a/testing/mozharness/configs/builds/taskcluster_sub_win64/searchfox_debug.py b/testing/mozharness/configs/builds/taskcluster_sub_win64/searchfox_debug.py new file mode 100644 index 0000000000..afcd3a696f --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_sub_win64/searchfox_debug.py @@ -0,0 +1,15 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "stage_platform": "win64-st-an-debug", + "debug_build": True, + "env": { + "XPCOM_DEBUG_BREAK": "stack-and-abort", + # Disable sccache because otherwise we won't index the files that + # sccache optimizes away compilation for + "SCCACHE_DISABLE": "1", + }, + "mozconfig_variant": "debug-searchfox", +} diff --git a/testing/mozharness/configs/developer_config.py b/testing/mozharness/configs/developer_config.py new file mode 100644 index 0000000000..a1f822d93e --- /dev/null +++ b/testing/mozharness/configs/developer_config.py @@ -0,0 +1,45 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +""" +This config file can be appended to any other mozharness job +running under treeherder. The purpose of this config is to +override values that are specific to Release Engineering machines +that can reach specific hosts within their network. +In other words, this config allows you to run any job +outside of the Release Engineering network + +Using this config file should be accompanied with using +--test-url and --installer-url where appropiate +""" + +from __future__ import absolute_import +import os + +LOCAL_WORKDIR = os.path.expanduser("~/.mozilla/releng") + +config = { + # Developer mode values + "developer_mode": True, + "local_workdir": LOCAL_WORKDIR, + "replace_urls": [ + ("http://pvtbuilds.pvt.build", "https://pvtbuilds"), + ], + # General local variable overwrite + "exes": { + "gittool.py": os.path.join(LOCAL_WORKDIR, "gittool.py"), + }, + # Talos related + "python_webserver": True, + "virtualenv_path": "%s/build/venv" % os.getcwd(), + "preflight_run_cmd_suites": [], + "postflight_run_cmd_suites": [], + # Tooltool related + "tooltool_cache": os.path.join(LOCAL_WORKDIR, "builds/tooltool_cache"), + "tooltool_cache_path": os.path.join(LOCAL_WORKDIR, "builds/tooltool_cache"), + # VCS tools + "gittool.py": "http://hg.mozilla.org/build/puppet/raw-file/faaf5abd792e/modules/packages/files/gittool.py", + # Android related + "host_utils_url": "https://tooltool.mozilla-releng.net/sha512/372c89f9dccaf5ee3b9d35fd1cfeb089e1e5db3ff1c04e35aa3adc8800bc61a2ae10e321f37ae7bab20b56e60941f91bb003bcb22035902a73d70872e7bd3282", +} diff --git a/testing/mozharness/configs/firefox_ui_tests/qa_jenkins.py b/testing/mozharness/configs/firefox_ui_tests/qa_jenkins.py new file mode 100644 index 0000000000..5e605bd0a0 --- /dev/null +++ b/testing/mozharness/configs/firefox_ui_tests/qa_jenkins.py @@ -0,0 +1,13 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Default configuration as used by Mozmill CI (Jenkins) + + +config = { + # Tests run in mozmill-ci do not use RelEng infra + "developer_mode": True, + # mozcrash support + "download_symbols": "ondemand", +} diff --git a/testing/mozharness/configs/firefox_ui_tests/releng_release.py b/testing/mozharness/configs/firefox_ui_tests/releng_release.py new file mode 100644 index 0000000000..56b452518a --- /dev/null +++ b/testing/mozharness/configs/firefox_ui_tests/releng_release.py @@ -0,0 +1,31 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Default configuration as used by Release Engineering for testing release/beta builds + +from __future__ import absolute_import +import os +import sys + +import mozharness + + +external_tools_path = os.path.join( + os.path.abspath(os.path.dirname(os.path.dirname(mozharness.__file__))), + "external_tools", +) + + +config = { + # General local variable overwrite + "exes": { + "gittool.py": [ + # Bug 1227079 - Python executable eeded to get it executed on Windows + sys.executable, + os.path.join(external_tools_path, "gittool.py"), + ], + }, + # mozcrash support + "download_symbols": "ondemand", +} diff --git a/testing/mozharness/configs/firefox_ui_tests/taskcluster.py b/testing/mozharness/configs/firefox_ui_tests/taskcluster.py new file mode 100644 index 0000000000..72cd3d78dd --- /dev/null +++ b/testing/mozharness/configs/firefox_ui_tests/taskcluster.py @@ -0,0 +1,11 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Config file for firefox ui tests run via TaskCluster. + + +config = { + "vcs_share_base": "/builds/hg-shared", + "tooltool_cache": "/builds/worker/tooltool-cache", +} diff --git a/testing/mozharness/configs/firefox_ui_tests/taskcluster_mac.py b/testing/mozharness/configs/firefox_ui_tests/taskcluster_mac.py new file mode 100644 index 0000000000..163e133ed5 --- /dev/null +++ b/testing/mozharness/configs/firefox_ui_tests/taskcluster_mac.py @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Configuration over-rides for taskcluter.py, for osx +config = { + "tooltool_cache": "/builds/tooltool_cache", +} diff --git a/testing/mozharness/configs/firefox_ui_tests/taskcluster_windows.py b/testing/mozharness/configs/firefox_ui_tests/taskcluster_windows.py new file mode 100644 index 0000000000..318f26e97f --- /dev/null +++ b/testing/mozharness/configs/firefox_ui_tests/taskcluster_windows.py @@ -0,0 +1,19 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Config file for firefox ui tests run via TaskCluster. + +from __future__ import absolute_import +import os +import sys + + +config = { + "virtualenv_path": "venv", + "exes": { + "python": sys.executable, + "hg": os.path.join(os.environ["PROGRAMFILES"], "Mercurial", "hg"), + }, + "download_symbols": "ondemand", +} diff --git a/testing/mozharness/configs/l10n_bumper/jamun.py b/testing/mozharness/configs/l10n_bumper/jamun.py new file mode 100644 index 0000000000..fdc054b51c --- /dev/null +++ b/testing/mozharness/configs/l10n_bumper/jamun.py @@ -0,0 +1,84 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import sys + +MULTI_REPO = "projects/jamun" +EXES = {} +if sys.platform.startswith("linux"): + EXES = { + # Get around the https warnings + "hg": [ + "/usr/local/bin/hg", + "--config", + "web.cacerts=/etc/pki/tls/certs/ca-bundle.crt", + ], + "hgtool.py": ["/usr/local/bin/hgtool.py"], + } + + +config = { + "log_name": "l10n_bumper", + "log_type": "multi", + "exes": EXES, + "gecko_pull_url": "https://hg.mozilla.org/{}".format(MULTI_REPO), + "gecko_push_url": "ssh://hg.mozilla.org/{}".format(MULTI_REPO), + "hg_user": "L10n Bumper Bot <release+l10nbumper@mozilla.com>", + "ssh_key": "~/.ssh/ffxbld_rsa", + "ssh_user": "ffxbld", + "vcs_share_base": "/builds/hg-shared", + "version_path": "browser/config/version.txt", + "status_path": ".l10n_bumper_status", + "bump_configs": [ + { + "path": "mobile/locales/l10n-changesets.json", + "format": "json", + "name": "Fennec l10n changesets", + "revision_url": "https://l10n.mozilla.org/shipping/l10n-changesets?av=fennec%(MAJOR_VERSION)s", + "platform_configs": [ + { + "platforms": ["android-api-16", "android"], + "path": "mobile/android/locales/all-locales", + }, + { + "platforms": ["android-multilocale"], + "path": "mobile/android/locales/maemo-locales", + }, + ], + }, + { + "path": "browser/locales/l10n-changesets.json", + "format": "json", + "name": "Firefox l10n changesets", + "revision_url": "https://l10n.mozilla.org/shipping/l10n-changesets?av=fx%(MAJOR_VERSION)s", + "ignore_config": { + "ja": ["macosx64"], + "ja-JP-mac": ["linux", "linux64", "win32", "win64"], + }, + "platform_configs": [ + { + "platforms": ["linux64", "linux", "macosx64", "win32", "win64"], + "path": "browser/locales/shipped-locales", + "format": "shipped-locales", + } + ], + }, + { + "path": "browser/locales/central-changesets.json", + "format": "json", + "name": "Firefox l10n changesets", + "ignore_config": { + "ja": ["macosx64"], + "ja-JP-mac": ["linux", "linux64", "win32", "win64"], + }, + "platform_configs": [ + { + "platforms": ["linux64", "linux", "macosx64", "win32", "win64"], + "path": "browser/locales/all-locales", + } + ], + }, + ], +} diff --git a/testing/mozharness/configs/l10n_bumper/mozilla-beta.py b/testing/mozharness/configs/l10n_bumper/mozilla-beta.py new file mode 100644 index 0000000000..6dd7f6950a --- /dev/null +++ b/testing/mozharness/configs/l10n_bumper/mozilla-beta.py @@ -0,0 +1,88 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import sys + +MULTI_REPO = "releases/mozilla-beta" +EXES = {} +if sys.platform.startswith("linux"): + EXES = { + # Get around the https warnings + "hg": [ + "/usr/local/bin/hg", + "--config", + "web.cacerts=/etc/pki/tls/certs/ca-bundle.crt", + ], + "hgtool.py": ["/usr/local/bin/hgtool.py"], + } + +config = { + "log_name": "l10n_bumper", + "log_type": "multi", + "exes": EXES, + "gecko_pull_url": "https://hg.mozilla.org/{}".format(MULTI_REPO), + "gecko_push_url": "ssh://hg.mozilla.org/{}".format(MULTI_REPO), + "hg_user": "L10n Bumper Bot <release+l10nbumper@mozilla.com>", + "ssh_key": "~/.ssh/ffxbld_rsa", + "ssh_user": "ffxbld", + "vcs_share_base": "/builds/hg-shared", + "version_path": "browser/config/version.txt", + "status_path": ".l10n_bumper_status", + "bump_configs": [ + { + "path": "mobile/locales/l10n-changesets.json", + "format": "json", + "name": "Fennec l10n changesets", + "revision_url": "https://l10n.mozilla.org/shipping/l10n-changesets?av=fennec%(MAJOR_VERSION)s", + "platform_configs": [ + { + "platforms": ["android-multilocale"], + "path": "mobile/android/locales/maemo-locales", + } + ], + }, + { + "path": "browser/locales/l10n-changesets.json", + "format": "json", + "name": "Firefox l10n changesets", + "revision_url": "https://l10n.mozilla.org/shipping/l10n-changesets?av=fx%(MAJOR_VERSION)s", + "ignore_config": { + "ja": ["macosx64", "macosx64-devedition"], + "ja-JP-mac": [ + "linux", + "linux-devedition", + "linux64", + "linux64-devedition", + "win32", + "win32-devedition", + "win64", + "win64-devedition", + "win64-aarch64", + "win64-aarch64-devedition", + ], + }, + "platform_configs": [ + { + "platforms": [ + "linux", + "linux-devedition", + "linux64", + "linux64-devedition", + "macosx64", + "macosx64-devedition", + "win32", + "win32-devedition", + "win64", + "win64-devedition", + "win64-aarch64", + "win64-aarch64-devedition", + ], + "path": "browser/locales/shipped-locales", + "format": "shipped-locales", + } + ], + }, + ], +} diff --git a/testing/mozharness/configs/l10n_bumper/mozilla-central.py b/testing/mozharness/configs/l10n_bumper/mozilla-central.py new file mode 100644 index 0000000000..d033ec6bb2 --- /dev/null +++ b/testing/mozharness/configs/l10n_bumper/mozilla-central.py @@ -0,0 +1,89 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import sys + +MULTI_REPO = "mozilla-central" +EXES = {} +if sys.platform.startswith("linux"): + EXES = { + # Get around the https warnings + "hg": [ + "/usr/local/bin/hg", + "--config", + "web.cacerts=/etc/pki/tls/certs/ca-bundle.crt", + ], + "hgtool.py": ["/usr/local/bin/hgtool.py"], + } + +config = { + "log_name": "l10n_bumper", + "log_type": "multi", + "exes": EXES, + "gecko_pull_url": "https://hg.mozilla.org/{}".format(MULTI_REPO), + "gecko_push_url": "ssh://hg.mozilla.org/{}".format(MULTI_REPO), + "hg_user": "L10n Bumper Bot <release+l10nbumper@mozilla.com>", + "ssh_key": "~/.ssh/ffxbld_rsa", + "ssh_user": "ffxbld", + "vcs_share_base": "/builds/hg-shared", + "version_path": "browser/config/version.txt", + "status_path": ".l10n_bumper_status", + "bump_configs": [ + { + "path": "mobile/locales/l10n-changesets.json", + "format": "json", + "name": "Fennec l10n changesets", + "platform_configs": [ + { + "platforms": ["android-api-16", "android"], + "path": "mobile/android/locales/all-locales", + }, + { + "platforms": ["android-multilocale"], + "path": "mobile/android/locales/maemo-locales", + }, + ], + }, + { + "path": "browser/locales/l10n-changesets.json", + "format": "json", + "name": "Firefox l10n changesets", + "ignore_config": { + "ja": ["macosx64", "macosx64-devedition"], + "ja-JP-mac": [ + "linux", + "linux-devedition", + "linux64", + "linux64-devedition", + "win32", + "win32-devedition", + "win64", + "win64-devedition", + "win64-aarch64", + "win64-aarch64-devedition", + ], + }, + "platform_configs": [ + { + "platforms": [ + "linux", + "linux-devedition", + "linux64", + "linux64-devedition", + "macosx64", + "macosx64-devedition", + "win32", + "win32-devedition", + "win64", + "win64-devedition", + "win64-aarch64", + "win64-aarch64-devedition", + ], + "path": "browser/locales/all-locales", + } + ], + }, + ], +} diff --git a/testing/mozharness/configs/l10n_bumper/mozilla-esr68.py b/testing/mozharness/configs/l10n_bumper/mozilla-esr68.py new file mode 100644 index 0000000000..4b3c28be54 --- /dev/null +++ b/testing/mozharness/configs/l10n_bumper/mozilla-esr68.py @@ -0,0 +1,47 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import sys + +MULTI_REPO = "releases/mozilla-esr68" +EXES = {} +if sys.platform.startswith("linux"): + EXES = { + # Get around the https warnings + "hg": [ + "/usr/local/bin/hg", + "--config", + "web.cacerts=/etc/pki/tls/certs/ca-bundle.crt", + ], + "hgtool.py": ["/usr/local/bin/hgtool.py"], + } + +config = { + "log_name": "l10n_bumper", + "log_type": "multi", + "exes": EXES, + "gecko_pull_url": "https://hg.mozilla.org/{}".format(MULTI_REPO), + "gecko_push_url": "ssh://hg.mozilla.org/{}".format(MULTI_REPO), + "hg_user": "L10n Bumper Bot <release+l10nbumper@mozilla.com>", + "ssh_key": "~/.ssh/ffxbld_rsa", + "ssh_user": "ffxbld", + "vcs_share_base": "/builds/hg-shared", + "version_path": "mobile/android/config/version-files/release/version.txt", + "status_path": ".l10n_bumper_status", + "bump_configs": [ + { + "path": "mobile/locales/l10n-changesets.json", + "format": "json", + "name": "Fennec l10n changesets", + "revision_url": "https://l10n.mozilla.org/shipping/l10n-changesets?av=fennec%(COMBINED_MAJOR_VERSION)s", + "platform_configs": [ + { + "platforms": ["android-multilocale"], + "path": "mobile/android/locales/maemo-locales", + } + ], + } + ], +} diff --git a/testing/mozharness/configs/marionette/mac_taskcluster_config.py b/testing/mozharness/configs/marionette/mac_taskcluster_config.py new file mode 100644 index 0000000000..2ae326512e --- /dev/null +++ b/testing/mozharness/configs/marionette/mac_taskcluster_config.py @@ -0,0 +1,39 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Configuration over-rides for prod_config.py, for osx + +# OS Specifics +DISABLE_SCREEN_SAVER = False +ADJUST_MOUSE_AND_SCREEN = False + +##### +config = { + "tooltool_cache": "/builds/tooltool_cache", + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [ + # NOTE 'enabled' is only here while we have unconsolidated configs + { + "name": "disable_screen_saver", + "cmd": ["xset", "s", "off", "s", "reset"], + "architectures": ["32bit", "64bit"], + "halt_on_failure": False, + "enabled": DISABLE_SCREEN_SAVER, + }, + { + "name": "run mouse & screen adjustment script", + "cmd": [ + # when configs are consolidated this python path will only show + # for windows. + "python", + "../scripts/external_tools/mouse_and_screen_resolution.py", + "--configuration-file", + "../scripts/external_tools/machine-configuration.json", + ], + "architectures": ["32bit"], + "halt_on_failure": True, + "enabled": ADJUST_MOUSE_AND_SCREEN, + }, + ], +} diff --git a/testing/mozharness/configs/marionette/prod_config.py b/testing/mozharness/configs/marionette/prod_config.py new file mode 100644 index 0000000000..200106061b --- /dev/null +++ b/testing/mozharness/configs/marionette/prod_config.py @@ -0,0 +1,68 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# This is a template config file for marionette production. +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +# OS Specifics +DISABLE_SCREEN_SAVER = True +ADJUST_MOUSE_AND_SCREEN = False + +##### +config = { + # marionette options + "marionette_address": "localhost:2828", + "test_manifest": "unit-tests.ini", + "vcs_share_base": HG_SHARE_BASE_DIR, + "default_actions": [ + "clobber", + "download-and-extract", + "create-virtualenv", + "install", + "run-tests", + ], + "download_symbols": "ondemand", + "tooltool_cache": "/builds/worker/tooltool-cache", + "suite_definitions": { + "marionette_desktop": { + "options": [ + "-vv", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--log-html=%(html_report_file)s", + "--binary=%(binary)s", + "--address=%(address)s", + "--symbols-path=%(symbols_path)s", + ], + "run_filename": "", + "testsdir": "marionette", + } + }, + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [ + # NOTE 'enabled' is only here while we have unconsolidated configs + { + "name": "disable_screen_saver", + "cmd": ["xset", "s", "off", "s", "reset"], + "halt_on_failure": False, + "architectures": ["32bit", "64bit"], + "enabled": DISABLE_SCREEN_SAVER, + }, + { + "name": "run mouse & screen adjustment script", + "cmd": [ + # when configs are consolidated this python path will only show + # for windows. + "python", + "../scripts/external_tools/mouse_and_screen_resolution.py", + "--configuration-file", + "../scripts/external_tools/machine-configuration.json", + ], + "architectures": ["32bit"], + "halt_on_failure": True, + "enabled": ADJUST_MOUSE_AND_SCREEN, + }, + ], + "structured_output": True, +} diff --git a/testing/mozharness/configs/marionette/test_config.py b/testing/mozharness/configs/marionette/test_config.py new file mode 100644 index 0000000000..a41fd5a68f --- /dev/null +++ b/testing/mozharness/configs/marionette/test_config.py @@ -0,0 +1,29 @@ +# This is a template config file for marionette test. + +config = { + # marionette options + "marionette_address": "localhost:2828", + "test_manifest": "unit-tests.ini", + "default_actions": [ + "clobber", + "download-and-extract", + "create-virtualenv", + "install", + "run-tests", + ], + "suite_definitions": { + "marionette_desktop": { + "options": [ + "-vv", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--log-html=%(html_report_file)s", + "--binary=%(binary)s", + "--address=%(address)s", + "--symbols-path=%(symbols_path)s", + ], + "run_filename": "", + "testsdir": "marionette", + }, + }, +} diff --git a/testing/mozharness/configs/marionette/windows_config.py b/testing/mozharness/configs/marionette/windows_config.py new file mode 100644 index 0000000000..9101d67a5b --- /dev/null +++ b/testing/mozharness/configs/marionette/windows_config.py @@ -0,0 +1,38 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# This is a template config file for marionette production on Windows. +config = { + # marionette options + "marionette_address": "localhost:2828", + "test_manifest": "unit-tests.ini", + "virtualenv_path": "venv", + "exes": { + "python": "c:/mozilla-build/python27/python", + "hg": "c:/mozilla-build/hg/hg", + }, + "default_actions": [ + "clobber", + "download-and-extract", + "create-virtualenv", + "install", + "run-tests", + ], + "download_symbols": "ondemand", + "suite_definitions": { + "marionette_desktop": { + "options": [ + "-vv", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--log-html=%(html_report_file)s", + "--binary=%(binary)s", + "--address=%(address)s", + "--symbols-path=%(symbols_path)s", + ], + "run_filename": "", + "testsdir": "marionette", + }, + }, +} diff --git a/testing/mozharness/configs/marionette/windows_taskcluster_config.py b/testing/mozharness/configs/marionette/windows_taskcluster_config.py new file mode 100644 index 0000000000..95d3f388f3 --- /dev/null +++ b/testing/mozharness/configs/marionette/windows_taskcluster_config.py @@ -0,0 +1,138 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# This is a template config file for marionette production on Windows. +from __future__ import absolute_import +import os +import platform +import sys + +# OS Specifics +DISABLE_SCREEN_SAVER = False +ADJUST_MOUSE_AND_SCREEN = True +DESKTOP_VISUALFX_THEME = { + "Let Windows choose": 0, + "Best appearance": 1, + "Best performance": 2, + "Custom": 3, +}.get("Best appearance") +TASKBAR_AUTOHIDE_REG_PATH = { + "Windows 7": "HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2", + "Windows 10": "HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StuckRects3", +}.get("{} {}".format(platform.system(), platform.release())) + +##### +config = { + # marionette options + "marionette_address": "localhost:2828", + "test_manifest": "unit-tests.ini", + "virtualenv_path": "venv", + "exes": { + "python": sys.executable, + "hg": os.path.join(os.environ["PROGRAMFILES"], "Mercurial", "hg"), + }, + "default_actions": [ + "clobber", + "download-and-extract", + "create-virtualenv", + "install", + "run-tests", + ], + "download_symbols": "ondemand", + "suite_definitions": { + "marionette_desktop": { + "options": [ + "-vv", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--log-html=%(html_report_file)s", + "--binary=%(binary)s", + "--address=%(address)s", + "--symbols-path=%(symbols_path)s", + ], + "run_filename": "", + "testsdir": "marionette", + }, + }, + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [ + { + "name": "disable_screen_saver", + "cmd": ["xset", "s", "off", "s", "reset"], + "architectures": ["32bit", "64bit"], + "halt_on_failure": False, + "enabled": DISABLE_SCREEN_SAVER, + }, + { + "name": "run mouse & screen adjustment script", + "cmd": [ + sys.executable, + os.path.join( + os.getcwd(), + "mozharness", + "external_tools", + "mouse_and_screen_resolution.py", + ), + "--configuration-file", + os.path.join( + os.getcwd(), + "mozharness", + "external_tools", + "machine-configuration.json", + ), + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": ADJUST_MOUSE_AND_SCREEN, + }, + { + "name": "disable windows security and maintenance notifications", + "cmd": [ + "powershell", + "-command", + r"\"&{$p='HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\Windows.SystemToast.SecurityAndMaintenance';if(!(Test-Path -Path $p)){&New-Item -Path $p -Force}&Set-ItemProperty -Path $p -Name Enabled -Value 0}\"", # noqa + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": (platform.release() == 10), + }, + { + "name": "set windows VisualFX", + "cmd": [ + "powershell", + "-command", + "\"&{{&Set-ItemProperty -Path 'HKCU:Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects' -Name VisualFXSetting -Value {}}}\"".format( + DESKTOP_VISUALFX_THEME + ), + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": True, + }, + { + "name": "hide windows taskbar", + "cmd": [ + "powershell", + "-command", + "\"&{{$p='{}';$v=(Get-ItemProperty -Path $p).Settings;$v[8]=3;&Set-ItemProperty -Path $p -Name Settings -Value $v}}\"".format( + TASKBAR_AUTOHIDE_REG_PATH + ), + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": True, + }, + { + "name": "restart windows explorer", + "cmd": [ + "powershell", + "-command", + '"&{&Stop-Process -ProcessName explorer}"', + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": True, + }, + ], +} 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..51a1f7617f --- /dev/null +++ b/testing/mozharness/configs/merge_day/beta_to_release.py @@ -0,0 +1,33 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +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 + ], + "vcs_share_base": os.path.join(ABS_WORK_DIR, "hg-shared"), + # "hg_share_base": None, + "from_repo_url": "https://hg.mozilla.org/releases/mozilla-beta", + "to_repo_url": "https://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", + ], +} diff --git a/testing/mozharness/configs/merge_day/bump_central.py b/testing/mozharness/configs/merge_day/bump_central.py new file mode 100644 index 0000000000..55b86858e3 --- /dev/null +++ b/testing/mozharness/configs/merge_day/bump_central.py @@ -0,0 +1,32 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") + +config = { + "log_name": "bump_central", + "version_files": [ + {"file": "browser/config/version.txt", "suffix": ""}, + {"file": "browser/config/version_display.txt", "suffix": "b1"}, + {"file": "config/milestone.txt", "suffix": ""}, + ], + "vcs_share_base": os.path.join(ABS_WORK_DIR, "hg-shared"), + "to_repo_url": "https://hg.mozilla.org/mozilla-central", + "end_tag": "FIREFOX_NIGHTLY_%(major_version)s_END", + "virtualenv_modules": [ + "requests==2.8.1", + ], + "require_remove_locales": False, + "requires_head_merge": False, + "migration_behavior": "bump_and_tag_central", # like esr_bump.py, needed for key validation + "default_actions": [ + "clean-repos", + "pull", + "set_push_to_ssh", + "bump_and_tag_central", + ], +} 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..cfcda871d2 --- /dev/null +++ b/testing/mozharness/configs/merge_day/bump_esr.py @@ -0,0 +1,22 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +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": ""}, + ], + "to_repo_url": "https://hg.mozilla.org/releases/mozilla-esr60", + "migration_behavior": "bump_second_digit", + "require_remove_locales": False, + "requires_head_merge": False, + "default_actions": ["clean-repos", "pull", "set_push_to_ssh", "bump_second_digit"], +} diff --git a/testing/mozharness/configs/merge_day/central_to_beta.py b/testing/mozharness/configs/merge_day/central_to_beta.py new file mode 100644 index 0000000000..7dfd1ad535 --- /dev/null +++ b/testing/mozharness/configs/merge_day/central_to_beta.py @@ -0,0 +1,56 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") + +config = { + "log_name": "central_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 + ( + f, + "ac_add_options --with-branding=browser/branding/nightly", + "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/win64-aarch64/l10n-mozconfig", + "browser/config/mozconfigs/macosx64/l10n-mozconfig", + ] + ] + + [ + # File, from, to + ( + "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, + "from_repo_url": "https://hg.mozilla.org/mozilla-central", + "to_repo_url": "https://hg.mozilla.org/releases/mozilla-beta", + "base_tag": "FIREFOX_BETA_%(major_version)s_BASE", + "end_tag": "FIREFOX_BETA_%(major_version)s_END", + "migration_behavior": "central_to_beta", + "virtualenv_modules": [ + "requests==2.8.1", + ], +} diff --git a/testing/mozharness/configs/merge_day/early_to_late_beta.py b/testing/mozharness/configs/merge_day/early_to_late_beta.py new file mode 100644 index 0000000000..588d0c9fde --- /dev/null +++ b/testing/mozharness/configs/merge_day/early_to_late_beta.py @@ -0,0 +1,11 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# This config is for `mach try release` to support beta simulations. + +config = { + "replacements": [ + ("build/defines.sh", "EARLY_BETA_OR_EARLIER=1", "EARLY_BETA_OR_EARLIER="), + ], +} 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..61136c88b8 --- /dev/null +++ b/testing/mozharness/configs/merge_day/release_to_esr.py @@ -0,0 +1,39 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") +NEW_ESR_REPO = "https://hg.mozilla.org/releases/mozilla-esr68" + +config = { + "log_name": "relese_to_esr", + "version_files": [ + {"file": "browser/config/version_display.txt", "suffix": "esr"}, + ], + "replacements": [ + # File, from, to + ( + "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"), + # Pull from ESR repo, since we have already branched it and have landed esr-specific patches on it + # We will need to manually merge mozilla-release into before runnning this. + "from_repo_url": NEW_ESR_REPO, + "to_repo_url": NEW_ESR_REPO, + "base_tag": "FIREFOX_ESR_%(major_version)s_BASE", + "migration_behavior": "release_to_esr", + "require_remove_locales": False, + "requires_head_merge": False, + "pull_all_branches": False, +} 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..5576c4d2fa --- /dev/null +++ b/testing/mozharness/configs/merge_day/staging_beta_migration.py @@ -0,0 +1,22 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# 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 ... +from __future__ import absolute_import +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"), + "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..5fc7fa3794 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/android-mozharness-build.json @@ -0,0 +1,11 @@ +{ + "log_name": "multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + "work_dir": "build", + "locales_file": "mobile/locales/l10n-changesets.json", + "locales_platform": "android-multilocale" +} diff --git a/testing/mozharness/configs/openh264/linux32.py b/testing/mozharness/configs/openh264/linux32.py new file mode 100644 index 0000000000..bb3ea624fa --- /dev/null +++ b/testing/mozharness/configs/openh264/linux32.py @@ -0,0 +1,33 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +import mozharness + +external_tools_path = os.path.join( + os.path.abspath(os.path.dirname(os.path.dirname(mozharness.__file__))), + "external_tools", +) + +config = { + "exes": { + "gittool.py": [os.path.join(external_tools_path, "gittool.py")], + "python2.7": "python2.7", + }, + "dump_syms_binary": "{}/dump_syms/dump_syms".format(os.environ["MOZ_FETCHES_DIR"]), + "arch": "x86", + "avoid_avx2": True, + "operating_system": "linux", + "partial_env": { + "PATH": ( + "{MOZ_FETCHES_DIR}/clang/bin:" + "{MOZ_FETCHES_DIR}/binutils/bin:" + "{MOZ_FETCHES_DIR}/nasm:%(PATH)s".format( + MOZ_FETCHES_DIR=os.environ["MOZ_FETCHES_DIR"] + ) + ), + }, +} diff --git a/testing/mozharness/configs/openh264/linux64.py b/testing/mozharness/configs/openh264/linux64.py new file mode 100644 index 0000000000..4b74575deb --- /dev/null +++ b/testing/mozharness/configs/openh264/linux64.py @@ -0,0 +1,33 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +import mozharness + +external_tools_path = os.path.join( + os.path.abspath(os.path.dirname(os.path.dirname(mozharness.__file__))), + "external_tools", +) + +config = { + "exes": { + "gittool.py": [os.path.join(external_tools_path, "gittool.py")], + "python2.7": "python2.7", + }, + "dump_syms_binary": "{}/dump_syms/dump_syms".format(os.environ["MOZ_FETCHES_DIR"]), + "arch": "x64", + "avoid_avx2": True, + "operating_system": "linux", + "partial_env": { + "PATH": ( + "{MOZ_FETCHES_DIR}/clang/bin:" + "{MOZ_FETCHES_DIR}/binutils/bin:" + "{MOZ_FETCHES_DIR}/nasm:%(PATH)s".format( + MOZ_FETCHES_DIR=os.environ["MOZ_FETCHES_DIR"] + ) + ), + }, +} diff --git a/testing/mozharness/configs/openh264/macosx64-aarch64.py b/testing/mozharness/configs/openh264/macosx64-aarch64.py new file mode 100644 index 0000000000..6ccce2ac7b --- /dev/null +++ b/testing/mozharness/configs/openh264/macosx64-aarch64.py @@ -0,0 +1,43 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +import mozharness + +external_tools_path = os.path.join( + os.path.abspath(os.path.dirname(os.path.dirname(mozharness.__file__))), + "external_tools", +) + +config = { + "exes": { + "gittool.py": [os.path.join(external_tools_path, "gittool.py")], + "python2.7": "python2.7", + }, + "dump_syms_binary": "{}/dump_syms/dump_syms".format(os.environ["MOZ_FETCHES_DIR"]), + "arch": "aarch64", + "use_yasm": True, + "operating_system": "darwin", + "partial_env": { + "CFLAGS": ( + "-target aarch64-apple-darwin -mcpu=apple-a12 " + "-isysroot {MOZ_FETCHES_DIR}/MacOSX11.0.sdk".format( + MOZ_FETCHES_DIR=os.environ["MOZ_FETCHES_DIR"] + ) + ), + "LDFLAGS": ( + "-target aarch64-apple-darwin -mcpu=apple-a12 " + "-isysroot {MOZ_FETCHES_DIR}/MacOSX11.0.sdk".format( + MOZ_FETCHES_DIR=os.environ["MOZ_FETCHES_DIR"] + ) + ), + "PATH": ( + "{MOZ_FETCHES_DIR}/clang/bin/:{MOZ_FETCHES_DIR}/cctools/bin/:%(PATH)s".format( + MOZ_FETCHES_DIR=os.environ["MOZ_FETCHES_DIR"] + ) + ), + }, +} diff --git a/testing/mozharness/configs/openh264/macosx64.py b/testing/mozharness/configs/openh264/macosx64.py new file mode 100644 index 0000000000..a168d61e25 --- /dev/null +++ b/testing/mozharness/configs/openh264/macosx64.py @@ -0,0 +1,43 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +import mozharness + +external_tools_path = os.path.join( + os.path.abspath(os.path.dirname(os.path.dirname(mozharness.__file__))), + "external_tools", +) + +config = { + "tooltool_manifest_file": "osx.manifest", + "tooltool_cache": "/builds/tooltool_cache", + "exes": { + "gittool.py": [os.path.join(external_tools_path, "gittool.py")], + "python2.7": "python2.7", + }, + "dump_syms_binary": "{}/dump_syms/dump_syms".format(os.environ["MOZ_FETCHES_DIR"]), + "arch": "x64", + "use_yasm": True, + "operating_system": "darwin", + "partial_env": { + "CXXFLAGS": ( + "-target x86_64-apple-darwin " + "-isysroot %(abs_work_dir)s/MacOSX10.11.sdk " + "-mmacosx-version-min=10.11" + ), + "LDFLAGS": ( + "-target x86_64-apple-darwin " + "-isysroot %(abs_work_dir)s/MacOSX10.11.sdk " + "-mmacosx-version-min=10.11" + ), + "PATH": ( + "{MOZ_FETCHES_DIR}/clang/bin/:{MOZ_FETCHES_DIR}/cctools/bin/:%(PATH)s".format( + MOZ_FETCHES_DIR=os.environ["MOZ_FETCHES_DIR"] + ) + ), + }, +} diff --git a/testing/mozharness/configs/openh264/tooltool-manifests/osx.manifest b/testing/mozharness/configs/openh264/tooltool-manifests/osx.manifest new file mode 100644 index 0000000000..6433d85f3f --- /dev/null +++ b/testing/mozharness/configs/openh264/tooltool-manifests/osx.manifest @@ -0,0 +1,10 @@ +[ + { + "size": 34094283, + "visibility": "internal", + "digest": "8811050fe375bcc566c8b85173d86b8a87aa2148edfed93023735c2de44b66a5a28cbaa1cfd396032447fd803e03f308ed941a200c0e2a1ad9fbe16b5606ee7c", + "algorithm": "sha512", + "unpack": true, + "filename": "MacOSX10.11.sdk.tar.xz" + } +] diff --git a/testing/mozharness/configs/openh264/tooltool-manifests/win.manifest b/testing/mozharness/configs/openh264/tooltool-manifests/win.manifest new file mode 100644 index 0000000000..5ec9a8377a --- /dev/null +++ b/testing/mozharness/configs/openh264/tooltool-manifests/win.manifest @@ -0,0 +1,10 @@ +[ + { + "version": "Visual Studio 2017 15.8.4 / SDK 10.0.17134.0", + "digest": "ecf1e03f6f98f86775059a43f9e7dc7e326f6643d7c08962d9f614e4f5a65b1ca63fa1cfeb0f1a3c2474bf0d4318dda960b378beb2a44ecf8a91111207f4ece5", + "size": 349626009, + "algorithm": "sha512", + "filename": "vs2017_15.8.4.zip", + "unpack": true + } +] diff --git a/testing/mozharness/configs/openh264/tooltool-manifests/win64-aarch64.manifest b/testing/mozharness/configs/openh264/tooltool-manifests/win64-aarch64.manifest new file mode 100644 index 0000000000..4989d3a4ee --- /dev/null +++ b/testing/mozharness/configs/openh264/tooltool-manifests/win64-aarch64.manifest @@ -0,0 +1,11 @@ +[ + { + "version": "Visual Studio 2017 15.9.6 / SDK 10.0.17134.0", + "size": 490015895, + "visibility": "internal", + "digest": "91d08703a8ce39f6f53ccecc7c7b6f57e1b571ddb5d1eb4dd9260e52580566c35a4bed39ad366fd60ca60ebf5c06f0f00561bba5cd631826511f2872a3d2dcd5", + "algorithm": "sha512", + "filename": "vs2017_15.9.6.zip", + "unpack": true + } +] diff --git a/testing/mozharness/configs/openh264/win32.py b/testing/mozharness/configs/openh264/win32.py new file mode 100644 index 0000000000..72f1663fb9 --- /dev/null +++ b/testing/mozharness/configs/openh264/win32.py @@ -0,0 +1,52 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import sys +import os + +import mozharness + +external_tools_path = os.path.join( + os.path.abspath(os.path.dirname(os.path.dirname(mozharness.__file__))), + "external_tools", +) + +VSPATH = "%(abs_work_dir)s\\vs2017_15.8.4" +config = { + "tooltool_manifest_file": "win.manifest", + "exes": { + "gittool.py": [sys.executable, os.path.join(external_tools_path, "gittool.py")], + "python2.7": "c:\\mozilla-build\\python\\python.exe", + }, + "dump_syms_binary": "{}/dump_syms/dump_syms.exe".format( + os.environ["MOZ_FETCHES_DIR"] + ), + "arch": "x86", + "use_yasm": True, + "partial_env": { + "PATH": ( + "{MOZ_FETCHES_DIR}\\clang\\bin\\;" + "{_VSPATH}\\VC\\bin\\Hostx64\\x64;%(PATH)s" + # 32-bit redist here for our dump_syms.exe + "{_VSPATH}/VC/redist/x86/Microsoft.VC141.CRT;" + "{_VSPATH}/SDK/Redist/ucrt/DLLs/x86;" + "{_VSPATH}/DIA SDK/bin" + ).format(_VSPATH=VSPATH, MOZ_FETCHES_DIR=os.environ["MOZ_FETCHES_DIR"]), + "INCLUDES": ( + "-I{_VSPATH}\\VC\\include " + "-I{_VSPATH}\\VC\\atlmfc\\include " + "-I{_VSPATH}\\SDK\\Include\\10.0.17134.0\\ucrt " + "-I{_VSPATH}\\SDK\\Include\\10.0.17134.0\\shared " + "-I{_VSPATH}\\SDK\\Include\\10.0.17134.0\\um " + "-I{_VSPATH}\\SDK\\Include\\10.0.17134.0\\winrt " + ).format(_VSPATH=VSPATH), + "LIB": ( + "{_VSPATH}/VC/lib/x86;" + "{_VSPATH}/VC/atlmfc/lib/x86;" + "{_VSPATH}/SDK/lib/10.0.17134.0/ucrt/x86;" + "{_VSPATH}/SDK/lib/10.0.17134.0/um/x86;" + ).format(_VSPATH=VSPATH), + }, +} diff --git a/testing/mozharness/configs/openh264/win64-aarch64.py b/testing/mozharness/configs/openh264/win64-aarch64.py new file mode 100644 index 0000000000..5f6c3c4a67 --- /dev/null +++ b/testing/mozharness/configs/openh264/win64-aarch64.py @@ -0,0 +1,54 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import sys +import os + +import mozharness + +external_tools_path = os.path.join( + os.path.abspath(os.path.dirname(os.path.dirname(mozharness.__file__))), + "external_tools", +) + +VSPATH = "%(abs_work_dir)s\\vs2017_15.9.6" +config = { + "tooltool_manifest_file": "win64-aarch64.manifest", + "exes": { + "gittool.py": [sys.executable, os.path.join(external_tools_path, "gittool.py")], + "python2.7": "c:\\mozilla-build\\python\\python.exe", + }, + "dump_syms_binary": "{}/dump_syms/dump_syms.exe".format( + os.environ["MOZ_FETCHES_DIR"] + ), + "arch": "aarch64", + "use_yasm": False, + "partial_env": { + "PATH": ( + "%(abs_work_dir)s\\openh264;" + "{MOZ_FETCHES_DIR}\\clang\\bin\\;" + "{_VSPATH}\\VC\\bin\\Hostx64\\arm64;" + "{_VSPATH}\\VC\\bin\\Hostx64\\x64;" + # 32-bit redist here for our dump_syms.exe + "{_VSPATH}/VC/redist/x86/Microsoft.VC141.CRT;" + "{_VSPATH}/SDK/Redist/ucrt/DLLs/x86;" + "{_VSPATH}/DIA SDK/bin;%(PATH)s;" + ).format(_VSPATH=VSPATH, MOZ_FETCHES_DIR=os.environ["MOZ_FETCHES_DIR"]), + "INCLUDES": ( + "-I{_VSPATH}\\VC\\include " + "-I{_VSPATH}\\VC\\atlmfc\\include " + "-I{_VSPATH}\\SDK\\Include\\10.0.17134.0\\ucrt " + "-I{_VSPATH}\\SDK\\Include\\10.0.17134.0\\shared " + "-I{_VSPATH}\\SDK\\Include\\10.0.17134.0\\um " + "-I{_VSPATH}\\SDK\\Include\\10.0.17134.0\\winrt " + ).format(_VSPATH=VSPATH), + "LIB": ( + "{_VSPATH}/VC/lib/arm64;" + "{_VSPATH}/VC/atlmfc/lib/arm64;" + "{_VSPATH}/SDK/lib/10.0.17134.0/ucrt/arm64;" + "{_VSPATH}/SDK/lib/10.0.17134.0/um/arm64;" + ).format(_VSPATH=VSPATH), + }, +} diff --git a/testing/mozharness/configs/openh264/win64.py b/testing/mozharness/configs/openh264/win64.py new file mode 100644 index 0000000000..7beca21500 --- /dev/null +++ b/testing/mozharness/configs/openh264/win64.py @@ -0,0 +1,52 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import sys +import os + +import mozharness + +external_tools_path = os.path.join( + os.path.abspath(os.path.dirname(os.path.dirname(mozharness.__file__))), + "external_tools", +) + +VSPATH = "%(abs_work_dir)s\\vs2017_15.8.4" +config = { + "tooltool_manifest_file": "win.manifest", + "exes": { + "gittool.py": [sys.executable, os.path.join(external_tools_path, "gittool.py")], + "python2.7": "c:\\mozilla-build\\python\\python.exe", + }, + "dump_syms_binary": "{}/dump_syms/dump_syms.exe".format( + os.environ["MOZ_FETCHES_DIR"] + ), + "arch": "x64", + "use_yasm": True, + "partial_env": { + "PATH": ( + "{MOZ_FETCHES_DIR}\\clang\\bin\\;" + "{_VSPATH}\\VC\\bin\\Hostx64\\x64;%(PATH)s;" + # 32-bit redist here for our dump_syms.exe + "{_VSPATH}/VC/redist/x86/Microsoft.VC141.CRT;" + "{_VSPATH}/SDK/Redist/ucrt/DLLs/x86;" + "{_VSPATH}/DIA SDK/bin" + ).format(_VSPATH=VSPATH, MOZ_FETCHES_DIR=os.environ["MOZ_FETCHES_DIR"]), + "INCLUDES": ( + "-I{_VSPATH}\\VC\\include " + "-I{_VSPATH}\\VC\\atlmfc\\include " + "-I{_VSPATH}\\SDK\\Include\\10.0.17134.0\\ucrt " + "-I{_VSPATH}\\SDK\\Include\\10.0.17134.0\\shared " + "-I{_VSPATH}\\SDK\\Include\\10.0.17134.0\\um " + "-I{_VSPATH}\\SDK\\Include\\10.0.17134.0\\winrt " + ).format(_VSPATH=VSPATH), + "LIB": ( + "{_VSPATH}/VC/lib/x64;" + "{_VSPATH}/VC/atlmfc/lib/x64;" + "{_VSPATH}/SDK/lib/10.0.17134.0/ucrt/x64;" + "{_VSPATH}/SDK/lib/10.0.17134.0/um/x64;" + ).format(_VSPATH=VSPATH), + }, +} diff --git a/testing/mozharness/configs/partner_repacks/release_mozilla-release_desktop.py b/testing/mozharness/configs/partner_repacks/release_mozilla-release_desktop.py new file mode 100644 index 0000000000..3391dd396c --- /dev/null +++ b/testing/mozharness/configs/partner_repacks/release_mozilla-release_desktop.py @@ -0,0 +1,19 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "appName": "Firefox", + "log_name": "partner_repack", + "repack_manifests_url": "git@github.com:mozilla-partners/repack-manifests.git", + "repo_file": "https://raw.githubusercontent.com/mozilla/git-repo/master/repo", + "secret_files": [ + { + "filename": "/builds/partner-github-ssh", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/partner-github-ssh", + "min_scm_level": 1, + "mode": 0o600, + }, + ], + "ssh_key": "/builds/partner-github-ssh", +} diff --git a/testing/mozharness/configs/partner_repacks/release_mozilla-release_desktop_EME-free.py b/testing/mozharness/configs/partner_repacks/release_mozilla-release_desktop_EME-free.py new file mode 100644 index 0000000000..4d2d2df418 --- /dev/null +++ b/testing/mozharness/configs/partner_repacks/release_mozilla-release_desktop_EME-free.py @@ -0,0 +1,19 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "appName": "Firefox", + "log_name": "partner_repack", + "repack_manifests_url": "git@github.com:mozilla-partners/mozilla-EME-free-manifest.git", + "repo_file": "https://raw.githubusercontent.com/mozilla/git-repo/master/repo", + "secret_files": [ + { + "filename": "/builds/partner-github-ssh", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/partner-github-ssh", + "min_scm_level": 1, + "mode": 0o600, + }, + ], + "ssh_key": "/builds/partner-github-ssh", +} diff --git a/testing/mozharness/configs/partner_repacks/staging_release_mozilla-release_desktop.py b/testing/mozharness/configs/partner_repacks/staging_release_mozilla-release_desktop.py new file mode 100644 index 0000000000..3391dd396c --- /dev/null +++ b/testing/mozharness/configs/partner_repacks/staging_release_mozilla-release_desktop.py @@ -0,0 +1,19 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "appName": "Firefox", + "log_name": "partner_repack", + "repack_manifests_url": "git@github.com:mozilla-partners/repack-manifests.git", + "repo_file": "https://raw.githubusercontent.com/mozilla/git-repo/master/repo", + "secret_files": [ + { + "filename": "/builds/partner-github-ssh", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/partner-github-ssh", + "min_scm_level": 1, + "mode": 0o600, + }, + ], + "ssh_key": "/builds/partner-github-ssh", +} diff --git a/testing/mozharness/configs/raptor/android_hw_config.py b/testing/mozharness/configs/raptor/android_hw_config.py new file mode 100644 index 0000000000..848862fe9c --- /dev/null +++ b/testing/mozharness/configs/raptor/android_hw_config.py @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "log_name": "raptor", + "title": os.uname()[1].lower().split(".")[0], + "default_actions": [ + "clobber", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install-chrome-android", + "install-chromium-distribution", + "install", + "run-tests", + ], + "tooltool_cache": "/builds/tooltool_cache", + "download_tooltool": True, + "hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest", +} + +# raptor will pick these up in mitmproxy.py, doesn't use the mozharness config +os.environ["TOOLTOOLCACHE"] = config["tooltool_cache"] +os.environ["HOSTUTILS_MANIFEST_PATH"] = config["hostutils_manifest_path"] diff --git a/testing/mozharness/configs/raptor/linux64_config_taskcluster.py b/testing/mozharness/configs/raptor/linux64_config_taskcluster.py new file mode 100644 index 0000000000..769f205b2c --- /dev/null +++ b/testing/mozharness/configs/raptor/linux64_config_taskcluster.py @@ -0,0 +1,33 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os +import sys + +PYTHON = sys.executable +VENV_PATH = "%s/build/venv" % os.getcwd() + +exes = { + "python": PYTHON, +} +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") +INSTALLER_PATH = os.path.join(ABS_WORK_DIR, "installer.tar.bz2") + +config = { + "log_name": "raptor", + "installer_path": INSTALLER_PATH, + "virtualenv_path": VENV_PATH, + "exes": exes, + "title": os.uname()[1].lower().split(".")[0], + "default_actions": [ + "clobber", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install", + "run-tests", + ], + "tooltool_cache": "/builds/worker/tooltool-cache", +} diff --git a/testing/mozharness/configs/raptor/linux_config.py b/testing/mozharness/configs/raptor/linux_config.py new file mode 100644 index 0000000000..e3133e68f7 --- /dev/null +++ b/testing/mozharness/configs/raptor/linux_config.py @@ -0,0 +1,25 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +VENV_PATH = "%s/build/venv" % os.getcwd() + +config = { + "log_name": "raptor", + "installer_path": "installer.exe", + "virtualenv_path": VENV_PATH, + "title": os.uname()[1].lower().split(".")[0], + "default_actions": [ + "clobber", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install-chromium-distribution", + "install", + "run-tests", + ], + "tooltool_cache": "/builds/tooltool_cache", +} diff --git a/testing/mozharness/configs/raptor/mac_config.py b/testing/mozharness/configs/raptor/mac_config.py new file mode 100644 index 0000000000..46467b3338 --- /dev/null +++ b/testing/mozharness/configs/raptor/mac_config.py @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +VENV_PATH = "%s/build/venv" % os.getcwd() + +config = { + "log_name": "raptor", + "installer_path": "installer.exe", + "virtualenv_path": VENV_PATH, + "title": os.uname()[1].lower().split(".")[0], + "default_actions": [ + "clobber", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install-chromium-distribution", + "install", + "run-tests", + ], + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [], + "postflight_run_cmd_suites": [], + "tooltool_cache": "/builds/tooltool_cache", +} diff --git a/testing/mozharness/configs/raptor/windows_config.py b/testing/mozharness/configs/raptor/windows_config.py new file mode 100644 index 0000000000..4554e99190 --- /dev/null +++ b/testing/mozharness/configs/raptor/windows_config.py @@ -0,0 +1,58 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os +import socket +import sys + +PYTHON = sys.executable +PYTHON_DLL = "c:/mozilla-build/python27/python27.dll" +VENV_PATH = os.path.join(os.getcwd(), "build/venv") + +PYWIN32 = "pypiwin32==219" +if sys.version_info > (3, 0): + PYWIN32 = "pywin32==300" + +config = { + "log_name": "raptor", + "installer_path": "installer.exe", + "virtualenv_path": VENV_PATH, + "virtualenv_modules": [PYWIN32, "raptor", "mozinstall"], + "exes": { + "python": PYTHON, + "easy_install": [ + "%s/scripts/python" % VENV_PATH, + "%s/scripts/easy_install-2.7-script.py" % VENV_PATH, + ], + "mozinstall": [ + "%s/scripts/python" % VENV_PATH, + "%s/scripts/mozinstall-script.py" % VENV_PATH, + ], + "hg": os.path.join(os.environ["PROGRAMFILES"], "Mercurial", "hg"), + "tooltool.py": [ + PYTHON, + os.path.join(os.environ["MOZILLABUILD"], "tooltool.py"), + ], + }, + "title": socket.gethostname().split(".")[0], + "default_actions": [ + "clobber", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install-chromium-distribution", + "install", + "run-tests", + ], + "tooltool_cache": os.path.join("c:\\", "build", "tooltool_cache"), + "python3_manifest": { + "win32": "python3.manifest", + "win64": "python3_x64.manifest", + }, + "env": { + # python3 requires C runtime, found in firefox installation; see bug 1361732 + "PATH": "%(PATH)s;c:\\slave\\test\\build\\application\\firefox;" + }, +} diff --git a/testing/mozharness/configs/raptor/windows_vm_config.py b/testing/mozharness/configs/raptor/windows_vm_config.py new file mode 100644 index 0000000000..b68697feed --- /dev/null +++ b/testing/mozharness/configs/raptor/windows_vm_config.py @@ -0,0 +1,54 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os +import socket +import sys + +PYTHON = sys.executable +PYTHON_DLL = "c:/mozilla-build/python27/python27.dll" +VENV_PATH = os.path.join(os.getcwd(), "build/venv") + +PYWIN32 = "pypiwin32==219" +if sys.version_info > (3, 0): + PYWIN32 = "pywin32==300" + +config = { + "log_name": "raptor", + "installer_path": "installer.exe", + "virtualenv_path": VENV_PATH, + "virtualenv_modules": [PYWIN32, "raptor", "mozinstall"], + "exes": { + "python": PYTHON, + "easy_install": [ + "%s/scripts/python" % VENV_PATH, + "%s/scripts/easy_install-2.7-script.py" % VENV_PATH, + ], + "mozinstall": [ + "%s/scripts/python" % VENV_PATH, + "%s/scripts/mozinstall-script.py" % VENV_PATH, + ], + "hg": os.path.join(os.environ["PROGRAMFILES"], "Mercurial", "hg"), + }, + "title": socket.gethostname().split(".")[0], + "default_actions": [ + "clobber", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install-chromium-distribution", + "install", + "run-tests", + ], + "tooltool_cache": os.path.join("c:\\", "build", "tooltool_cache"), + "python3_manifest": { + "win32": "python3.manifest", + "win64": "python3_x64.manifest", + }, + "env": { + # python3 requires C runtime, found in firefox installation; see bug 1361732 + "PATH": "%(PATH)s;c:\\slave\\test\\build\\application\\firefox;" + }, +} diff --git a/testing/mozharness/configs/releases/bouncer_firefox_beta.py b/testing/mozharness/configs/releases/bouncer_firefox_beta.py new file mode 100644 index 0000000000..47e666b64d --- /dev/null +++ b/testing/mozharness/configs/releases/bouncer_firefox_beta.py @@ -0,0 +1,120 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# lint_ignore=E501 +config = { + "products": { + # for installers, stubs, msi (ie not updates) ... + # products containing "latest" are for www.mozilla.org via cron-bouncer-check + # products using versions are for release automation via release-bouncer-check-firefox + "installer": { + "product-name": "Firefox-%(version)s", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-latest": { + "product-name": "Firefox-beta-latest", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-ssl": { + "product-name": "Firefox-%(version)s-SSL", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-latest-ssl": { + "product-name": "Firefox-beta-latest-SSL", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "msi": { + "product-name": "Firefox-%(version)s-msi-SSL", + "check_uptake": True, + "platforms": [ + "win", + "win64", + ], + }, + "msi-latest": { + "product-name": "Firefox-beta-msi-latest-SSL", + "check_uptake": True, + "platforms": [ + "win", + "win64", + ], + }, + "stub-installer": { + "product-name": "Firefox-%(version)s-stub", + "check_uptake": True, + "platforms": [ + "win", + "win64", + "win64-aarch64", + ], + }, + "stub-installer-latest": { + "product-name": "Firefox-beta-stub", + "check_uptake": True, + "platforms": [ + "win", + "win64", + "win64-aarch64", + ], + }, + "complete-mar": { + "product-name": "Firefox-%(version)s-Complete", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + }, + "partials": { + "releases-dir": { + "product-name": "Firefox-%(version)s-Partial-%(prev_version)s", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + }, +} diff --git a/testing/mozharness/configs/releases/bouncer_firefox_devedition.py b/testing/mozharness/configs/releases/bouncer_firefox_devedition.py new file mode 100644 index 0000000000..9ba930b79c --- /dev/null +++ b/testing/mozharness/configs/releases/bouncer_firefox_devedition.py @@ -0,0 +1,120 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# lint_ignore=E501 +config = { + "products": { + # for installers, stubs, msi (ie not updates) ... + # products containing "latest" are for www.mozilla.org via cron-bouncer-check + # products using versions are for release automation via release-bouncer-check-firefox + "installer": { + "product-name": "Devedition-%(version)s", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-latest": { + "product-name": "Firefox-devedition-latest", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-ssl": { + "product-name": "Devedition-%(version)s-SSL", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-latest-ssl": { + "product-name": "Firefox-devedition-latest-SSL", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "msi": { + "product-name": "Devedition-%(version)s-msi-SSL", + "check_uptake": True, + "platforms": [ + "win", + "win64", + ], + }, + "msi-latest": { + "product-name": "Firefox-devedition-msi-latest-SSL", + "check_uptake": True, + "platforms": [ + "win", + "win64", + ], + }, + "stub-installer": { + "product-name": "Devedition-%(version)s-stub", + "check_uptake": True, + "platforms": [ + "win", + "win64", + "win64-aarch64", + ], + }, + "stub-installer-latest": { + "product-name": "Firefox-devedition-stub", + "check_uptake": True, + "platforms": [ + "win", + "win64", + "win64-aarch64", + ], + }, + "complete-mar": { + "product-name": "Devedition-%(version)s-Complete", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + }, + "partials": { + "releases-dir": { + "product-name": "Devedition-%(version)s-Partial-%(prev_version)s", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + }, +} diff --git a/testing/mozharness/configs/releases/bouncer_firefox_esr.py b/testing/mozharness/configs/releases/bouncer_firefox_esr.py new file mode 100644 index 0000000000..b146116a32 --- /dev/null +++ b/testing/mozharness/configs/releases/bouncer_firefox_esr.py @@ -0,0 +1,134 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# lint_ignore=E501 +config = { + "products": { + # for installers, stubs, msi (ie not updates) ... + # products containing "latest" are for www.mozilla.org via cron-bouncer-check + # products using versions are for release automation via release-bouncer-check-firefox + "installer": { + "product-name": "Firefox-%(version)s", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-latest": { + "product-name": "Firefox-esr-latest", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-next-latest": { + "product-name": "Firefox-esr-next-latest", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-ssl": { + "product-name": "Firefox-%(version)s-SSL", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-latest-ssl": { + "product-name": "Firefox-esr-latest-SSL", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-next-latest-ssl": { + "product-name": "Firefox-esr-next-latest-SSL", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "msi": { + "product-name": "Firefox-%(version)s-msi-SSL", + "check_uptake": True, + "platforms": [ + "win", + "win64", + ], + }, + "msi-latest": { + "product-name": "Firefox-esr-msi-latest-SSL", + "check_uptake": True, + "platforms": [ + "win", + "win64", + ], + }, + "msi-next-latest": { + "product-name": "Firefox-esr-next-msi-latest-SSL", + "check_uptake": True, + "platforms": [ + "win", + "win64", + ], + }, + "complete-mar": { + "product-name": "Firefox-%(version)s-Complete", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + }, + "partials": { + "releases-dir": { + "product-name": "Firefox-%(version)s-Partial-%(prev_version)s", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + }, +} diff --git a/testing/mozharness/configs/releases/bouncer_firefox_nightly.py b/testing/mozharness/configs/releases/bouncer_firefox_nightly.py new file mode 100644 index 0000000000..453792d790 --- /dev/null +++ b/testing/mozharness/configs/releases/bouncer_firefox_nightly.py @@ -0,0 +1,79 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# lint_ignore=E501 +config = { + "products": { + "installer-latest": { + "product-name": "Firefox-nightly-latest", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-latest-ssl": { + "product-name": "Firefox-nightly-latest-SSL", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-latest-l10n-ssl": { + "product-name": "Firefox-nightly-latest-l10n-SSL", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "msi-latest": { + "product-name": "Firefox-nightly-msi-latest-SSL", + "check_uptake": True, + "platforms": [ + "win", + "win64", + ], + }, + "msi-latest-l10n": { + "product-name": "Firefox-nightly-msi-latest-l10n-SSL", + "check_uptake": True, + "platforms": [ + "win", + "win64", + ], + }, + "stub-installer": { + "product-name": "Firefox-nightly-stub", + "check_uptake": True, + "platforms": [ + "win", + "win64", + "win64-aarch64", + ], + }, + "stub-installer-l10n": { + "product-name": "Firefox-nightly-stub-l10n", + "check_uptake": True, + "platforms": [ + "win", + "win64", + "win64-aarch64", + ], + }, + }, +} diff --git a/testing/mozharness/configs/releases/bouncer_firefox_release.py b/testing/mozharness/configs/releases/bouncer_firefox_release.py new file mode 100644 index 0000000000..5a784ed248 --- /dev/null +++ b/testing/mozharness/configs/releases/bouncer_firefox_release.py @@ -0,0 +1,143 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# lint_ignore=E501 +config = { + "products": { + # for installers, stubs, msi (ie not updates) ... + # products containing "latest" are for www.mozilla.org via cron-bouncer-check + # products using versions are for release automation via release-bouncer-check-firefox + "installer": { + "product-name": "Firefox-%(version)s", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-latest": { + "product-name": "Firefox-latest", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-ssl": { + "product-name": "Firefox-%(version)s-SSL", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "installer-latest-ssl": { + "product-name": "Firefox-latest-SSL", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "msi": { + "product-name": "Firefox-%(version)s-msi-SSL", + "check_uptake": True, + "platforms": [ + "win", + "win64", + ], + }, + "msi-latest": { + "product-name": "Firefox-msi-latest-SSL", + "check_uptake": True, + "platforms": [ + "win", + "win64", + ], + }, + "stub-installer": { + "product-name": "Firefox-%(version)s-stub", + "check_uptake": True, + "platforms": [ + "win", + "win64", + "win64-aarch64", + ], + }, + "stub-installer-latest": { + "product-name": "Firefox-stub", + "check_uptake": True, + "platforms": [ + "win", + "win64", + "win64-aarch64", + ], + }, + "complete-mar": { + "product-name": "Firefox-%(version)s-Complete", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "complete-mar-candidates": { + "product-name": "Firefox-%(version)sbuild%(build_number)s-Complete", + "check_uptake": False, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + }, + "partials": { + "releases-dir": { + "product-name": "Firefox-%(version)s-Partial-%(prev_version)s", + "check_uptake": True, + "platforms": [ + "linux", + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + "candidates-dir": { + "product-name": "Firefox-%(version)sbuild%(build_number)s-Partial-%(prev_version)sbuild%(prev_build_number)s", + "check_uptake": False, + "platforms": [ + "linux64", + "osx", + "win", + "win64", + "win64-aarch64", + ], + }, + }, +} diff --git a/testing/mozharness/configs/releases/dev_postrelease_fennec_beta.py b/testing/mozharness/configs/releases/dev_postrelease_fennec_beta.py new file mode 100644 index 0000000000..1b0038db75 --- /dev/null +++ b/testing/mozharness/configs/releases/dev_postrelease_fennec_beta.py @@ -0,0 +1,24 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + # maple is used for staging mozilla-beta + "log_name": "bump_maple", + "version_files": [{"file": "browser/config/version_display.txt"}], + "repo": { + # maple is used for staging mozilla-beta + "repo": "https://hg.mozilla.org/projects/maple", + "branch": "default", + "dest": "maple", + "vcs": "hg", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }, + # maple is used for staging mozilla-beta + "push_dest": "ssh://hg.mozilla.org/projects/maple", + "ignore_no_changes": True, + "ssh_user": "ffxbld", + "ssh_key": "~/.ssh/ffxbld_rsa", + "ship_it_root": "https://ship-it-dev.allizom.org", + "ship_it_username": "ship_it-stage-ffxbld", +} diff --git a/testing/mozharness/configs/releases/dev_postrelease_fennec_release.py b/testing/mozharness/configs/releases/dev_postrelease_fennec_release.py new file mode 100644 index 0000000000..5205ad41cc --- /dev/null +++ b/testing/mozharness/configs/releases/dev_postrelease_fennec_release.py @@ -0,0 +1,26 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "log_name": "bump_release_dev", + "version_files": [ + {"file": "browser/config/version.txt"}, + {"file": "browser/config/version_display.txt"}, + {"file": "config/milestone.txt"}, + ], + "repo": { + # jamun is used for staging mozilla-release + "repo": "https://hg.mozilla.org/projects/jamun", + "branch": "default", + "dest": "jamun", + "vcs": "hg", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }, + "push_dest": "ssh://hg.mozilla.org/projects/jamun", + "ignore_no_changes": True, + "ssh_user": "ffxbld", + "ssh_key": "~/.ssh/ffxbld_rsa", + "ship_it_root": "https://ship-it-dev.allizom.org", + "ship_it_username": "ship_it-stage-ffxbld", +} diff --git a/testing/mozharness/configs/releases/dev_postrelease_firefox_beta.py b/testing/mozharness/configs/releases/dev_postrelease_firefox_beta.py new file mode 100644 index 0000000000..ce7ff54bd5 --- /dev/null +++ b/testing/mozharness/configs/releases/dev_postrelease_firefox_beta.py @@ -0,0 +1,24 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + # date is used for staging mozilla-beta + "log_name": "bump_date", + "version_files": [{"file": "browser/config/version_display.txt"}], + "repo": { + # maple is used for staging mozilla-beta + "repo": "https://hg.mozilla.org/projects/jamun", + "branch": "default", + "dest": "jamun", + "vcs": "hg", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }, + # date is used for staging mozilla-beta + "push_dest": "ssh://hg.mozilla.org/projects/jamun", + "ignore_no_changes": True, + "ssh_user": "ffxbld", + "ssh_key": "~/.ssh/ffxbld_rsa", + "ship_it_root": "https://ship-it-dev.allizom.org", + "ship_it_username": "ship_it-stage-ffxbld", +} diff --git a/testing/mozharness/configs/releases/dev_postrelease_firefox_release.py b/testing/mozharness/configs/releases/dev_postrelease_firefox_release.py new file mode 100644 index 0000000000..5205ad41cc --- /dev/null +++ b/testing/mozharness/configs/releases/dev_postrelease_firefox_release.py @@ -0,0 +1,26 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "log_name": "bump_release_dev", + "version_files": [ + {"file": "browser/config/version.txt"}, + {"file": "browser/config/version_display.txt"}, + {"file": "config/milestone.txt"}, + ], + "repo": { + # jamun is used for staging mozilla-release + "repo": "https://hg.mozilla.org/projects/jamun", + "branch": "default", + "dest": "jamun", + "vcs": "hg", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }, + "push_dest": "ssh://hg.mozilla.org/projects/jamun", + "ignore_no_changes": True, + "ssh_user": "ffxbld", + "ssh_key": "~/.ssh/ffxbld_rsa", + "ship_it_root": "https://ship-it-dev.allizom.org", + "ship_it_username": "ship_it-stage-ffxbld", +} diff --git a/testing/mozharness/configs/releases/dev_postrelease_firefox_release_birch.py b/testing/mozharness/configs/releases/dev_postrelease_firefox_release_birch.py new file mode 100644 index 0000000000..47593625f2 --- /dev/null +++ b/testing/mozharness/configs/releases/dev_postrelease_firefox_release_birch.py @@ -0,0 +1,26 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "log_name": "bump_release_dev", + "version_files": [ + {"file": "browser/config/version.txt"}, + {"file": "browser/config/version_display.txt"}, + {"file": "config/milestone.txt"}, + ], + "repo": { + # jamun is used for staging mozilla-release + "repo": "https://hg.mozilla.org/projects/birch", + "branch": "default", + "dest": "birch", + "vcs": "hg", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }, + "push_dest": "ssh://hg.mozilla.org/projects/birch", + "ignore_no_changes": True, + "ssh_user": "ffxbld", + "ssh_key": "~/.ssh/ffxbld_rsa", + "ship_it_root": "https://ship-it-dev.allizom.org", + "ship_it_username": "ship_it-stage-ffxbld", +} diff --git a/testing/mozharness/configs/releases/dev_updates_firefox_beta.py b/testing/mozharness/configs/releases/dev_updates_firefox_beta.py new file mode 100644 index 0000000000..9c60d1e9ce --- /dev/null +++ b/testing/mozharness/configs/releases/dev_updates_firefox_beta.py @@ -0,0 +1,42 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "log_name": "bump_beta_dev", + # TODO: use real repo + "repo": { + "repo": "https://hg.mozilla.org/users/stage-ffxbld/tools", + "branch": "default", + "dest": "tools", + "vcs": "hg", + }, + "vcs_share_base": "/builds/hg-shared", + # TODO: use real repo + "push_dest": "ssh://hg.mozilla.org/users/stage-ffxbld/tools", + # jamun repo used for staging beta + "shipped-locales-url": "https://hg.mozilla.org/projects/jamun/raw-file/{revision}/browser/locales/shipped-locales", + "ignore_no_changes": True, + "ssh_user": "ffxbld", + "ssh_key": "~/.ssh/ffxbld_rsa", + "archive_domain": "ftp.stage.mozaws.net", + "archive_prefix": "https://ftp.stage.mozaws.net/pub", + "previous_archive_prefix": "https://archive.mozilla.org/pub", + "download_domain": "download.mozilla.org", + "balrog_url": "http://54.90.211.22:9090", + "balrog_username": "balrog-stage-ffxbld", + "update_channels": { + "beta": { + "version_regex": r"^(\d+\.\d+(b\d+)?)$", + "requires_mirrors": True, + # TODO - when we use a real repo, rename this file # s/MozJamun/Mozbeta/ + "patcher_config": "mozJamun-branch-patcher2.cfg", + "update_verify_channel": "beta-localtest", + "mar_channel_ids": [], + "channel_names": ["beta", "beta-localtest", "beta-cdntest"], + "rules_to_update": ["firefox-beta-cdntest", "firefox-beta-localtest"], + "publish_rules": [32], + } + }, + "balrog_use_dummy_suffix": False, +} diff --git a/testing/mozharness/configs/releases/dev_updates_firefox_devedition.py b/testing/mozharness/configs/releases/dev_updates_firefox_devedition.py new file mode 100644 index 0000000000..2b2406be39 --- /dev/null +++ b/testing/mozharness/configs/releases/dev_updates_firefox_devedition.py @@ -0,0 +1,45 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "log_name": "updates_devedition", + # TODO: use real repo + "repo": { + "repo": "https://hg.mozilla.org/users/asasaki_mozilla.com/tools", + "branch": "default", + "dest": "tools", + "vcs": "hg", + }, + "vcs_share_base": "/builds/hg-shared", + # TODO: use real repo + "push_dest": "ssh://hg.mozilla.org/users/asasaki_mozilla.com/tools", + # maple repo used for staging beta + "shipped-locales-url": "https://hg.mozilla.org/projects/maple/raw-file/{revision}/browser/locales/shipped-locales", + "ignore_no_changes": True, + "ssh_user": "ffxbld", + "ssh_key": "~/.ssh/ffxbld_rsa", + "archive_domain": "ftp.stage.mozaws.net", + "archive_prefix": "https://ftp.stage.mozaws.net/pub", + "previous_archive_prefix": "https://archive.mozilla.org/pub", + "download_domain": "download.mozilla.org", + "balrog_url": "https://stage.balrog.nonprod.cloudops.mozgcp.net/", + "balrog_username": "balrog-stage-ffxbld", + "update_channels": { + "aurora": { + "version_regex": r"^(\d+\.\d+(b\d+)?)$", + "requires_mirrors": True, + # TODO - when we use a real repo, rename this file # s/MozJamun/Mozbeta/ + "patcher_config": "mozDevedition-branch-patcher2.cfg", + "patcher_config_product_override": "firefox", + "update_verify_channel": "aurora-localtest", + "mar_channel_ids": [], + "channel_names": ["aurora", "aurora-localtest", "aurora-cdntest"], + "rules_to_update": ["devedition-cdntest", "devedition-localtest"], + "publish_rules": [10], + } + }, + "balrog_use_dummy_suffix": False, + "stage_product": "devedition", + "bouncer_product": "devedition", +} diff --git a/testing/mozharness/configs/releases/dev_updates_firefox_release.py b/testing/mozharness/configs/releases/dev_updates_firefox_release.py new file mode 100644 index 0000000000..1413ae1031 --- /dev/null +++ b/testing/mozharness/configs/releases/dev_updates_firefox_release.py @@ -0,0 +1,55 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "log_name": "updates_release_dev", + # TODO: use real repo + "repo": { + "repo": "https://hg.mozilla.org/users/stage-ffxbld/tools", + "branch": "default", + "dest": "tools", + "vcs": "hg", + }, + "vcs_share_base": "/builds/hg-shared", + # TODO: use real repo + "push_dest": "ssh://hg.mozilla.org/users/stage-ffxbld/tools", + # jamun repo used for staging release + "shipped-locales-url": "https://hg.mozilla.org/projects/jamun/raw-file/{revision}/browser/locales/shipped-locales", + "ignore_no_changes": True, + "ssh_user": "ffxbld", + "ssh_key": "~/.ssh/ffxbld_rsa", + "archive_domain": "ftp.stage.mozaws.net", + "archive_prefix": "https://ftp.stage.mozaws.net/pub", + "previous_archive_prefix": "https://archive.mozilla.org/pub", + "download_domain": "download.mozilla.org", + "balrog_url": "http://54.90.211.22:9090", + "balrog_username": "balrog-stage-ffxbld", + "update_channels": { + "beta": { + "version_regex": r"^(\d+\.\d+(b\d+)?)$", + "requires_mirrors": False, + "patcher_config": "mozDate-branch-patcher2.cfg", + "update_verify_channel": "beta-localtest", + "mar_channel_ids": [ + "firefox-mozilla-beta", + "firefox-mozilla-release", + ], + "channel_names": ["beta", "beta-localtest", "beta-cdntest"], + "rules_to_update": ["firefox-beta-cdntest", "firefox-beta-localtest"], + "publish_rules": [32], + "schedule_asap": True, + }, + "release": { + "version_regex": r"^\d+\.\d+(\.\d+)?$", + "requires_mirrors": True, + "patcher_config": "mozJamun-branch-patcher2.cfg", + "update_verify_channel": "release-localtest", + "mar_channel_ids": [], + "channel_names": ["release", "release-localtest", "release-cdntest"], + "rules_to_update": ["firefox-release-cdntest", "firefox-release-localtest"], + "publish_rules": [145], + }, + }, + "balrog_use_dummy_suffix": False, +} diff --git a/testing/mozharness/configs/releases/dev_updates_firefox_release_birch.py b/testing/mozharness/configs/releases/dev_updates_firefox_release_birch.py new file mode 100644 index 0000000000..8ea3ebd76a --- /dev/null +++ b/testing/mozharness/configs/releases/dev_updates_firefox_release_birch.py @@ -0,0 +1,55 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "log_name": "updates_release_dev", + # TODO: use real repo + "repo": { + "repo": "https://hg.mozilla.org/users/bhearsum_mozilla.com/tools", + "branch": "default", + "dest": "tools", + "vcs": "hg", + }, + "vcs_share_base": "/builds/hg-shared", + # TODO: use real repo + "push_dest": "ssh://hg.mozilla.org/users/bhearsum_mozilla.com/tools", + # birch repo used for staging release + "shipped-locales-url": "https://hg.mozilla.org/projects/birch/raw-file/{revision}/browser/locales/shipped-locales", + "ignore_no_changes": True, + "ssh_user": "ffxbld", + "ssh_key": "~/.ssh/ffxbld_rsa", + "archive_domain": "ftp.stage.mozaws.net", + "archive_prefix": "https://ftp.stage.mozaws.net/pub", + "previous_archive_prefix": "https://archive.mozilla.org/pub", + "download_domain": "download.mozilla.org", + "balrog_url": "https://stage.balrog.nonprod.cloudops.mozgcp.net/", + "balrog_username": "balrog-stage-ffxbld", + "update_channels": { + "beta": { + "version_regex": r"^(\d+\.\d+(b\d+)?)$", + "requires_mirrors": False, + "patcher_config": "mozBeta-branch-patcher2.cfg", + "update_verify_channel": "beta-localtest", + "mar_channel_ids": [ + "firefox-mozilla-beta", + "firefox-mozilla-release", + ], + "channel_names": ["beta", "beta-localtest", "beta-cdntest"], + "rules_to_update": ["firefox-beta-cdntest", "firefox-beta-localtest"], + "publish_rules": [32], + "schedule_asap": True, + }, + "release": { + "version_regex": r"^\d+\.\d+(\.\d+)?$", + "requires_mirrors": True, + "patcher_config": "mozRelease-branch-patcher2.cfg", + "update_verify_channel": "release-localtest", + "mar_channel_ids": [], + "channel_names": ["release", "release-localtest", "release-cdntest"], + "rules_to_update": ["firefox-release-cdntest", "firefox-release-localtest"], + "publish_rules": [145], + }, + }, + "balrog_use_dummy_suffix": False, +} diff --git a/testing/mozharness/configs/releases/updates_firefox_beta.py b/testing/mozharness/configs/releases/updates_firefox_beta.py new file mode 100644 index 0000000000..8e4bfa9e7d --- /dev/null +++ b/testing/mozharness/configs/releases/updates_firefox_beta.py @@ -0,0 +1,38 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "log_name": "updates_beta", + "repo": { + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + "vcs": "hg", + }, + "vcs_share_base": "/builds/hg-shared", + "push_dest": "ssh://hg.mozilla.org/build/tools", + "shipped-locales-url": "https://hg.mozilla.org/releases/mozilla-beta/raw-file/{revision}/browser/locales/shipped-locales", + "ignore_no_changes": True, + "ssh_user": "ffxbld", + "ssh_key": "~/.ssh/ffxbld_rsa", + "archive_domain": "archive.mozilla.org", + "archive_prefix": "https://archive.mozilla.org/pub", + "previous_archive_prefix": "https://archive.mozilla.org/pub", + "download_domain": "download.mozilla.org", + "balrog_url": "https://aus5.mozilla.org", + "balrog_username": "balrog-ffxbld", + "update_channels": { + "beta": { + "version_regex": r"^(\d+\.\d+(b\d+)?)$", + "requires_mirrors": True, + "patcher_config": "mozBeta-branch-patcher2.cfg", + "update_verify_channel": "beta-localtest", + "mar_channel_ids": [], + "channel_names": ["beta", "beta-localtest", "beta-cdntest"], + "rules_to_update": ["firefox-beta-cdntest", "firefox-beta-localtest"], + "publish_rules": [32], + }, + }, + "balrog_use_dummy_suffix": False, +} diff --git a/testing/mozharness/configs/releases/updates_firefox_devedition.py b/testing/mozharness/configs/releases/updates_firefox_devedition.py new file mode 100644 index 0000000000..f09456b624 --- /dev/null +++ b/testing/mozharness/configs/releases/updates_firefox_devedition.py @@ -0,0 +1,42 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "log_name": "updates_devedition", + "repo": { + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + "vcs": "hg", + }, + "vcs_share_base": "/builds/hg-shared", + "push_dest": "ssh://hg.mozilla.org/build/tools", + "shipped-locales-url": "https://hg.mozilla.org/releases/mozilla-beta/raw-file/{revision}/browser/locales/shipped-locales", + "ignore_no_changes": True, + "ssh_user": "ffxbld", + "ssh_key": "~/.ssh/ffxbld_rsa", + "archive_domain": "archive.mozilla.org", + "archive_prefix": "https://archive.mozilla.org/pub", + "previous_archive_prefix": "https://archive.mozilla.org/pub", + "download_domain": "download.mozilla.org", + "balrog_url": "https://aus5.mozilla.org", + "balrog_username": "balrog-ffxbld", + "update_channels": { + "aurora": { + "version_regex": r"^.*$", + "requires_mirrors": True, + "patcher_config": "mozDevedition-branch-patcher2.cfg", + # Allow to override the patcher config product name + "patcher_config_product_override": "firefox", + "update_verify_channel": "aurora-localtest", + "mar_channel_ids": [], + "channel_names": ["aurora", "aurora-localtest", "aurora-cdntest"], + "rules_to_update": ["devedition-cdntest", "devedition-localtest"], + "publish_rules": [10], + }, + }, + "balrog_use_dummy_suffix": False, + "stage_product": "devedition", + "bouncer_product": "devedition", +} diff --git a/testing/mozharness/configs/releases/updates_firefox_release.py b/testing/mozharness/configs/releases/updates_firefox_release.py new file mode 100644 index 0000000000..969b4efadc --- /dev/null +++ b/testing/mozharness/configs/releases/updates_firefox_release.py @@ -0,0 +1,52 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "log_name": "updates_release", + "repo": { + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + "vcs": "hg", + }, + "vcs_share_base": "/builds/hg-shared", + "push_dest": "ssh://hg.mozilla.org/build/tools", + "shipped-locales-url": "https://hg.mozilla.org/releases/mozilla-release/raw-file/{revision}/browser/locales/shipped-locales", + "ignore_no_changes": True, + "ssh_user": "ffxbld", + "ssh_key": "~/.ssh/ffxbld_rsa", + "archive_domain": "archive.mozilla.org", + "archive_prefix": "https://archive.mozilla.org/pub", + "previous_archive_prefix": "https://archive.mozilla.org/pub", + "download_domain": "download.mozilla.org", + "balrog_url": "https://aus5.mozilla.org", + "balrog_username": "balrog-ffxbld", + "update_channels": { + "beta": { + "version_regex": r"^(\d+\.\d+(b\d+)?)$", + "requires_mirrors": False, + "patcher_config": "mozBeta-branch-patcher2.cfg", + "update_verify_channel": "beta-localtest", + "mar_channel_ids": [ + "firefox-mozilla-beta", + "firefox-mozilla-release", + ], + "channel_names": ["beta", "beta-localtest", "beta-cdntest"], + "rules_to_update": ["firefox-beta-cdntest", "firefox-beta-localtest"], + "publish_rules": [32], + "schedule_asap": True, + }, + "release": { + "version_regex": r"^\d+\.\d+(\.\d+)?$", + "requires_mirrors": True, + "patcher_config": "mozRelease-branch-patcher2.cfg", + "update_verify_channel": "release-localtest", + "mar_channel_ids": [], + "channel_names": ["release", "release-localtest", "release-cdntest"], + "rules_to_update": ["firefox-release-cdntest", "firefox-release-localtest"], + "publish_rules": [145], + }, + }, + "balrog_use_dummy_suffix": False, +} diff --git a/testing/mozharness/configs/remove_executables.py b/testing/mozharness/configs/remove_executables.py new file mode 100644 index 0000000000..3c8876c9d3 --- /dev/null +++ b/testing/mozharness/configs/remove_executables.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + # We bake this directly into the tester image now... + "nodejs_path": "/usr/local/bin/node", + "exes": {}, +} diff --git a/testing/mozharness/configs/repackage/base.py b/testing/mozharness/configs/repackage/base.py new file mode 100644 index 0000000000..fb2e06529e --- /dev/null +++ b/testing/mozharness/configs/repackage/base.py @@ -0,0 +1,14 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "package-name": "firefox", + "installer-tag": "browser/installer/windows/app.tag", + "stub-installer-tag": "browser/installer/windows/stub.tag", + "wsx-stub": "browser/installer/windows/msi/installer.wxs", + "fetch-dir": os.environ.get("MOZ_FETCHES_DIR"), +} diff --git a/testing/mozharness/configs/repackage/linux32_signed.py b/testing/mozharness/configs/repackage/linux32_signed.py new file mode 100644 index 0000000000..3f5262682e --- /dev/null +++ b/testing/mozharness/configs/repackage/linux32_signed.py @@ -0,0 +1,15 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +platform = "linux32" + +config = { + "locale": os.environ.get("LOCALE"), + # ToolTool + "tooltool_cache": os.environ.get("TOOLTOOL_CACHE"), + "run_configure": False, +} diff --git a/testing/mozharness/configs/repackage/linux64_signed.py b/testing/mozharness/configs/repackage/linux64_signed.py new file mode 100644 index 0000000000..f21e44b5f0 --- /dev/null +++ b/testing/mozharness/configs/repackage/linux64_signed.py @@ -0,0 +1,15 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +platform = "linux64" + +config = { + "locale": os.environ.get("LOCALE"), + # ToolTool + "tooltool_cache": os.environ.get("TOOLTOOL_CACHE"), + "run_configure": False, +} diff --git a/testing/mozharness/configs/repackage/osx_partner.py b/testing/mozharness/configs/repackage/osx_partner.py new file mode 100644 index 0000000000..8953e4af82 --- /dev/null +++ b/testing/mozharness/configs/repackage/osx_partner.py @@ -0,0 +1,13 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "src_mozconfig": "browser/config/mozconfigs/macosx64/repack", + "repack_id": os.environ.get("REPACK_ID"), + # ToolTool + "tooltool_cache": os.environ.get("TOOLTOOL_CACHE"), +} diff --git a/testing/mozharness/configs/repackage/osx_signed.py b/testing/mozharness/configs/repackage/osx_signed.py new file mode 100644 index 0000000000..680dff8e32 --- /dev/null +++ b/testing/mozharness/configs/repackage/osx_signed.py @@ -0,0 +1,13 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "src_mozconfig": "browser/config/mozconfigs/macosx64/repack", + "locale": os.environ.get("LOCALE"), + # ToolTool + "tooltool_cache": os.environ.get("TOOLTOOL_CACHE"), +} diff --git a/testing/mozharness/configs/repackage/win32_partner.py b/testing/mozharness/configs/repackage/win32_partner.py new file mode 100644 index 0000000000..36c74cfa44 --- /dev/null +++ b/testing/mozharness/configs/repackage/win32_partner.py @@ -0,0 +1,16 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +platform = "win32" + +config = { + "repack_id": os.environ.get("REPACK_ID"), + "run_configure": False, + "env": { + "PATH": "%(abs_input_dir)s/upx/bin:%(PATH)s", + }, +} diff --git a/testing/mozharness/configs/repackage/win32_sfx_stub.py b/testing/mozharness/configs/repackage/win32_sfx_stub.py new file mode 100644 index 0000000000..7b098b7281 --- /dev/null +++ b/testing/mozharness/configs/repackage/win32_sfx_stub.py @@ -0,0 +1,7 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "sfx-stub": "other-licenses/7zstub/firefox/7zSD.Win32.sfx", +} diff --git a/testing/mozharness/configs/repackage/win32_signed.py b/testing/mozharness/configs/repackage/win32_signed.py new file mode 100644 index 0000000000..c66a105c39 --- /dev/null +++ b/testing/mozharness/configs/repackage/win32_signed.py @@ -0,0 +1,16 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +platform = "win32" + +config = { + "locale": os.environ.get("LOCALE"), + "run_configure": False, + "env": { + "PATH": "%(abs_input_dir)s/upx/bin:%(PATH)s", + }, +} diff --git a/testing/mozharness/configs/repackage/win64-aarch64_sfx_stub.py b/testing/mozharness/configs/repackage/win64-aarch64_sfx_stub.py new file mode 100644 index 0000000000..0d8634d3a9 --- /dev/null +++ b/testing/mozharness/configs/repackage/win64-aarch64_sfx_stub.py @@ -0,0 +1,7 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "sfx-stub": "other-licenses/7zstub/firefox/7zSD.ARM64.sfx", +} diff --git a/testing/mozharness/configs/repackage/win64_partner.py b/testing/mozharness/configs/repackage/win64_partner.py new file mode 100644 index 0000000000..053f480fe6 --- /dev/null +++ b/testing/mozharness/configs/repackage/win64_partner.py @@ -0,0 +1,16 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +platform = "win64" + +config = { + "repack_id": os.environ.get("REPACK_ID"), + "run_configure": False, + "env": { + "PATH": "%(abs_input_dir)s/upx/bin:%(PATH)s", + }, +} diff --git a/testing/mozharness/configs/repackage/win64_signed.py b/testing/mozharness/configs/repackage/win64_signed.py new file mode 100644 index 0000000000..23e7b123a7 --- /dev/null +++ b/testing/mozharness/configs/repackage/win64_signed.py @@ -0,0 +1,16 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +platform = "win64" + +config = { + "locale": os.environ.get("LOCALE"), + "run_configure": False, + "env": { + "PATH": "%(abs_input_dir)s/upx/bin:%(PATH)s", + }, +} diff --git a/testing/mozharness/configs/servo/mac.py b/testing/mozharness/configs/servo/mac.py new file mode 100644 index 0000000000..6058abdc20 --- /dev/null +++ b/testing/mozharness/configs/servo/mac.py @@ -0,0 +1,7 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "concurrency": 6, +} diff --git a/testing/mozharness/configs/single_locale/devedition.py b/testing/mozharness/configs/single_locale/devedition.py new file mode 100644 index 0000000000..aef519b9d1 --- /dev/null +++ b/testing/mozharness/configs/single_locale/devedition.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "app_name": "browser", + "mozconfig_variant": "l10n-mozconfig-devedition", + "locales_dir": "browser/locales", +} diff --git a/testing/mozharness/configs/single_locale/firefox.py b/testing/mozharness/configs/single_locale/firefox.py new file mode 100644 index 0000000000..c679ecebba --- /dev/null +++ b/testing/mozharness/configs/single_locale/firefox.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "app_name": "browser", + "mozconfig_variant": "l10n-mozconfig", + "locales_dir": "browser/locales", +} diff --git a/testing/mozharness/configs/single_locale/linux32.py b/testing/mozharness/configs/single_locale/linux32.py new file mode 100644 index 0000000000..1a1d073862 --- /dev/null +++ b/testing/mozharness/configs/single_locale/linux32.py @@ -0,0 +1,11 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "mozconfig_platform": "linux32", + "log_name": "single_locale", + "vcs_share_base": "/builds/hg-shared", + # l10n + "ignore_locales": ["en-US", "ja-JP-mac"], +} diff --git a/testing/mozharness/configs/single_locale/linux64.py b/testing/mozharness/configs/single_locale/linux64.py new file mode 100644 index 0000000000..d54a67b857 --- /dev/null +++ b/testing/mozharness/configs/single_locale/linux64.py @@ -0,0 +1,10 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "mozconfig_platform": "linux64", + "vcs_share_base": "/builds/hg-shared", + # l10n + "ignore_locales": ["en-US", "ja-JP-mac"], +} diff --git a/testing/mozharness/configs/single_locale/macosx64.py b/testing/mozharness/configs/single_locale/macosx64.py new file mode 100644 index 0000000000..07c1f07221 --- /dev/null +++ b/testing/mozharness/configs/single_locale/macosx64.py @@ -0,0 +1,12 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "mozconfig_platform": "macosx64", + "upload_env_extra": { + "MOZ_PKG_PLATFORM": "mac", + }, + # l10n + "ignore_locales": ["en-US", "ja"], +} diff --git a/testing/mozharness/configs/single_locale/tc_android-api-16.py b/testing/mozharness/configs/single_locale/tc_android-api-16.py new file mode 100644 index 0000000000..237adb9d12 --- /dev/null +++ b/testing/mozharness/configs/single_locale/tc_android-api-16.py @@ -0,0 +1,35 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US"], + "repack_env": { + "MOZ_OBJDIR": "%(abs_obj_dir)s", + }, + "vcs_share_base": "/builds/hg-shared", + "mozconfig": "src/mobile/android/config/mozconfigs/android-api-16/l10n-nightly", + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/src", + }, + "secret_files": [ + { + "filename": "/builds/gls-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/gls-gapi.data", + "min_scm_level": 1, + }, + { + "filename": "/builds/sb-gapi.data", + "secret_name": "project/releng/gecko/build/level-%(scm-level)s/sb-gapi.data", + "min_scm_level": 1, + }, + { + "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", + }, + ], +} diff --git a/testing/mozharness/configs/single_locale/tc_common.py b/testing/mozharness/configs/single_locale/tc_common.py new file mode 100644 index 0000000000..029283b163 --- /dev/null +++ b/testing/mozharness/configs/single_locale/tc_common.py @@ -0,0 +1,11 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "simple_name_move": True, + "vcs_share_base": "/builds/hg-shared", + "upload_env": { + "UPLOAD_PATH": "/builds/worker/artifacts/", + }, +} diff --git a/testing/mozharness/configs/single_locale/tc_linux32.py b/testing/mozharness/configs/single_locale/tc_linux32.py new file mode 100644 index 0000000000..fc40fe997f --- /dev/null +++ b/testing/mozharness/configs/single_locale/tc_linux32.py @@ -0,0 +1,17 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "bootstrap_env": { + "NO_MERCURIAL_SETUP_CHECK": "1", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "EN_US_BINARY_URL": os.environ["EN_US_BINARY_URL"], + "DIST": "%(abs_obj_dir)s", + "L10NBASEDIR": "../../l10n", + "TOOLTOOL_CACHE": os.environ.get("TOOLTOOL_CACHE"), + }, +} diff --git a/testing/mozharness/configs/single_locale/tc_linux_common.py b/testing/mozharness/configs/single_locale/tc_linux_common.py new file mode 100644 index 0000000000..fc40fe997f --- /dev/null +++ b/testing/mozharness/configs/single_locale/tc_linux_common.py @@ -0,0 +1,17 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "bootstrap_env": { + "NO_MERCURIAL_SETUP_CHECK": "1", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "EN_US_BINARY_URL": os.environ["EN_US_BINARY_URL"], + "DIST": "%(abs_obj_dir)s", + "L10NBASEDIR": "../../l10n", + "TOOLTOOL_CACHE": os.environ.get("TOOLTOOL_CACHE"), + }, +} diff --git a/testing/mozharness/configs/single_locale/tc_macosx64.py b/testing/mozharness/configs/single_locale/tc_macosx64.py new file mode 100644 index 0000000000..fc40fe997f --- /dev/null +++ b/testing/mozharness/configs/single_locale/tc_macosx64.py @@ -0,0 +1,17 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "bootstrap_env": { + "NO_MERCURIAL_SETUP_CHECK": "1", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "EN_US_BINARY_URL": os.environ["EN_US_BINARY_URL"], + "DIST": "%(abs_obj_dir)s", + "L10NBASEDIR": "../../l10n", + "TOOLTOOL_CACHE": os.environ.get("TOOLTOOL_CACHE"), + }, +} diff --git a/testing/mozharness/configs/single_locale/tc_win32.py b/testing/mozharness/configs/single_locale/tc_win32.py new file mode 100644 index 0000000000..26fa8d9135 --- /dev/null +++ b/testing/mozharness/configs/single_locale/tc_win32.py @@ -0,0 +1,19 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "bootstrap_env": { + "NO_MERCURIAL_SETUP_CHECK": "1", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "EN_US_BINARY_URL": os.environ["EN_US_BINARY_URL"], + "DIST": "%(abs_obj_dir)s", + "L10NBASEDIR": "../../l10n", + "TOOLTOOL_CACHE": os.environ.get("TOOLTOOL_CACHE"), + "EN_US_PACKAGE_NAME": "target.zip", + }, + "tooltool_manifest_src": "browser/config/tooltool-manifests/win32/releng.manifest", +} diff --git a/testing/mozharness/configs/single_locale/tc_win64.py b/testing/mozharness/configs/single_locale/tc_win64.py new file mode 100644 index 0000000000..c172ac5f41 --- /dev/null +++ b/testing/mozharness/configs/single_locale/tc_win64.py @@ -0,0 +1,19 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +config = { + "bootstrap_env": { + "NO_MERCURIAL_SETUP_CHECK": "1", + "MOZ_OBJDIR": "%(abs_obj_dir)s", + "EN_US_BINARY_URL": os.environ["EN_US_BINARY_URL"], + "DIST": "%(abs_obj_dir)s", + "L10NBASEDIR": "../../l10n", + "TOOLTOOL_CACHE": os.environ.get("TOOLTOOL_CACHE"), + "EN_US_PACKAGE_NAME": "target.zip", + }, + "tooltool_manifest_src": "browser/config/tooltool-manifests/win64/releng.manifest", +} diff --git a/testing/mozharness/configs/single_locale/win32.py b/testing/mozharness/configs/single_locale/win32.py new file mode 100644 index 0000000000..e00275792c --- /dev/null +++ b/testing/mozharness/configs/single_locale/win32.py @@ -0,0 +1,10 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "mozconfig_platform": "win32", + "log_name": "single_locale", + # l10n + "ignore_locales": ["en-US", "ja-JP-mac"], +} diff --git a/testing/mozharness/configs/single_locale/win64-aarch64.py b/testing/mozharness/configs/single_locale/win64-aarch64.py new file mode 100644 index 0000000000..5846f01b89 --- /dev/null +++ b/testing/mozharness/configs/single_locale/win64-aarch64.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "mozconfig_platform": "win64-aarch64", + # l10n + "ignore_locales": ["en-US", "ja-JP-mac"], +} diff --git a/testing/mozharness/configs/single_locale/win64.py b/testing/mozharness/configs/single_locale/win64.py new file mode 100644 index 0000000000..a3061add60 --- /dev/null +++ b/testing/mozharness/configs/single_locale/win64.py @@ -0,0 +1,9 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "mozconfig_platform": "win64", + # l10n + "ignore_locales": ["en-US", "ja-JP-mac"], +} diff --git a/testing/mozharness/configs/talos/linux64_config_taskcluster.py b/testing/mozharness/configs/talos/linux64_config_taskcluster.py new file mode 100644 index 0000000000..998ef03485 --- /dev/null +++ b/testing/mozharness/configs/talos/linux64_config_taskcluster.py @@ -0,0 +1,33 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os +import sys + +PYTHON = sys.executable +VENV_PATH = "%s/build/venv" % os.getcwd() + +exes = { + "python": PYTHON, +} +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") +INSTALLER_PATH = os.path.join(ABS_WORK_DIR, "installer.tar.bz2") + +config = { + "log_name": "talos", + "installer_path": INSTALLER_PATH, + "virtualenv_path": VENV_PATH, + "exes": exes, + "title": os.uname()[1].lower().split(".")[0], + "default_actions": [ + "clobber", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install", + "run-tests", + ], + "tooltool_cache": "/builds/worker/tooltool-cache", +} diff --git a/testing/mozharness/configs/talos/linux_config.py b/testing/mozharness/configs/talos/linux_config.py new file mode 100644 index 0000000000..51c3cc7f11 --- /dev/null +++ b/testing/mozharness/configs/talos/linux_config.py @@ -0,0 +1,24 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +VENV_PATH = "%s/build/venv" % os.getcwd() + +config = { + "log_name": "talos", + "installer_path": "installer.exe", + "virtualenv_path": VENV_PATH, + "title": os.uname()[1].lower().split(".")[0], + "default_actions": [ + "clobber", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install", + "run-tests", + ], + "tooltool_cache": "/builds/tooltool_cache", +} diff --git a/testing/mozharness/configs/talos/mac_config.py b/testing/mozharness/configs/talos/mac_config.py new file mode 100644 index 0000000000..c06dc016fe --- /dev/null +++ b/testing/mozharness/configs/talos/mac_config.py @@ -0,0 +1,27 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +VENV_PATH = "%s/build/venv" % os.getcwd() + +config = { + "log_name": "talos", + "installer_path": "installer.exe", + "virtualenv_path": VENV_PATH, + "title": os.uname()[1].lower().split(".")[0], + "default_actions": [ + "clobber", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install", + "run-tests", + ], + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [], + "postflight_run_cmd_suites": [], + "tooltool_cache": "/builds/tooltool_cache", +} diff --git a/testing/mozharness/configs/talos/windows_config.py b/testing/mozharness/configs/talos/windows_config.py new file mode 100644 index 0000000000..b72f50b9d5 --- /dev/null +++ b/testing/mozharness/configs/talos/windows_config.py @@ -0,0 +1,36 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os +import socket +import sys + +PYTHON = sys.executable +PYTHON_DLL = "c:/mozilla-build/python27/python27.dll" +VENV_PATH = os.path.join(os.getcwd(), "build/venv") + +config = { + "log_name": "talos", + "installer_path": "installer.exe", + "virtualenv_path": VENV_PATH, + "exes": { + "python": PYTHON, + "hg": os.path.join(os.environ["PROGRAMFILES"], "Mercurial", "hg"), + "tooltool.py": [ + PYTHON, + os.path.join(os.environ["MOZILLABUILD"], "tooltool.py"), + ], + }, + "title": socket.gethostname().split(".")[0], + "default_actions": [ + "clobber", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install", + "run-tests", + ], + "tooltool_cache": os.path.join("c:\\", "build", "tooltool_cache"), +} diff --git a/testing/mozharness/configs/talos/windows_taskcluster_config.py b/testing/mozharness/configs/talos/windows_taskcluster_config.py new file mode 100644 index 0000000000..ac5462ca7d --- /dev/null +++ b/testing/mozharness/configs/talos/windows_taskcluster_config.py @@ -0,0 +1,30 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os +import socket +import sys + +PYTHON = sys.executable +PYTHON_DLL = "c:/mozilla-build/python/python27.dll" +VENV_PATH = os.path.join(os.getcwd(), "venv") + +config = { + "log_name": "talos", + "installer_path": "installer.exe", + "virtualenv_path": VENV_PATH, + "exes": { + "python": PYTHON, + "hg": os.path.join(os.environ["PROGRAMFILES"], "Mercurial", "hg"), + }, + "title": socket.gethostname().split(".")[0], + "default_actions": [ + "populate-webroot", + "create-virtualenv", + "install", + "run-tests", + ], + "tooltool_cache": os.path.join("Y:\\", "tooltool-cache"), +} diff --git a/testing/mozharness/configs/talos/windows_vm_config.py b/testing/mozharness/configs/talos/windows_vm_config.py new file mode 100644 index 0000000000..61e53db2dc --- /dev/null +++ b/testing/mozharness/configs/talos/windows_vm_config.py @@ -0,0 +1,32 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os +import socket +import sys + +PYTHON = sys.executable +PYTHON_DLL = "c:/mozilla-build/python27/python27.dll" +VENV_PATH = os.path.join(os.getcwd(), "build/venv") + +config = { + "log_name": "talos", + "installer_path": "installer.exe", + "virtualenv_path": VENV_PATH, + "exes": { + "python": PYTHON, + "hg": os.path.join(os.environ["PROGRAMFILES"], "Mercurial", "hg"), + }, + "title": socket.gethostname().split(".")[0], + "default_actions": [ + "clobber", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install", + "run-tests", + ], + "tooltool_cache": os.path.join("c:\\", "build", "tooltool_cache"), +} diff --git a/testing/mozharness/configs/taskcluster_nightly.py b/testing/mozharness/configs/taskcluster_nightly.py new file mode 100644 index 0000000000..596bf2f94e --- /dev/null +++ b/testing/mozharness/configs/taskcluster_nightly.py @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +config = { + "nightly_build": True, + "taskcluster_nightly": True, +} diff --git a/testing/mozharness/configs/test/example_config1.json b/testing/mozharness/configs/test/example_config1.json new file mode 100644 index 0000000000..ca73466ba5 --- /dev/null +++ b/testing/mozharness/configs/test/example_config1.json @@ -0,0 +1,5 @@ +{ + "beverage": "fizzy drink", + "long_sleep_time": 1800, + "random_config_key1": "spectacular" +} diff --git a/testing/mozharness/configs/test/example_config2.py b/testing/mozharness/configs/test/example_config2.py new file mode 100644 index 0000000000..958543b60e --- /dev/null +++ b/testing/mozharness/configs/test/example_config2.py @@ -0,0 +1,5 @@ +config = { + "beverage": "cider", + "long_sleep_time": 300, + "random_config_key2": "wunderbar", +} diff --git a/testing/mozharness/configs/test/test.illegal_suffix b/testing/mozharness/configs/test/test.illegal_suffix new file mode 100644 index 0000000000..7d9a4d96d6 --- /dev/null +++ b/testing/mozharness/configs/test/test.illegal_suffix @@ -0,0 +1,20 @@ +{ + "log_name": "test", + "log_dir": "test_logs", + "log_to_console": false, + "key1": "value1", + "key2": "value2", + "section1": { + + "subsection1": { + "key1": "value1", + "key2": "value2" + }, + + "subsection2": { + "key1": "value1", + "key2": "value2" + } + + } +} diff --git a/testing/mozharness/configs/test/test.json b/testing/mozharness/configs/test/test.json new file mode 100644 index 0000000000..7d9a4d96d6 --- /dev/null +++ b/testing/mozharness/configs/test/test.json @@ -0,0 +1,20 @@ +{ + "log_name": "test", + "log_dir": "test_logs", + "log_to_console": false, + "key1": "value1", + "key2": "value2", + "section1": { + + "subsection1": { + "key1": "value1", + "key2": "value2" + }, + + "subsection2": { + "key1": "value1", + "key2": "value2" + } + + } +} diff --git a/testing/mozharness/configs/test/test.py b/testing/mozharness/configs/test/test.py new file mode 100644 index 0000000000..d06c2f130a --- /dev/null +++ b/testing/mozharness/configs/test/test.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python +config = { + "log_name": "test", + "log_dir": "test_logs", + "log_to_console": False, + "key1": "value1", + "key2": "value2", + "section1": { + "subsection1": {"key1": "value1", "key2": "value2"}, + "subsection2": {"key1": "value1", "key2": "value2"}, + }, + "opt_override": "some stuff", +} diff --git a/testing/mozharness/configs/test/test_malformed.json b/testing/mozharness/configs/test/test_malformed.json new file mode 100644 index 0000000000..260be45b88 --- /dev/null +++ b/testing/mozharness/configs/test/test_malformed.json @@ -0,0 +1,20 @@ +{ + "log_name": "test", + "log_dir": "test_logs", + "log_to_console": false, + "key1": "value1", + "key2": "value2", + "section1": { + + "subsection1": { + "key1": "value1", + "key2": "value2" + }, + + "subsection2": { + "key1": "value1", + "key2": "value2" + }, + + } +} diff --git a/testing/mozharness/configs/test/test_malformed.py b/testing/mozharness/configs/test/test_malformed.py new file mode 100644 index 0000000000..e7ccefd15f --- /dev/null +++ b/testing/mozharness/configs/test/test_malformed.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +config = { + "log_name": "test", + "log_dir": "test_logs", + "log_to_console": False, + "key1": "value1", + "key2": "value2", + "section1": { + + "subsection1": { + "key1": "value1", + "key2": "value2" + }, + +a;sldkfjas;dfkljasdf;kjasdf;ljkadsflkjsdfkweoi + "subsection2": { + "key1": "value1", + "key2": "value2" + }, + + }, +} diff --git a/testing/mozharness/configs/test/test_optional.py b/testing/mozharness/configs/test/test_optional.py new file mode 100644 index 0000000000..4eb13b3dfb --- /dev/null +++ b/testing/mozharness/configs/test/test_optional.py @@ -0,0 +1,4 @@ +#!/usr/bin/env python +config = { + "opt_override": "new stuff", +} diff --git a/testing/mozharness/configs/test/test_override.py b/testing/mozharness/configs/test/test_override.py new file mode 100644 index 0000000000..356207d547 --- /dev/null +++ b/testing/mozharness/configs/test/test_override.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python +config = { + "override_string": "TODO", + "override_list": ["to", "do"], + "override_dict": {"to": "do"}, + "keep_string": "don't change me", +} diff --git a/testing/mozharness/configs/test/test_override2.py b/testing/mozharness/configs/test/test_override2.py new file mode 100644 index 0000000000..561a170358 --- /dev/null +++ b/testing/mozharness/configs/test/test_override2.py @@ -0,0 +1,6 @@ +#!/usr/bin/env python +config = { + "override_string": "yay", + "override_list": ["yay", "worked"], + "override_dict": {"yay": "worked"}, +} diff --git a/testing/mozharness/configs/unittests/linux_unittest.py b/testing/mozharness/configs/unittests/linux_unittest.py new file mode 100644 index 0000000000..975b62fa53 --- /dev/null +++ b/testing/mozharness/configs/unittests/linux_unittest.py @@ -0,0 +1,284 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os +import platform + +# OS Specifics +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") +BINARY_PATH = os.path.join(ABS_WORK_DIR, "application", "firefox", "firefox-bin") +INSTALLER_PATH = os.path.join(ABS_WORK_DIR, "installer.tar.bz2") +XPCSHELL_NAME = "xpcshell" +HTTP3SERVER_NAME = "http3server" +EXE_SUFFIX = "" +DISABLE_SCREEN_SAVER = True +ADJUST_MOUSE_AND_SCREEN = False + +# Note: keep these Valgrind .sup file names consistent with those +# in testing/mochitest/mochitest_options.py. +VALGRIND_SUPP_DIR = os.path.join(os.getcwd(), "build/tests/mochitest") +NODEJS_PATH = None +if "MOZ_FETCHES_DIR" in os.environ: + NODEJS_PATH = os.path.join(os.environ["MOZ_FETCHES_DIR"], "node/bin/node") + +VALGRIND_SUPP_CROSS_ARCH = os.path.join(VALGRIND_SUPP_DIR, "cross-architecture.sup") +VALGRIND_SUPP_ARCH = None + +if platform.architecture()[0] == "64bit": + VALGRIND_SUPP_ARCH = os.path.join(VALGRIND_SUPP_DIR, "x86_64-pc-linux-gnu.sup") +else: + VALGRIND_SUPP_ARCH = os.path.join(VALGRIND_SUPP_DIR, "i386-pc-linux-gnu.sup") + +##### +config = { + ### + "virtualenv_modules": ["six==1.13.0", "vcversioner==2.16.0.0"], + "installer_path": INSTALLER_PATH, + "binary_path": BINARY_PATH, + "xpcshell_name": XPCSHELL_NAME, + "http3server_name": HTTP3SERVER_NAME, + "exe_suffix": EXE_SUFFIX, + "run_file_names": { + "mochitest": "runtests.py", + "reftest": "runreftest.py", + "xpcshell": "runxpcshelltests.py", + "cppunittest": "runcppunittests.py", + "gtest": "rungtests.py", + "jittest": "jit_test.py", + }, + "minimum_tests_zip_dirs": [ + "bin/*", + "certs/*", + "config/*", + "mach", + "marionette/*", + "modules/*", + "mozbase/*", + "tools/*", + "mozpack/*", + "mozbuild/*", + ], + "suite_definitions": { + "cppunittest": { + "options": [ + "--symbols-path=%(symbols_path)s", + "--utility-path=tests/bin", + "--xre-path=%(abs_app_dir)s", + ], + "run_filename": "runcppunittests.py", + "testsdir": "cppunittest", + }, + "jittest": { + "options": [ + "tests/bin/js", + "--no-slow", + "--no-progress", + "--format=automation", + "--jitflags=all", + "--timeout=970", # Keep in sync with run_timeout below. + ], + "run_filename": "jit_test.py", + "testsdir": "jit-test/jit-test", + "run_timeout": 1000, # Keep in sync with --timeout above. + }, + "mochitest": { + "options": [ + "--appname=%(binary_path)s", + "--utility-path=tests/bin", + "--extra-profile-file=tests/bin/plugins", + "--symbols-path=%(symbols_path)s", + "--certificate-path=tests/certs", + "--setpref=webgl.force-enabled=true", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--use-test-media-devices", + "--screenshot-on-fail", + "--cleanup-crashes", + "--marionette-startup-timeout=180", + "--sandbox-read-whitelist=%(abs_work_dir)s", + ], + "run_filename": "runtests.py", + "testsdir": "mochitest", + }, + "reftest": { + "options": [ + "--appname=%(binary_path)s", + "--utility-path=tests/bin", + "--extra-profile-file=tests/bin/plugins", + "--symbols-path=%(symbols_path)s", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--cleanup-crashes", + "--marionette-startup-timeout=180", + "--sandbox-read-whitelist=%(abs_work_dir)s", + ], + "run_filename": "runreftest.py", + "testsdir": "reftest", + }, + "xpcshell": { + "options": [ + "--self-test", + "--symbols-path=%(symbols_path)s", + "--test-plugin-path=%(test_plugin_path)s", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--utility-path=tests/bin", + ], + "run_filename": "runxpcshelltests.py", + "testsdir": "xpcshell", + }, + "gtest": { + "options": [ + "--xre-path=%(abs_res_dir)s", + "--cwd=%(gtest_dir)s", + "--symbols-path=%(symbols_path)s", + "--utility-path=tests/bin", + "%(binary_path)s", + ], + "run_filename": "rungtests.py", + }, + }, + # local mochi suites + "all_mochitest_suites": { + "mochitest-valgrind-plain": [ + "--valgrind=/usr/bin/valgrind", + "--valgrind-supp-files=" + + VALGRIND_SUPP_ARCH + + "," + + VALGRIND_SUPP_CROSS_ARCH, + "--timeout=900", + "--max-timeouts=50", + ], + "mochitest-plain": ["--chunk-by-dir=4"], + "mochitest-plain-gpu": ["--subsuite=gpu"], + "mochitest-plain-coverage": ["--chunk-by-dir=4", "--timeout=1200"], + "mochitest-media": ["--subsuite=media"], + "mochitest-chrome": ["--flavor=chrome", "--chunk-by-dir=4", "--disable-e10s"], + "mochitest-chrome-gpu": ["--flavor=chrome", "--subsuite=gpu", "--disable-e10s"], + "mochitest-browser-chrome": ["--flavor=browser", "--chunk-by-runtime"], + "mochitest-browser-chrome-coverage": [ + "--flavor=browser", + "--chunk-by-runtime", + "--timeout=1200", + ], + "mochitest-browser-chrome-screenshots": [ + "--flavor=browser", + "--subsuite=screenshots", + ], + "mochitest-webgl1-core": ["--subsuite=webgl1-core"], + "mochitest-webgl1-ext": ["--subsuite=webgl1-ext"], + "mochitest-webgl2-core": ["--subsuite=webgl2-core"], + "mochitest-webgl2-ext": ["--subsuite=webgl2-ext"], + "mochitest-webgl2-deqp": ["--subsuite=webgl2-deqp"], + "mochitest-webgpu": ["--subsuite=webgpu"], + "mochitest-devtools-chrome": [ + "--flavor=browser", + "--subsuite=devtools", + "--chunk-by-runtime", + ], + "mochitest-devtools-chrome-coverage": [ + "--flavor=browser", + "--subsuite=devtools", + "--chunk-by-runtime", + "--timeout=1200", + ], + "mochitest-a11y": ["--flavor=a11y", "--disable-e10s"], + "mochitest-remote": ["--flavor=browser", "--subsuite=remote"], + }, + # local reftest suites + "all_reftest_suites": { + "crashtest": { + "options": ["--suite=crashtest", "--topsrcdir=tests/reftest/tests"], + "tests": ["tests/reftest/tests/testing/crashtest/crashtests.list"], + }, + "jsreftest": { + "options": [ + "--extra-profile-file=tests/jsreftest/tests/js/src/tests/user.js", + "--suite=jstestbrowser", + "--topsrcdir=tests/jsreftest/tests", + ], + "tests": ["tests/jsreftest/tests/js/src/tests/jstests.list"], + }, + "reftest": { + "options": [ + "--suite=reftest", + "--setpref=layers.acceleration.force-enabled=true", + "--topsrcdir=tests/reftest/tests", + ], + "tests": ["tests/reftest/tests/layout/reftests/reftest.list"], + }, + "reftest-no-accel": { + "options": [ + "--suite=reftest", + "--setpref=layers.acceleration.disabled=true", + "--topsrcdir=tests/reftest/tests", + ], + "tests": ["tests/reftest/tests/layout/reftests/reftest.list"], + }, + }, + "all_xpcshell_suites": { + "xpcshell": { + "options": [ + "--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME, + "--http3server=%(abs_app_dir)s/" + HTTP3SERVER_NAME, + "--manifest=tests/xpcshell/tests/xpcshell.ini", + ], + "tests": [], + }, + "xpcshell-coverage": { + "options": [ + "--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME, + "--http3server=%(abs_app_dir)s/" + HTTP3SERVER_NAME, + "--manifest=tests/xpcshell/tests/xpcshell.ini", + "--sequential", + ], + "tests": [], + }, + }, + "all_cppunittest_suites": {"cppunittest": {"tests": ["tests/cppunittest"]}}, + "all_gtest_suites": {"gtest": []}, + "all_jittest_suites": { + "jittest": [], + "jittest1": ["--total-chunks=2", "--this-chunk=1"], + "jittest2": ["--total-chunks=2", "--this-chunk=2"], + }, + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [ + # NOTE 'enabled' is only here while we have unconsolidated configs + { + "name": "disable_screen_saver", + "cmd": ["xset", "s", "off", "s", "reset"], + "halt_on_failure": False, + "architectures": ["32bit", "64bit"], + "enabled": DISABLE_SCREEN_SAVER, + }, + { + "name": "run mouse & screen adjustment script", + "cmd": [ + # when configs are consolidated this python path will only show + # for windows. + "python", + "../scripts/external_tools/mouse_and_screen_resolution.py", + "--configuration-file", + "../scripts/external_tools/machine-configuration.json", + ], + "architectures": ["32bit"], + "halt_on_failure": True, + "enabled": ADJUST_MOUSE_AND_SCREEN, + }, + ], + "vcs_output_timeout": 1000, + "minidump_save_path": "%(abs_work_dir)s/../minidumps", + "unstructured_flavors": { + "xpcshell": [], + "gtest": [], + "cppunittest": [], + "jittest": [], + }, + "tooltool_cache": "/builds/worker/tooltool-cache", + "nodejs_path": NODEJS_PATH, + # "log_format": "%(levelname)8s - %(message)s", +} diff --git a/testing/mozharness/configs/unittests/mac_unittest.py b/testing/mozharness/configs/unittests/mac_unittest.py new file mode 100644 index 0000000000..e6a1978604 --- /dev/null +++ b/testing/mozharness/configs/unittests/mac_unittest.py @@ -0,0 +1,231 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os + +# OS Specifics +INSTALLER_PATH = os.path.join(os.getcwd(), "installer.dmg") +NODEJS_PATH = None +if "MOZ_FETCHES_DIR" in os.environ: + NODEJS_PATH = os.path.join(os.environ["MOZ_FETCHES_DIR"], "node/bin/node") + +XPCSHELL_NAME = "xpcshell" +HTTP3SERVER_NAME = "http3server" +EXE_SUFFIX = "" +DISABLE_SCREEN_SAVER = False +ADJUST_MOUSE_AND_SCREEN = False +##### +config = { + "virtualenv_modules": ["six==1.13.0", "vcversioner==2.16.0.0"], + ### + "installer_path": INSTALLER_PATH, + "xpcshell_name": XPCSHELL_NAME, + "http3server_name": HTTP3SERVER_NAME, + "exe_suffix": EXE_SUFFIX, + "run_file_names": { + "mochitest": "runtests.py", + "reftest": "runreftest.py", + "xpcshell": "runxpcshelltests.py", + "cppunittest": "runcppunittests.py", + "gtest": "rungtests.py", + "jittest": "jit_test.py", + }, + "minimum_tests_zip_dirs": [ + "bin/*", + "certs/*", + "config/*", + "mach", + "marionette/*", + "modules/*", + "mozbase/*", + "tools/*", + ], + "suite_definitions": { + "cppunittest": { + "options": [ + "--symbols-path=%(symbols_path)s", + "--utility-path=tests/bin", + "--xre-path=%(abs_res_dir)s", + ], + "run_filename": "runcppunittests.py", + "testsdir": "cppunittest", + }, + "jittest": { + "options": [ + "tests/bin/js", + "--no-slow", + "--no-progress", + "--format=automation", + "--jitflags=all", + "--timeout=970", # Keep in sync with run_timeout below. + ], + "run_filename": "jit_test.py", + "testsdir": "jit-test/jit-test", + "run_timeout": 1000, # Keep in sync with --timeout above. + }, + "mochitest": { + "options": [ + "--appname=%(binary_path)s", + "--utility-path=tests/bin", + "--extra-profile-file=tests/bin/plugins", + "--symbols-path=%(symbols_path)s", + "--certificate-path=tests/certs", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + "--cleanup-crashes", + "--marionette-startup-timeout=180", + "--sandbox-read-whitelist=%(abs_work_dir)s", + ], + "run_filename": "runtests.py", + "testsdir": "mochitest", + }, + "reftest": { + "options": [ + "--appname=%(binary_path)s", + "--utility-path=tests/bin", + "--extra-profile-file=tests/bin/plugins", + "--symbols-path=%(symbols_path)s", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--cleanup-crashes", + "--marionette-startup-timeout=180", + "--sandbox-read-whitelist=%(abs_work_dir)s", + ], + "run_filename": "runreftest.py", + "testsdir": "reftest", + }, + "xpcshell": { + "options": [ + "--self-test", + "--symbols-path=%(symbols_path)s", + "--test-plugin-path=%(test_plugin_path)s", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--utility-path=tests/bin", + ], + "run_filename": "runxpcshelltests.py", + "testsdir": "xpcshell", + }, + "gtest": { + "options": [ + "--xre-path=%(abs_res_dir)s", + "--cwd=%(gtest_dir)s", + "--symbols-path=%(symbols_path)s", + "--utility-path=tests/bin", + "%(binary_path)s", + ], + "run_filename": "rungtests.py", + }, + }, + # local mochi suites + "all_mochitest_suites": { + "mochitest-plain": ["--chunk-by-dir=4"], + "mochitest-plain-gpu": ["--subsuite=gpu"], + "mochitest-media": ["--subsuite=media"], + "mochitest-chrome": ["--flavor=chrome", "--chunk-by-dir=4", "--disable-e10s"], + "mochitest-chrome-gpu": ["--flavor=chrome", "--subsuite=gpu", "--disable-e10s"], + "mochitest-browser-chrome": ["--flavor=browser", "--chunk-by-runtime"], + "mochitest-browser-chrome-screenshots": [ + "--flavor=browser", + "--subsuite=screenshots", + ], + "mochitest-webgl1-core": ["--subsuite=webgl1-core"], + "mochitest-webgl1-ext": ["--subsuite=webgl1-ext"], + "mochitest-webgl2-core": ["--subsuite=webgl2-core"], + "mochitest-webgl2-ext": ["--subsuite=webgl2-ext"], + "mochitest-webgl2-deqp": ["--subsuite=webgl2-deqp"], + "mochitest-webgpu": ["--subsuite=webgpu"], + "mochitest-devtools-chrome": [ + "--flavor=browser", + "--subsuite=devtools", + "--chunk-by-runtime", + ], + "mochitest-a11y": ["--flavor=a11y", "--disable-e10s"], + "mochitest-remote": ["--flavor=browser", "--subsuite=remote"], + }, + # local reftest suites + "all_reftest_suites": { + "crashtest": { + "options": ["--suite=crashtest", "--topsrcdir=tests/reftest/tests"], + "tests": ["tests/reftest/tests/testing/crashtest/crashtests.list"], + }, + "jsreftest": { + "options": [ + "--extra-profile-file=tests/jsreftest/tests/js/src/tests/user.js", + "--suite=jstestbrowser", + "--topsrcdir=tests/jsreftest/tests", + ], + "tests": ["tests/jsreftest/tests/js/src/tests/jstests.list"], + }, + "reftest": { + "options": ["--suite=reftest", "--topsrcdir=tests/reftest/tests"], + "tests": ["tests/reftest/tests/layout/reftests/reftest.list"], + }, + }, + "all_xpcshell_suites": { + "xpcshell": { + "options": [ + "--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME, + "--http3server=%(abs_app_dir)s/" + HTTP3SERVER_NAME, + "--manifest=tests/xpcshell/tests/xpcshell.ini", + ], + "tests": [], + }, + }, + "all_cppunittest_suites": {"cppunittest": ["tests/cppunittest"]}, + "all_gtest_suites": {"gtest": []}, + "all_jittest_suites": {"jittest": [], "jittest-chunked": []}, + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [ + # NOTE 'enabled' is only here while we have unconsolidated configs + { + "name": "disable_screen_saver", + "cmd": ["xset", "s", "off", "s", "reset"], + "architectures": ["32bit", "64bit"], + "halt_on_failure": False, + "enabled": DISABLE_SCREEN_SAVER, + }, + { + "name": "disable_dock", + "cmd": ["defaults", "write", "com.apple.dock", "autohide", "-bool", "true"], + "architectures": ["64bit"], + "halt_on_failure": True, + "enabled": True, + }, + { + "name": "kill_dock", + "cmd": ["killall", "Dock"], + "architectures": ["64bit"], + "halt_on_failure": True, + "enabled": True, + }, + { + "name": "run mouse & screen adjustment script", + "cmd": [ + # when configs are consolidated this python path will only show + # for windows. + "python", + "../scripts/external_tools/mouse_and_screen_resolution.py", + "--configuration-file", + "../scripts/external_tools/machine-configuration.json", + ], + "architectures": ["32bit"], + "halt_on_failure": True, + "enabled": ADJUST_MOUSE_AND_SCREEN, + }, + ], + "vcs_output_timeout": 1000, + "minidump_save_path": "%(abs_work_dir)s/../minidumps", + "unstructured_flavors": { + "xpcshell": [], + "gtest": [], + "cppunittest": [], + "jittest": [], + }, + "tooltool_cache": "/builds/tooltool_cache", + "nodejs_path": NODEJS_PATH, +} diff --git a/testing/mozharness/configs/unittests/win_unittest.py b/testing/mozharness/configs/unittests/win_unittest.py new file mode 100644 index 0000000000..30e069913a --- /dev/null +++ b/testing/mozharness/configs/unittests/win_unittest.py @@ -0,0 +1,323 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +import os +import platform +import sys + +# OS Specifics +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") +BINARY_PATH = os.path.join(ABS_WORK_DIR, "firefox", "firefox.exe") +INSTALLER_PATH = os.path.join(ABS_WORK_DIR, "installer.zip") +NODEJS_PATH = None +if "MOZ_FETCHES_DIR" in os.environ: + NODEJS_PATH = os.path.join(os.environ["MOZ_FETCHES_DIR"], "node/node.exe") + +PYWIN32 = "pypiwin32==219" +if sys.version_info > (3, 0): + PYWIN32 = "pywin32==300" + +XPCSHELL_NAME = "xpcshell.exe" +EXE_SUFFIX = ".exe" +DISABLE_SCREEN_SAVER = False +ADJUST_MOUSE_AND_SCREEN = True +DESKTOP_VISUALFX_THEME = { + "Let Windows choose": 0, + "Best appearance": 1, + "Best performance": 2, + "Custom": 3, +}.get("Best appearance") +TASKBAR_AUTOHIDE_REG_PATH = { + "Windows 7": "HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2", + "Windows 10": "HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StuckRects3", +}.get("{} {}".format(platform.system(), platform.release())) +##### +config = { + "exes": { + "python": sys.executable, + "hg": os.path.join(os.environ.get("PROGRAMFILES", ""), "Mercurial", "hg"), + }, + ### + "installer_path": INSTALLER_PATH, + "binary_path": BINARY_PATH, + "xpcshell_name": XPCSHELL_NAME, + "virtualenv_modules": [PYWIN32, "six==1.13.0", "vcversioner==2.16.0.0"], + "virtualenv_path": "venv", + "exe_suffix": EXE_SUFFIX, + "run_file_names": { + "mochitest": "runtests.py", + "reftest": "runreftest.py", + "xpcshell": "runxpcshelltests.py", + "cppunittest": "runcppunittests.py", + "gtest": "rungtests.py", + "jittest": "jit_test.py", + }, + "minimum_tests_zip_dirs": [ + "bin/*", + "certs/*", + "config/*", + "mach", + "marionette/*", + "modules/*", + "mozbase/*", + "tools/*", + "mozpack/*", + "mozbuild/*", + ], + "suite_definitions": { + "cppunittest": { + "options": [ + "--symbols-path=%(symbols_path)s", + "--utility-path=tests/bin", + "--xre-path=%(abs_app_dir)s", + ], + "run_filename": "runcppunittests.py", + "testsdir": "cppunittest", + }, + "jittest": { + "options": [ + "tests/bin/js", + "--no-slow", + "--no-progress", + "--format=automation", + "--jitflags=all", + "--timeout=970", # Keep in sync with run_timeout below. + ], + "run_filename": "jit_test.py", + "testsdir": "jit-test/jit-test", + "run_timeout": 1000, # Keep in sync with --timeout above. + }, + "mochitest": { + "options": [ + "--appname=%(binary_path)s", + "--utility-path=tests/bin", + "--extra-profile-file=tests/bin/plugins", + "--symbols-path=%(symbols_path)s", + "--certificate-path=tests/certs", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + "--cleanup-crashes", + "--marionette-startup-timeout=180", + ], + "run_filename": "runtests.py", + "testsdir": "mochitest", + }, + "reftest": { + "options": [ + "--appname=%(binary_path)s", + "--utility-path=tests/bin", + "--extra-profile-file=tests/bin/plugins", + "--symbols-path=%(symbols_path)s", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--cleanup-crashes", + "--marionette-startup-timeout=180", + "--sandbox-read-whitelist=%(abs_work_dir)s", + ], + "run_filename": "runreftest.py", + "testsdir": "reftest", + }, + "xpcshell": { + "options": [ + "--self-test", + "--symbols-path=%(symbols_path)s", + "--test-plugin-path=%(test_plugin_path)s", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--utility-path=tests/bin", + ], + "run_filename": "runxpcshelltests.py", + "testsdir": "xpcshell", + }, + "gtest": { + "options": [ + "--xre-path=%(abs_res_dir)s", + "--cwd=%(gtest_dir)s", + "--symbols-path=%(symbols_path)s", + "--utility-path=tests/bin", + "%(binary_path)s", + ], + "run_filename": "rungtests.py", + }, + }, + # local mochi suites + "all_mochitest_suites": { + "mochitest-plain": ["--chunk-by-dir=4"], + "mochitest-plain-gpu": ["--subsuite=gpu"], + "mochitest-media": ["--subsuite=media"], + "mochitest-chrome": ["--flavor=chrome", "--chunk-by-dir=4", "--disable-e10s"], + "mochitest-chrome-gpu": ["--flavor=chrome", "--subsuite=gpu", "--disable-e10s"], + "mochitest-browser-chrome": ["--flavor=browser", "--chunk-by-runtime"], + "mochitest-browser-chrome-screenshots": [ + "--flavor=browser", + "--subsuite=screenshots", + ], + "mochitest-webgl1-core": ["--subsuite=webgl1-core"], + "mochitest-webgl1-ext": ["--subsuite=webgl1-ext"], + "mochitest-webgl2-core": ["--subsuite=webgl2-core"], + "mochitest-webgl2-ext": ["--subsuite=webgl2-ext"], + "mochitest-webgl2-deqp": ["--subsuite=webgl2-deqp"], + "mochitest-webgpu": ["--subsuite=webgpu"], + "mochitest-devtools-chrome": [ + "--flavor=browser", + "--subsuite=devtools", + "--chunk-by-runtime", + ], + "mochitest-a11y": ["--flavor=a11y", "--disable-e10s"], + "mochitest-remote": ["--flavor=browser", "--subsuite=remote"], + }, + # local reftest suites + "all_reftest_suites": { + "crashtest": { + "options": ["--suite=crashtest", "--topsrcdir=tests/reftest/tests"], + "tests": ["tests/reftest/tests/testing/crashtest/crashtests.list"], + }, + "jsreftest": { + "options": [ + "--extra-profile-file=tests/jsreftest/tests/js/src/tests/user.js", + "--suite=jstestbrowser", + "--topsrcdir=tests/jsreftest/tests", + ], + "tests": ["tests/jsreftest/tests/js/src/tests/jstests.list"], + }, + "reftest": { + "options": ["--suite=reftest", "--topsrcdir=tests/reftest/tests"], + "tests": ["tests/reftest/tests/layout/reftests/reftest.list"], + }, + "reftest-gpu": { + "options": [ + "--suite=reftest", + "--setpref=layers.gpu-process.force-enabled=true", + "--topsrcdir=tests/reftest/tests", + ], + "tests": ["tests/reftest/tests/layout/reftests/reftest.list"], + }, + "reftest-no-accel": { + "options": [ + "--suite=reftest", + "--setpref=layers.acceleration.disabled=true", + "--topsrcdir=tests/reftest/tests", + ], + "tests": ["tests/reftest/tests/layout/reftests/reftest.list"], + }, + }, + "all_xpcshell_suites": { + "xpcshell": { + "options": [ + "--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME, + "--manifest=tests/xpcshell/tests/xpcshell.ini", + ], + "tests": [], + }, + }, + "all_cppunittest_suites": {"cppunittest": ["tests/cppunittest"]}, + "all_gtest_suites": {"gtest": []}, + "all_jittest_suites": { + "jittest": [], + "jittest-chunked": [], + }, + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [ + { + "name": "disable_screen_saver", + "cmd": ["xset", "s", "off", "s", "reset"], + "architectures": ["32bit", "64bit"], + "halt_on_failure": False, + "enabled": DISABLE_SCREEN_SAVER, + }, + { + "name": "run mouse & screen adjustment script", + "cmd": [ + sys.executable, + os.path.join( + os.getcwd(), + "mozharness", + "external_tools", + "mouse_and_screen_resolution.py", + ), + "--configuration-file", + os.path.join( + os.getcwd(), + "mozharness", + "external_tools", + "machine-configuration.json", + ), + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": ADJUST_MOUSE_AND_SCREEN, + }, + { + "name": "disable windows security and maintenance notifications", + "cmd": [ + "powershell", + "-command", + "\"&{$p='HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\\Notifications\Settings\Windows.SystemToast.SecurityAndMaintenance';if(!(Test-Path -Path $p)){&New-Item -Path $p -Force}&Set-ItemProperty -Path $p -Name Enabled -Value 0}\"", # noqa + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": (platform.release() == 10), + }, + { + "name": "set windows VisualFX", + "cmd": [ + "powershell", + "-command", + "\"&{{&Set-ItemProperty -Path 'HKCU:Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects' -Name VisualFXSetting -Value {}}}\"".format( + DESKTOP_VISUALFX_THEME + ), + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": True, + }, + { + "name": "hide windows taskbar", + "cmd": [ + "powershell", + "-command", + "\"&{{$p='{}';$v=(Get-ItemProperty -Path $p).Settings;$v[8]=3;&Set-ItemProperty -Path $p -Name Settings -Value $v}}\"".format( + TASKBAR_AUTOHIDE_REG_PATH + ), + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": True, + }, + { + "name": "restart windows explorer", + "cmd": [ + "powershell", + "-command", + '"&{&Stop-Process -ProcessName explorer}"', + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": True, + }, + { + "name": "prepare chrome profile", + "cmd": [ + "powershell", + "-command", + "if (test-path ${env:ProgramFiles(x86)}\Google\Chrome\Application\chrome.exe) {start chrome; Start-Sleep -s 30; taskkill /F /IM chrome.exe /T}", + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": True, + }, + ], + "vcs_output_timeout": 1000, + "minidump_save_path": "%(abs_work_dir)s/../minidumps", + "unstructured_flavors": { + "xpcshell": [], + "gtest": [], + "cppunittest": [], + "jittest": [], + }, + "nodejs_path": NODEJS_PATH, +} diff --git a/testing/mozharness/configs/web_platform_tests/prod_config.py b/testing/mozharness/configs/web_platform_tests/prod_config.py new file mode 100644 index 0000000000..25f9a7240d --- /dev/null +++ b/testing/mozharness/configs/web_platform_tests/prod_config.py @@ -0,0 +1,51 @@ +# ***** BEGIN LICENSE BLOCK ***** +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at http://mozilla.org/MPL/2.0/. +# ***** END LICENSE BLOCK ***** + +from __future__ import absolute_import +import os + +# OS Specifics +DISABLE_SCREEN_SAVER = True +ADJUST_MOUSE_AND_SCREEN = False +##### + +config = { + "options": [ + "--prefs-root=%(test_path)s/prefs", + "--config=%(test_path)s/wptrunner.ini", + "--ca-cert-path=%(test_path)s/tests/tools/certs/cacert.pem", + "--host-key-path=%(test_path)s/tests/tools/certs/web-platform.test.key", + "--host-cert-path=%(test_path)s/tests/tools/certs/web-platform.test.pem", + "--certutil-binary=%(test_install_path)s/bin/certutil", + ], + "geckodriver": os.path.join("%(abs_fetches_dir)s", "geckodriver"), + "per_test_category": "web-platform", + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [ + # NOTE 'enabled' is only here while we have unconsolidated configs + { + "name": "disable_screen_saver", + "cmd": ["xset", "s", "off", "s", "reset"], + "halt_on_failure": False, + "architectures": ["32bit", "64bit"], + "enabled": DISABLE_SCREEN_SAVER, + }, + { + "name": "run mouse & screen adjustment script", + "cmd": [ + # when configs are consolidated this python path will only show + # for windows. + "python", + "../scripts/external_tools/mouse_and_screen_resolution.py", + "--configuration-file", + "../scripts/external_tools/machine-configuration.json", + ], + "architectures": ["32bit"], + "halt_on_failure": True, + "enabled": ADJUST_MOUSE_AND_SCREEN, + }, + ], +} diff --git a/testing/mozharness/configs/web_platform_tests/prod_config_android.py b/testing/mozharness/configs/web_platform_tests/prod_config_android.py new file mode 100644 index 0000000000..23c366f42f --- /dev/null +++ b/testing/mozharness/configs/web_platform_tests/prod_config_android.py @@ -0,0 +1,26 @@ +# ***** BEGIN LICENSE BLOCK ***** +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at http://mozilla.org/MPL/2.0/. +# ***** END LICENSE BLOCK ***** +from __future__ import absolute_import +import os + +config = { + "options": [ + "--prefs-root=%(test_path)s/prefs", + "--config=%(test_path)s/wptrunner.ini", + "--ca-cert-path=%(test_path)s/tests/tools/certs/cacert.pem", + "--host-key-path=%(test_path)s/tests/tools/certs/web-platform.test.key", + "--host-cert-path=%(test_path)s/tests/tools/certs/web-platform.test.pem", + "--certutil-binary=%(xre_path)s/certutil", + "--product=firefox_android", + ], + "binary_path": "/tmp", + "geckodriver": "%(abs_fetches_dir)s/geckodriver", + "hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest", + "log_tbpl_level": "info", + "log_raw_level": "info", + "per_test_category": "web-platform", + "tooltool_cache": os.environ.get("TOOLTOOL_CACHE"), +} diff --git a/testing/mozharness/configs/web_platform_tests/prod_config_mac.py b/testing/mozharness/configs/web_platform_tests/prod_config_mac.py new file mode 100644 index 0000000000..b663f9be59 --- /dev/null +++ b/testing/mozharness/configs/web_platform_tests/prod_config_mac.py @@ -0,0 +1,51 @@ +# ***** BEGIN LICENSE BLOCK ***** +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at http://mozilla.org/MPL/2.0/. +# ***** END LICENSE BLOCK ***** + +from __future__ import absolute_import +import os + +# OS Specifics +DISABLE_SCREEN_SAVER = False +ADJUST_MOUSE_AND_SCREEN = False +##### + +config = { + "options": [ + "--prefs-root=%(test_path)s/prefs", + "--config=%(test_path)s/wptrunner.ini", + "--ca-cert-path=%(test_path)s/tests/tools/certs/cacert.pem", + "--host-key-path=%(test_path)s/tests/tools/certs/web-platform.test.key", + "--host-cert-path=%(test_path)s/tests/tools/certs/web-platform.test.pem", + "--certutil-binary=%(test_install_path)s/bin/certutil", + ], + "geckodriver": os.path.join("%(abs_fetches_dir)s", "geckodriver"), + "per_test_category": "web-platform", + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [ + # NOTE 'enabled' is only here while we have unconsolidated configs + { + "name": "disable_screen_saver", + "cmd": ["xset", "s", "off", "s", "reset"], + "halt_on_failure": False, + "architectures": ["32bit", "64bit"], + "enabled": DISABLE_SCREEN_SAVER, + }, + { + "name": "run mouse & screen adjustment script", + "cmd": [ + # when configs are consolidated this python path will only show + # for windows. + "python", + "../scripts/external_tools/mouse_and_screen_resolution.py", + "--configuration-file", + "../scripts/external_tools/machine-configuration.json", + ], + "architectures": ["32bit"], + "halt_on_failure": True, + "enabled": ADJUST_MOUSE_AND_SCREEN, + }, + ], +} diff --git a/testing/mozharness/configs/web_platform_tests/prod_config_windows.py b/testing/mozharness/configs/web_platform_tests/prod_config_windows.py new file mode 100644 index 0000000000..227b126683 --- /dev/null +++ b/testing/mozharness/configs/web_platform_tests/prod_config_windows.py @@ -0,0 +1,59 @@ +# ***** BEGIN LICENSE BLOCK ***** +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at http://mozilla.org/MPL/2.0/. +# ***** END LICENSE BLOCK ***** + +# This is a template config file for web-platform-tests test. + +from __future__ import absolute_import +import os +import sys + +# OS Specifics +DISABLE_SCREEN_SAVER = False +ADJUST_MOUSE_AND_SCREEN = True +##### + + +config = { + "options": [ + "--prefs-root=%(test_path)s/prefs", + "--config=%(test_path)s/wptrunner.ini", + "--ca-cert-path=%(test_path)s/tests/tools/certs/cacert.pem", + "--host-key-path=%(test_path)s/tests/tools/certs/web-platform.test.key", + "--host-cert-path=%(test_path)s/tests/tools/certs/web-platform.test.pem", + "--certutil-binary=%(test_install_path)s/bin/certutil", + ], + "exes": { + "python": sys.executable, + "hg": "c:/mozilla-build/hg/hg", + }, + "geckodriver": os.path.join("%(abs_fetches_dir)s", "geckodriver.exe"), + "per_test_category": "web-platform", + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [ + # NOTE 'enabled' is only here while we have unconsolidated configs + { + "name": "disable_screen_saver", + "cmd": ["xset", "s", "off", "s", "reset"], + "architectures": ["32bit", "64bit"], + "halt_on_failure": False, + "enabled": DISABLE_SCREEN_SAVER, + }, + { + "name": "run mouse & screen adjustment script", + "cmd": [ + # when configs are consolidated this python path will only show + # for windows. + sys.executable, + "../scripts/external_tools/mouse_and_screen_resolution.py", + "--configuration-file", + "../scripts/external_tools/machine-configuration.json", + ], + "architectures": ["32bit"], + "halt_on_failure": True, + "enabled": ADJUST_MOUSE_AND_SCREEN, + }, + ], +} diff --git a/testing/mozharness/configs/web_platform_tests/prod_config_windows_taskcluster.py b/testing/mozharness/configs/web_platform_tests/prod_config_windows_taskcluster.py new file mode 100644 index 0000000000..4c863e2af9 --- /dev/null +++ b/testing/mozharness/configs/web_platform_tests/prod_config_windows_taskcluster.py @@ -0,0 +1,124 @@ +# ***** BEGIN LICENSE BLOCK ***** +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at http://mozilla.org/MPL/2.0/. +# ***** END LICENSE BLOCK ***** + +# This is a template config file for web-platform-tests test. + +from __future__ import absolute_import +import os +import platform +import sys + +# OS Specifics +DISABLE_SCREEN_SAVER = False +ADJUST_MOUSE_AND_SCREEN = True +DESKTOP_VISUALFX_THEME = { + "Let Windows choose": 0, + "Best appearance": 1, + "Best performance": 2, + "Custom": 3, +}.get("Best appearance") +TASKBAR_AUTOHIDE_REG_PATH = { + "Windows 7": "HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2", + "Windows 10": "HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StuckRects3", +}.get("{} {}".format(platform.system(), platform.release())) +##### + +config = { + "options": [ + "--prefs-root=%(test_path)s/prefs", + "--config=%(test_path)s/wptrunner.ini", + "--ca-cert-path=%(test_path)s/tests/tools/certs/cacert.pem", + "--host-key-path=%(test_path)s/tests/tools/certs/web-platform.test.key", + "--host-cert-path=%(test_path)s/tests/tools/certs/web-platform.test.pem", + "--certutil-binary=%(test_install_path)s/bin/certutil", + ], + "exes": { + "python": sys.executable, + "hg": os.path.join(os.environ["PROGRAMFILES"], "Mercurial", "hg"), + }, + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [ + { + "name": "disable_screen_saver", + "cmd": ["xset", "s", "off", "s", "reset"], + "architectures": ["32bit", "64bit"], + "halt_on_failure": False, + "enabled": DISABLE_SCREEN_SAVER, + }, + { + "name": "run mouse & screen adjustment script", + "cmd": [ + sys.executable, + os.path.join( + os.getcwd(), + "mozharness", + "external_tools", + "mouse_and_screen_resolution.py", + ), + "--configuration-file", + os.path.join( + os.getcwd(), + "mozharness", + "external_tools", + "machine-configuration.json", + ), + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": ADJUST_MOUSE_AND_SCREEN, + }, + { + "name": "disable windows security and maintenance notifications", + "cmd": [ + "powershell", + "-command", + r"\"&{$p='HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\Windows.SystemToast.SecurityAndMaintenance';if(!(Test-Path -Path $p)){&New-Item -Path $p -Force}&Set-ItemProperty -Path $p -Name Enabled -Value 0}\"", # noqa + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": (platform.release() == 10), + }, + { + "name": "set windows VisualFX", + "cmd": [ + "powershell", + "-command", + "\"&{{&Set-ItemProperty -Path 'HKCU:Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects' -Name VisualFXSetting -Value {}}}\"".format( + DESKTOP_VISUALFX_THEME + ), + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": True, + }, + { + "name": "hide windows taskbar", + "cmd": [ + "powershell", + "-command", + "\"&{{$p='{}';$v=(Get-ItemProperty -Path $p).Settings;$v[8]=3;&Set-ItemProperty -Path $p -Name Settings -Value $v}}\"".format( + TASKBAR_AUTOHIDE_REG_PATH + ), + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": True, + }, + { + "name": "restart windows explorer", + "cmd": [ + "powershell", + "-command", + '"&{&Stop-Process -ProcessName explorer}"', + ], + "architectures": ["32bit", "64bit"], + "halt_on_failure": True, + "enabled": True, + }, + ], + "geckodriver": os.path.join("%(abs_fetches_dir)s", "geckodriver.exe"), + "per_test_category": "web-platform", +} diff --git a/testing/mozharness/configs/web_platform_tests/test_config.py b/testing/mozharness/configs/web_platform_tests/test_config.py new file mode 100644 index 0000000000..a9787185a7 --- /dev/null +++ b/testing/mozharness/configs/web_platform_tests/test_config.py @@ -0,0 +1,24 @@ +# ***** BEGIN LICENSE BLOCK ***** +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at http://mozilla.org/MPL/2.0/. +# ***** END LICENSE BLOCK ***** + +config = { + "options": [ + "--prefs-root=%(test_path)s/prefs", + "--config=%(test_path)s/wptrunner.ini", + "--ca-cert-path=%(test_path)s/tests/tools/certs/cacert.pem", + "--host-key-path=%(test_path)s/tests/tools/certs/web-platform.test.key", + "--host-cert-path=%(test_path)s/tests/tools/certs/web-platform.test.pem", + "--certutil-binary=%(test_install_path)s/bin/certutil", + ], + "default_actions": [ + "clobber", + "download-and-extract", + "create-virtualenv", + "pull", + "install", + "run-tests", + ], +} diff --git a/testing/mozharness/configs/web_platform_tests/test_config_windows.py b/testing/mozharness/configs/web_platform_tests/test_config_windows.py new file mode 100644 index 0000000000..8262f017bd --- /dev/null +++ b/testing/mozharness/configs/web_platform_tests/test_config_windows.py @@ -0,0 +1,31 @@ +# ***** BEGIN LICENSE BLOCK *****
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+# ***** END LICENSE BLOCK *****
+
+from __future__ import absolute_import
+import sys
+
+config = {
+ "options": [
+ "--prefs-root=%(test_path)s/prefs",
+ "--config=%(test_path)s/wptrunner.ini",
+ "--ca-cert-path=%(test_path)s/tests/tools/certs/cacert.pem",
+ "--host-key-path=%(test_path)s/tests/tools/certs/web-platform.test.key",
+ "--host-cert-path=%(test_path)s/tests/tools/certs/web-platform.test.pem",
+ "--certutil-binary=%(test_install_path)s/bin/certutil",
+ ],
+ "exes": {
+ "python": sys.executable,
+ "hg": "c:/mozilla-build/hg/hg",
+ },
+ "default_actions": [
+ "clobber",
+ "download-and-extract",
+ "create-virtualenv",
+ "pull",
+ "install",
+ "run-tests",
+ ],
+}
|