diff options
Diffstat (limited to 'testing/mozharness/configs')
219 files changed, 11946 insertions, 0 deletions
diff --git a/testing/mozharness/configs/android/androidarm.py b/testing/mozharness/configs/android/androidarm.py new file mode 100644 index 000000000..fc4f742dc --- /dev/null +++ b/testing/mozharness/configs/android/androidarm.py @@ -0,0 +1,459 @@ +import os + +config = { + "buildbot_json_path": "buildprops.json", + "host_utils_url": "http://talos-remote.pvt.build.mozilla.org/tegra/tegra-host-utils.Linux.1109310.2.zip", + "robocop_package_name": "org.mozilla.roboexample.test", + "device_ip": "127.0.0.1", + "default_sut_port1": "20701", + "default_sut_port2": "20700", # does not prompt for commands + "tooltool_manifest_path": "testing/config/tooltool-manifests/androidarm/releng.manifest", + "tooltool_cache": "/builds/tooltool_cache", + "emulator_manifest": """ + [ + { + "size": 193383673, + "digest": "6609e8b95db59c6a3ad60fc3dcfc358b2c8ec8b4dda4c2780eb439e1c5dcc5d550f2e47ce56ba14309363070078d09b5287e372f6e95686110ff8a2ef1838221", + "algorithm": "sha512", + "filename": "android-sdk18_0.r18moz1.orig.tar.gz", + "unpack": "True" + } + ] """, + "emulator_process_name": "emulator64-arm", + "emulator_extra_args": "-debug init,console,gles,memcheck,adbserver,adbclient,adb,avd_config,socket -qemu -m 1024 -cpu cortex-a9", + "device_manager": "sut", + "exes": { + 'adb': '%(abs_work_dir)s/android-sdk18/platform-tools/adb', + 'python': '/tools/buildbot/bin/python', + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + 'tooltool.py': "/tools/tooltool.py", + }, + "env": { + "DISPLAY": ":0.0", + "PATH": "%(PATH)s:%(abs_work_dir)s/android-sdk18/tools:%(abs_work_dir)s/android-sdk18/platform-tools", + "MINIDUMP_SAVEPATH": "%(abs_work_dir)s/../minidumps" + }, + "default_actions": [ + 'clobber', + 'read-buildbot-config', + 'setup-avds', + 'start-emulator', + 'download-and-extract', + 'create-virtualenv', + 'verify-emulator', + 'install', + 'run-tests', + ], + "emulator": { + "name": "test-1", + "device_id": "emulator-5554", + "http_port": "8854", # starting http port to use for the mochitest server + "ssl_port": "4454", # starting ssl port to use for the server + "emulator_port": 5554, + "sut_port1": 20701, + "sut_port2": 20700 + }, + "suite_definitions": { + "mochitest": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=sut", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--extra-profile-file=fonts", + "--extra-profile-file=hyphenation", + "--screenshot-on-fail", + ], + }, + "mochitest-gl": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=sut", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + "--total-chunks=4", + "--subsuite=webgl", + ], + }, + "mochitest-media": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=sut", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + "--total-chunks=2", + "--subsuite=media", + ], + }, + "robocop": { + "run_filename": "runrobocop.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=sut", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--total-chunks=4", + "--robocop-apk=../../robocop.apk", + "--robocop-ini=robocop.ini", + ], + }, + "reftest": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", + "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=16", + "--extra-profile-file=fonts", + "--extra-profile-file=hyphenation", + "--suite=reftest", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + ], + "tests": ["tests/layout/reftests/reftest.list"], + }, + "crashtest": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", + "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=2", + "--suite=crashtest", + ], + "tests": ["tests/testing/crashtest/crashtests.list"], + }, + "jsreftest": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", + "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=6", + "--extra-profile-file=jsreftest/tests/user.js", + "--suite=jstestbrowser", + ], + "tests": ["../jsreftest/tests/jstests.list"], + }, + "xpcshell": { + "run_filename": "remotexpcshelltests.py", + "testsdir": "xpcshell", + "options": [ + "--dm_trans=sut", + "--deviceIP=%(device_ip)s", + "--devicePort=%(device_port)s", + "--xre-path=%(xre_path)s", + "--testing-modules-dir=%(modules_dir)s", + "--apk=%(installer_path)s", + "--no-logfiles", + "--symbols-path=%(symbols_path)s", + "--manifest=tests/xpcshell.ini", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--total-chunks=3", + ], + }, + }, # end suite_definitions + "test_suite_definitions": { + "jsreftest-1": { + "category": "jsreftest", + "extra_args": ["--this-chunk=1"], + }, + "jsreftest-2": { + "category": "jsreftest", + "extra_args": ["--this-chunk=2"], + }, + "jsreftest-3": { + "category": "jsreftest", + "extra_args": ["--this-chunk=3"], + }, + "jsreftest-4": { + "category": "jsreftest", + "extra_args": ["--this-chunk=4"], + }, + "jsreftest-5": { + "category": "jsreftest", + "extra_args": ["--this-chunk=5"], + }, + "jsreftest-6": { + "category": "jsreftest", + "extra_args": ["--this-chunk=6"], + }, + "mochitest-1": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=1"], + }, + "mochitest-2": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=2"], + }, + "mochitest-3": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=3"], + }, + "mochitest-4": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=4"], + }, + "mochitest-5": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=5"], + }, + "mochitest-6": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=6"], + }, + "mochitest-7": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=7"], + }, + "mochitest-8": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=8"], + }, + "mochitest-9": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=9"], + }, + "mochitest-10": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=10"], + }, + "mochitest-11": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=11"], + }, + "mochitest-12": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=12"], + }, + "mochitest-13": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=13"], + }, + "mochitest-14": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=14"], + }, + "mochitest-15": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=15"], + }, + "mochitest-16": { + "category": "mochitest", + "extra_args": ["--total-chunks=16", "--this-chunk=16"], + }, + "mochitest-chrome": { + "category": "mochitest", + "extra_args": ["--flavor=chrome"], + }, + "mochitest-media-1": { + "category": "mochitest-media", + "extra_args": ["--this-chunk=1"], + }, + "mochitest-media-2": { + "category": "mochitest-media", + "extra_args": ["--this-chunk=2"], + }, + "mochitest-gl-1": { + "category": "mochitest-gl", + "extra_args": ["--this-chunk=1"], + }, + "mochitest-gl-2": { + "category": "mochitest-gl", + "extra_args": ["--this-chunk=2"], + }, + "mochitest-gl-3": { + "category": "mochitest-gl", + "extra_args": ["--this-chunk=3"], + }, + "mochitest-gl-4": { + "category": "mochitest-gl", + "extra_args": ["--this-chunk=4"], + }, + "reftest-1": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=1"], + }, + "reftest-2": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=2"], + }, + "reftest-3": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=3"], + }, + "reftest-4": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=4"], + }, + "reftest-5": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=5"], + }, + "reftest-6": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=6"], + }, + "reftest-7": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=7"], + }, + "reftest-8": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=8"], + }, + "reftest-9": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=9"], + }, + "reftest-10": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=10"], + }, + "reftest-11": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=11"], + }, + "reftest-12": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=12"], + }, + "reftest-13": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=13"], + }, + "reftest-14": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=14"], + }, + "reftest-15": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=15"], + }, + "reftest-16": { + "category": "reftest", + "extra_args": ["--total-chunks=16", "--this-chunk=16"], + }, + "crashtest-1": { + "category": "crashtest", + "extra_args": ["--this-chunk=1"], + }, + "crashtest-2": { + "category": "crashtest", + "extra_args": ["--this-chunk=2"], + }, + "xpcshell-1": { + "category": "xpcshell", + "extra_args": ["--total-chunks=3", "--this-chunk=1"], + }, + "xpcshell-2": { + "category": "xpcshell", + "extra_args": ["--total-chunks=3", "--this-chunk=2"], + }, + "xpcshell-3": { + "category": "xpcshell", + "extra_args": ["--total-chunks=3", "--this-chunk=3"], + }, + "robocop-1": { + "category": "robocop", + "extra_args": ["--this-chunk=1"], + }, + "robocop-2": { + "category": "robocop", + "extra_args": ["--this-chunk=2"], + }, + "robocop-3": { + "category": "robocop", + "extra_args": ["--this-chunk=3"], + }, + "robocop-4": { + "category": "robocop", + "extra_args": ["--this-chunk=4"], + }, + }, # end of "test_definitions" + "download_minidump_stackwalk": True, + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file" : os.path.join(os.getcwd(), "oauth.txt"), +} diff --git a/testing/mozharness/configs/android/androidarm_4_3-tc.py b/testing/mozharness/configs/android/androidarm_4_3-tc.py new file mode 100644 index 000000000..dd87e6695 --- /dev/null +++ b/testing/mozharness/configs/android/androidarm_4_3-tc.py @@ -0,0 +1,10 @@ +config = { + # Additional Android 4.3 settings required when running in taskcluster. + "avds_dir": "/home/worker/workspace/build/.android", + "tooltool_cache": "/home/worker/tooltool_cache", + "download_tooltool": True, + "tooltool_servers": ['http://relengapi/tooltool/'], + "exes": { + 'adb': '%(abs_work_dir)s/android-sdk18/platform-tools/adb', + } +} diff --git a/testing/mozharness/configs/android/androidarm_4_3.py b/testing/mozharness/configs/android/androidarm_4_3.py new file mode 100644 index 000000000..bae25fecc --- /dev/null +++ b/testing/mozharness/configs/android/androidarm_4_3.py @@ -0,0 +1,383 @@ +import os + +config = { + "buildbot_json_path": "buildprops.json", + "hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest", + "robocop_package_name": "org.mozilla.roboexample.test", + "marionette_address": "localhost:2828", + "marionette_test_manifest": "unit-tests.ini", + "tooltool_manifest_path": "testing/config/tooltool-manifests/androidarm_4_3/releng.manifest", + "tooltool_cache": "/builds/tooltool_cache", + "avds_dir": "/home/cltbld/.android", + "emulator_manifest": """ + [ + { + "size": 140097024, + "digest": "51781032335c09103e8509b1a558bf22a7119392cf1ea301c49c01bdf21ff0ceb37d260bc1c322cd9b903252429fb01830fc27e4632be30cd345c95bf4b1a39b", + "algorithm": "sha512", + "filename": "android-sdk_r24.0.2-linux.tgz", + "unpack": "True" + } + ] """, + "tools_manifest": """ + [ + { + "size": 193383673, + "digest": "6609e8b95db59c6a3ad60fc3dcfc358b2c8ec8b4dda4c2780eb439e1c5dcc5d550f2e47ce56ba14309363070078d09b5287e372f6e95686110ff8a2ef1838221", + "algorithm": "sha512", + "filename": "android-sdk18_0.r18moz1.orig.tar.gz", + "unpack": "True" + } + ] """, + "emulator_process_name": "emulator64-arm", + "emulator_extra_args": "-show-kernel -debug init,console,gles,memcheck,adbserver,adbclient,adb,avd_config,socket", + "device_manager": "adb", + "exes": { + 'adb': '%(abs_work_dir)s/android-sdk18/platform-tools/adb', + 'python': '/tools/buildbot/bin/python', + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + 'tooltool.py': "/tools/tooltool.py", + }, + "env": { + "DISPLAY": ":0.0", + "PATH": "%(PATH)s:%(abs_work_dir)s/android-sdk-linux/tools:%(abs_work_dir)s/android-sdk18/platform-tools", + "MINIDUMP_SAVEPATH": "%(abs_work_dir)s/../minidumps" + }, + "default_actions": [ + 'clobber', + 'read-buildbot-config', + 'setup-avds', + 'start-emulator', + 'download-and-extract', + 'create-virtualenv', + 'verify-emulator', + 'install', + 'run-tests', + ], + "emulator": { + "name": "test-1", + "device_id": "emulator-5554", + "http_port": "8854", # starting http port to use for the mochitest server + "ssl_port": "4454", # starting ssl port to use for the server + "emulator_port": 5554, + }, + "suite_definitions": { + "mochitest": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=adb", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--extra-profile-file=fonts", + "--extra-profile-file=hyphenation", + "--screenshot-on-fail", + "--total-chunks=20", + ], + }, + "mochitest-gl": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=adb", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + "--total-chunks=10", + "--subsuite=webgl", + ], + }, + "mochitest-chrome": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=adb", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--extra-profile-file=fonts", + "--extra-profile-file=hyphenation", + "--screenshot-on-fail", + "--flavor=chrome", + ], + }, + "mochitest-plain-gpu": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=adb", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + "--subsuite=gpu", + ], + }, + "mochitest-plain-clipboard": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=adb", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + "--subsuite=clipboard", + ], + }, + "mochitest-media": { + "run_filename": "runtestsremote.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=adb", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + "--chunk-by-runtime", + "--total-chunks=2", + "--subsuite=media", + ], + }, + "robocop": { + "run_filename": "runrobocop.py", + "testsdir": "mochitest", + "options": [ + "--dm_trans=adb", + "--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--total-chunks=4", + "--robocop-apk=../../robocop.apk", + "--robocop-ini=robocop.ini", + ], + }, + "reftest": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--dm_trans=adb", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=16", + "--extra-profile-file=fonts", + "--extra-profile-file=hyphenation", + "--suite=reftest", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + ], + "tests": ["tests/layout/reftests/reftest.list",], + }, + "reftest-debug": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--dm_trans=adb", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=48", + "--extra-profile-file=fonts", + "--extra-profile-file=hyphenation", + "tests/layout/reftests/reftest.list", + ], + }, + "crashtest": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--dm_trans=adb", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", + "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=4", + "--suite=crashtest", + ], + "tests": ["tests/testing/crashtest/crashtests.list",], + }, + "crashtest-debug": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--dm_trans=adb", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", + "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=10", + "tests/testing/crashtest/crashtests.list", + ], + }, + "jsreftest": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--dm_trans=adb", + "--remote-webserver=%(remote_webserver)s", "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", "--httpd-path", "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "--total-chunks=6", + "--extra-profile-file=jsreftest/tests/user.js", + "--suite=jstestbrowser", + ], + "tests": ["../jsreftest/tests/jstests.list",], + }, + "jsreftest-debug": { + "run_filename": "remotereftest.py", + "testsdir": "reftest", + "options": [ + "--app=%(app)s", + "--ignore-window-size", + "--dm_trans=adb", + "--remote-webserver=%(remote_webserver)s", "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", "--httpd-path", "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + "../jsreftest/tests/jstests.list", + "--total-chunks=20", + "--extra-profile-file=jsreftest/tests/user.js", + ], + }, + "xpcshell": { + "run_filename": "remotexpcshelltests.py", + "testsdir": "xpcshell", + "install": False, + "options": [ + "--dm_trans=adb", + "--xre-path=%(xre_path)s", + "--testing-modules-dir=%(modules_dir)s", + "--apk=%(installer_path)s", + "--no-logfiles", + "--symbols-path=%(symbols_path)s", + "--manifest=tests/xpcshell.ini", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--test-plugin-path=none", + "--total-chunks=3", + ], + }, + "cppunittest": { + "run_filename": "remotecppunittests.py", + "testsdir": "cppunittest", + "install": False, + "options": [ + "--symbols-path=%(symbols_path)s", + "--xre-path=%(xre_path)s", + "--dm_trans=adb", + "--localBinDir=../bin", + "--apk=%(installer_path)s", + ".", + ], + }, + "marionette": { + "run_filename": os.path.join("harness", "marionette_harness", "runtests.py"), + "testsdir": "marionette", + "options": [ + "--emulator", + "--app=fennec", + "--package=%(app)s", + "--address=%(address)s", + "%(test_manifest)s", + "--disable-e10s", + "--gecko-log=%(gecko_log)s", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--symbols-path=%(symbols_path)s", + "--startup-timeout=300", + ], + }, + + }, # end suite_definitions + "download_minidump_stackwalk": True, + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"), +} diff --git a/testing/mozharness/configs/android/androidarm_dev.py b/testing/mozharness/configs/android/androidarm_dev.py new file mode 100644 index 000000000..e4de6a9f2 --- /dev/null +++ b/testing/mozharness/configs/android/androidarm_dev.py @@ -0,0 +1,9 @@ +# This config contains dev values that will replace +# the values specified in the production config +# if specified like this (order matters): +# --cfg android/androidarm.py +# --cfg android/androidarm_dev.py +import os +config = { + "tooltool_cache_path": os.path.join(os.getenv("HOME"), "cache"), +} diff --git a/testing/mozharness/configs/android/androidx86-tc.py b/testing/mozharness/configs/android/androidx86-tc.py new file mode 100644 index 000000000..8141b77f6 --- /dev/null +++ b/testing/mozharness/configs/android/androidx86-tc.py @@ -0,0 +1,73 @@ +import os + +config = { + "buildbot_json_path": "buildprops.json", + "hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest", + "tooltool_manifest_path": "testing/config/tooltool-manifests/androidx86/releng.manifest", + "tooltool_cache": "/home/worker/tooltool_cache", + "download_tooltool": True, + "tooltool_servers": ['http://relengapi/tooltool/'], + "avds_dir": "/home/worker/workspace/build/.android", + "emulator_manifest": """ + [ + { + "size": 193383673, + "digest": "6609e8b95db59c6a3ad60fc3dcfc358b2c8ec8b4dda4c2780eb439e1c5dcc5d550f2e47ce56ba14309363070078d09b5287e372f6e95686110ff8a2ef1838221", + "algorithm": "sha512", + "filename": "android-sdk18_0.r18moz1.orig.tar.gz", + "unpack": "True" + } + ] """, + "emulator_process_name": "emulator64-x86", + "emulator_extra_args": "-show-kernel -debug init,console,gles,memcheck,adbserver,adbclient,adb,avd_config,socket -qemu -m 1024", + "device_manager": "adb", + "exes": { + 'adb': '%(abs_work_dir)s/android-sdk18/platform-tools/adb', + }, + "env": { + "DISPLAY": ":0.0", + "PATH": "%(PATH)s:%(abs_work_dir)s/android-sdk18/tools:%(abs_work_dir)s/android-sdk18/platform-tools", + "MINIDUMP_SAVEPATH": "%(abs_work_dir)s/../minidumps" + }, + "default_actions": [ + 'clobber', + 'read-buildbot-config', + 'setup-avds', + 'start-emulator', + 'download-and-extract', + 'create-virtualenv', + 'verify-emulator', + 'run-tests', + ], + "emulator": { + "name": "test-1", + "device_id": "emulator-5554", + "http_port": "8854", # starting http port to use for the mochitest server + "ssl_port": "4454", # starting ssl port to use for the server + "emulator_port": 5554, + }, + "suite_definitions": { + "xpcshell": { + "run_filename": "remotexpcshelltests.py", + "testsdir": "xpcshell", + "install": False, + "options": [ + "--dm_trans=adb", + "--xre-path=%(xre_path)s", + "--testing-modules-dir=%(modules_dir)s", + "--apk=%(installer_path)s", + "--no-logfiles", + "--symbols-path=%(symbols_path)s", + "--manifest=tests/xpcshell.ini", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--test-plugin-path=none", + ], + }, + }, # end suite_definitions + "download_minidump_stackwalk": True, + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"), +} diff --git a/testing/mozharness/configs/android/androidx86.py b/testing/mozharness/configs/android/androidx86.py new file mode 100644 index 000000000..e74551d0a --- /dev/null +++ b/testing/mozharness/configs/android/androidx86.py @@ -0,0 +1,182 @@ +import os + +config = { + "buildbot_json_path": "buildprops.json", + "hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest", + "robocop_package_name": "org.mozilla.roboexample.test", + "device_ip": "127.0.0.1", + "tooltool_manifest_path": "testing/config/tooltool-manifests/androidx86/releng.manifest", + "tooltool_cache": "/builds/tooltool_cache", + "avds_dir": "/home/cltbld/.android", + "emulator_manifest": """ + [ + { + "size": 193383673, + "digest": "6609e8b95db59c6a3ad60fc3dcfc358b2c8ec8b4dda4c2780eb439e1c5dcc5d550f2e47ce56ba14309363070078d09b5287e372f6e95686110ff8a2ef1838221", + "algorithm": "sha512", + "filename": "android-sdk18_0.r18moz1.orig.tar.gz", + "unpack": "True" + } + ] """, + "emulator_process_name": "emulator64-x86", + "emulator_extra_args": "-debug init,console,gles,memcheck,adbserver,adbclient,adb,avd_config,socket -qemu -m 1024 -enable-kvm", + "device_manager": "adb", + "exes": { + 'adb': '%(abs_work_dir)s/android-sdk18/platform-tools/adb', + 'python': '/tools/buildbot/bin/python', + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + 'tooltool.py': "/tools/tooltool.py", + }, + "env": { + "DISPLAY": ":0.0", + "PATH": "%(PATH)s:%(abs_work_dir)s/android-sdk18/tools:%(abs_work_dir)s/android-sdk18/platform-tools", + }, + "default_actions": [ + 'clobber', + 'read-buildbot-config', + 'setup-avds', + 'start-emulators', + 'download-and-extract', + 'create-virtualenv', + 'install', + 'run-tests', + 'stop-emulators', + ], + "emulators": [ + { + "name": "test-1", + "device_id": "emulator-5554", + "http_port": "8854", # starting http port to use for the mochitest server + "ssl_port": "4454", # starting ssl port to use for the server + "emulator_port": 5554, + }, + { + "name": "test-2", + "device_id": "emulator-5556", + "http_port": "8856", # starting http port to use for the mochitest server + "ssl_port": "4456", # starting ssl port to use for the server + "emulator_port": 5556, + }, + { + "name": "test-3", + "device_id": "emulator-5558", + "http_port": "8858", # starting http port to use for the mochitest server + "ssl_port": "4458", # starting ssl port to use for the server + "emulator_port": 5558, + }, + { + "name": "test-4", + "device_id": "emulator-5560", + "http_port": "8860", # starting http port to use for the mochitest server + "ssl_port": "4460", # starting ssl port to use for the server + "emulator_port": 5560, + } + ], + "suite_definitions": { + "mochitest": { + "run_filename": "runtestsremote.py", + "options": ["--app=%(app)s", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--certificate-path=%(certs_path)s", + "--symbols-path=%(symbols_path)s", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--screenshot-on-fail", + ], + }, + "reftest": { + "run_filename": "remotereftest.py", + "options": ["--app=%(app)s", + "--ignore-window-size", + "--remote-webserver=%(remote_webserver)s", + "--xre-path=%(xre_path)s", + "--utility-path=%(utility_path)s", + "--http-port=%(http_port)s", + "--ssl-port=%(ssl_port)s", + "--httpd-path", "%(modules_dir)s", + "--symbols-path=%(symbols_path)s", + ], + }, + "xpcshell": { + "run_filename": "remotexpcshelltests.py", + "options": ["--xre-path=%(xre_path)s", + "--testing-modules-dir=%(modules_dir)s", + "--apk=%(installer_path)s", + "--no-logfiles", + "--symbols-path=%(symbols_path)s", + "--manifest=tests/xpcshell.ini", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--test-plugin-path=none", + ], + }, + }, # end suite_definitions + "test_suite_definitions": { + "jsreftest": { + "category": "reftest", + "tests": ["../jsreftest/tests/jstests.list"], + "extra_args": [ + "--suite=jstestbrowser", + "--extra-profile-file=jsreftest/tests/user.js" + ] + }, + "mochitest-1": { + "category": "mochitest", + "extra_args": ["--total-chunks=2", "--this-chunk=1"], + }, + "mochitest-2": { + "category": "mochitest", + "extra_args": ["--total-chunks=2", "--this-chunk=2"], + }, + "mochitest-gl": { + "category": "mochitest", + "extra_args": ["--subsuite=webgl"], + }, + "reftest-1": { + "category": "reftest", + "extra_args": [ + "--suite=reftest", + "--total-chunks=3", + "--this-chunk=1", + ], + "tests": ["tests/layout/reftests/reftest.list"], + }, + "reftest-2": { + "extra_args": [ + "--suite=reftest", + "--total-chunks=3", + "--this-chunk=2", + ], + "tests": ["tests/layout/reftests/reftest.list"], + }, + "reftest-3": { + "extra_args": [ + "--suite=reftest", + "--total-chunks=3", + "--this-chunk=3", + ], + "tests": ["tests/layout/reftests/reftest.list"], + }, + "crashtest": { + "category": "reftest", + "extra_args": ["--suite=crashtest"], + "tests": ["tests/testing/crashtest/crashtests.list"] + }, + "xpcshell": { + "category": "xpcshell", + # XXX --manifest is superceded by testing/config/mozharness/android_x86_config.py. + # Remove when Gecko 35 no longer in tbpl. + "extra_args": ["--manifest=tests/xpcshell_android.ini"] + }, + }, # end of "test_definitions" + "download_minidump_stackwalk": True, + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file" : os.path.join(os.getcwd(), "oauth.txt"), +} diff --git a/testing/mozharness/configs/balrog/docker-worker.py b/testing/mozharness/configs/balrog/docker-worker.py new file mode 100644 index 000000000..1ff1c2ac5 --- /dev/null +++ b/testing/mozharness/configs/balrog/docker-worker.py @@ -0,0 +1,18 @@ +config = { + 'balrog_servers': [ + { + 'balrog_api_root': 'http://balrog/api', + 'ignore_failures': False, + 'url_replacements': [ + ('http://archive.mozilla.org/pub', 'http://download.cdn.mozilla.net/pub'), + ], + 'balrog_usernames': { + 'firefox': 'ffxbld', + 'thunderbird': 'tbirdbld', + 'mobile': 'ffxbld', + 'Fennec': 'ffxbld', + } + } + ] +} + diff --git a/testing/mozharness/configs/balrog/production.py b/testing/mozharness/configs/balrog/production.py new file mode 100644 index 000000000..a727f77d1 --- /dev/null +++ b/testing/mozharness/configs/balrog/production.py @@ -0,0 +1,28 @@ +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': 'ffxbld', + 'thunderbird': 'tbirdbld', + 'mobile': 'ffxbld', + 'Fennec': '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 000000000..919974122 --- /dev/null +++ b/testing/mozharness/configs/balrog/staging.py @@ -0,0 +1,14 @@ +config = { + 'balrog_servers': [ + { + 'balrog_api_root': 'https://aus4-admin-dev.allizom.org/api', + 'ignore_failures': False, + 'balrog_usernames': { + 'firefox': 'stage-ffxbld', + 'thunderbird': 'stage-tbirdbld', + 'mobile': 'stage-ffxbld', + 'Fennec': 'stage-ffxbld', + } + } + ] +} diff --git a/testing/mozharness/configs/beetmover/en_us_build.yml.tmpl b/testing/mozharness/configs/beetmover/en_us_build.yml.tmpl new file mode 100644 index 000000000..33287b042 --- /dev/null +++ b/testing/mozharness/configs/beetmover/en_us_build.yml.tmpl @@ -0,0 +1,191 @@ +--- +metadata: + name: "Beet Mover Manifest" + description: "Maps artifact locations to s3 key names for the en-US locale" + owner: "release@mozilla.com" + +mapping: +{% for locale in locales %} + {{ locale }}: + + {% if platform == "win32" %} + buildinfo: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.json + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.json + mozinfo: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.mozinfo.json + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.mozinfo.json + socorroinfo: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.txt + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.txt + jsshell: + artifact: {{ artifact_base_url }}/jsshell-{{ platform }}.zip + s3_key: {{ s3_prefix }}jsshell-{{ platform }}.zip + mozharness_package: + artifact: {{ artifact_base_url }}/mozharness.zip + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/mozharness.zip + xpi: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.langpack.xpi + s3_key: {{ s3_prefix }}{{ platform }}/xpi/{{ locale }}.xpi + symbols: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.crashreporter-symbols.zip + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.crashreporter-symbols.zip + buildid_info: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}_info.txt + s3_key: {{ s3_prefix }}win32_info.txt + sdk: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.sdk.zip + s3_key: {{ s3_prefix }}firefox-{{ version }}.{{ platform }}.sdk.zip + mar_tools_mar: + artifact: {{ artifact_base_url }}/mar.exe + s3_key: {{ s3_prefix }}mar-tools/win32/mar.exe + mar_tools_mbdiff: + artifact: {{ artifact_base_url }}/mbsdiff.exe + s3_key: {{ s3_prefix }}mar-tools/win32/mbsdiff.exe + {% endif %} + + {% if platform == "win64" %} + buildinfo: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.json + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.json + mozinfo: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.mozinfo.json + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.mozinfo.json + socorroinfo: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.txt + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.txt + jsshell: + artifact: {{ artifact_base_url }}/jsshell-{{ platform }}.zip + s3_key: {{ s3_prefix }}jsshell-{{ platform }}.zip + mozharness_package: + artifact: {{ artifact_base_url }}/mozharness.zip + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/mozharness.zip + xpi: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.langpack.xpi + s3_key: {{ s3_prefix }}{{ platform }}/xpi/{{ locale }}.xpi + symbols: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.crashreporter-symbols.zip + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.crashreporter-symbols.zip + buildid_info: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}_info.txt + s3_key: {{ s3_prefix }}win64_info.txt + sdk: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.sdk.zip + s3_key: {{ s3_prefix }}firefox-{{ version }}.{{ platform }}.sdk.zip + mar_tools_mar: + artifact: {{ artifact_base_url }}/mar.exe + s3_key: {{ s3_prefix }}mar-tools/win64/mar.exe + mar_tools_mbdiff: + artifact: {{ artifact_base_url }}/mbsdiff.exe + s3_key: {{ s3_prefix }}mar-tools/win64/mbsdiff.exe + {% endif %} + + {% if platform == "linux-i686" %} + buildinfo: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.json + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.json + mozinfo: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.mozinfo.json + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.mozinfo.json + socorroinfo: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.txt + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.txt + jsshell: + artifact: {{ artifact_base_url }}/jsshell-{{ platform }}.zip + s3_key: {{ s3_prefix }}jsshell-{{ platform }}.zip + mozharness_package: + artifact: {{ artifact_base_url }}/mozharness.zip + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/mozharness.zip + xpi: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.langpack.xpi + s3_key: {{ s3_prefix }}{{ platform }}/xpi/{{ locale }}.xpi + symbols: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.crashreporter-symbols.zip + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.crashreporter-symbols.zip + buildid_info: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}_info.txt + s3_key: {{ s3_prefix }}linux_info.txt + sdk: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.sdk.tar.bz2 + s3_key: {{ s3_prefix }}firefox-{{ version }}.{{ platform }}.sdk.tar.bz2 + mar_tools_mar: + artifact: {{ artifact_base_url }}/mar + s3_key: {{ s3_prefix }}mar-tools/linux/mar + mar_tools_mbdiff: + artifact: {{ artifact_base_url }}/mbsdiff + s3_key: {{ s3_prefix }}mar-tools/linux/mbsdiff + {% endif %} + + {% if platform == "linux-x86_64" %} + buildinfo: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.json + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.json + mozinfo: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.mozinfo.json + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.mozinfo.json + socorroinfo: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.txt + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.txt + jsshell: + artifact: {{ artifact_base_url }}/jsshell-{{ platform }}.zip + s3_key: {{ s3_prefix }}jsshell-{{ platform }}.zip + mozharness_package: + artifact: {{ artifact_base_url }}/mozharness.zip + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/mozharness.zip + xpi: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.langpack.xpi + s3_key: {{ s3_prefix }}{{ platform }}/xpi/{{ locale }}.xpi + symbols: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.crashreporter-symbols.zip + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.crashreporter-symbols.zip + buildid_info: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}_info.txt + s3_key: {{ s3_prefix }}linux64_info.txt + sdk: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.sdk.tar.bz2 + s3_key: {{ s3_prefix }}firefox-{{ version }}.{{ platform }}.sdk.tar.bz2 + mar_tools_mar: + artifact: {{ artifact_base_url }}/mar + s3_key: {{ s3_prefix }}mar-tools/linux64/mar + mar_tools_mbdiff: + artifact: {{ artifact_base_url }}/mbsdiff + s3_key: {{ s3_prefix }}mar-tools/linux64/mbsdiff + {% endif %} + + {% if platform == "mac" %} + buildinfo: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.json + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.json + mozinfo: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.mozinfo.json + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.mozinfo.json + socorroinfo: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.txt + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.txt + jsshell: + artifact: {{ artifact_base_url }}/jsshell-{{ platform }}.zip + s3_key: {{ s3_prefix }}jsshell-{{ platform }}.zip + mozharness_package: + artifact: {{ artifact_base_url }}/mozharness.zip + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/mozharness.zip + xpi: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.langpack.xpi + s3_key: {{ s3_prefix }}{{ platform }}/xpi/{{ locale }}.xpi + symbols: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.crashreporter-symbols.zip + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/Firefox {{ version }}.crashreporter-symbols.zip + buildid_info: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}_info.txt + s3_key: {{ s3_prefix }}macosx64_info.txt + sdk: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}-x86_64.sdk.tar.bz2 + s3_key: {{ s3_prefix }}firefox-{{ version }}.{{ platform }}-x86_64.sdk.tar.bz2 + mar_tools_mar: + artifact: {{ artifact_base_url }}/mar + s3_key: {{ s3_prefix }}mar-tools/macosx64/mar + mar_tools_mbdiff: + artifact: {{ artifact_base_url }}/mbsdiff + s3_key: {{ s3_prefix }}mar-tools/macosx64/mbsdiff + {% endif %} + +{% endfor %} diff --git a/testing/mozharness/configs/beetmover/en_us_signing.yml.tmpl b/testing/mozharness/configs/beetmover/en_us_signing.yml.tmpl new file mode 100644 index 000000000..54fc2c792 --- /dev/null +++ b/testing/mozharness/configs/beetmover/en_us_signing.yml.tmpl @@ -0,0 +1,66 @@ +--- +metadata: + name: "Beet Mover Manifest" + description: "Maps artifact locations to s3 key names for the en-US locale" + owner: "release@mozilla.com" + +mapping: +{% for locale in locales %} + {{ locale }}: + {% if platform == "win32" %} + complete_mar: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.complete.mar + s3_key: {{ s3_prefix }}update/{{ platform }}/{{ locale }}/firefox-{{ version }}.complete.mar + full_installer: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.installer.exe + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/Firefox Setup {{ version }}.exe + {% if "esr" not in version %} + stub_installer: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.installer-stub.exe + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/Firefox Setup Stub {{ version }}.exe + {% endif %} + package: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.zip + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.zip + {% endif %} + + {% if platform == "win64" %} + complete_mar: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.complete.mar + s3_key: {{ s3_prefix }}update/{{ platform }}/{{ locale }}/firefox-{{ version }}.complete.mar + full_installer: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.installer.exe + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/Firefox Setup {{ version }}.exe + package: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.zip + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.zip + {% endif %} + + {% if platform == "linux-i686" %} + complete_mar: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.complete.mar + s3_key: {{ s3_prefix }}update/{{ platform }}/{{ locale }}/firefox-{{ version }}.complete.mar + package: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.tar.bz2 + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.tar.bz2 + {% endif %} + + {% if platform == "linux-x86_64" %} + complete_mar: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.complete.mar + s3_key: {{ s3_prefix }}update/{{ platform }}/{{ locale }}/firefox-{{ version }}.complete.mar + package: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.tar.bz2 + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.tar.bz2 + {% endif %} + + {% if platform == "mac" %} + complete_mar: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.complete.mar + s3_key: {{ s3_prefix }}update/{{ platform }}/{{ locale }}/firefox-{{ version }}.complete.mar + package: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.dmg + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/Firefox {{ version }}.dmg + {% endif %} + +{% endfor %} diff --git a/testing/mozharness/configs/beetmover/l10n_changesets.tmpl b/testing/mozharness/configs/beetmover/l10n_changesets.tmpl new file mode 100644 index 000000000..bde4bc8a7 --- /dev/null +++ b/testing/mozharness/configs/beetmover/l10n_changesets.tmpl @@ -0,0 +1,11 @@ +--- +metadata: + name: "Beet Mover L10N Changesets" + description: "Maps artifact locations to s3 key names for L10N changesets" + owner: "release@mozilla.com" + +mapping: + all: + l10n_changesets: + artifact: {{ artifact_base_url }}/l10n_changesets.txt + s3_key: {{ s3_prefix }}l10n_changesets.txt diff --git a/testing/mozharness/configs/beetmover/partials.yml.tmpl b/testing/mozharness/configs/beetmover/partials.yml.tmpl new file mode 100644 index 000000000..a97ac42c0 --- /dev/null +++ b/testing/mozharness/configs/beetmover/partials.yml.tmpl @@ -0,0 +1,16 @@ +--- +metadata: + name: "Beet Mover Manifest" + description: "Maps artifact locations to s3 key names for partials" + owner: "release@mozilla.com" + +mapping: +{% for locale in locales %} + {{ locale }}: + partial_mar: + artifact: {{ artifact_base_url }}/firefox-{{ partial_version }}-{{ version }}.{{ locale }}.{{ platform }}.partial.mar + s3_key: {{ s3_prefix }}update/{{ platform }}/{{ locale }}/firefox-{{ partial_version }}-{{ version }}.partial.mar + partial_mar_sig: + artifact: {{ artifact_base_url }}/firefox-{{ partial_version }}-{{ version }}.{{ locale }}.{{ platform }}.partial.mar.asc + s3_key: {{ s3_prefix }}update/{{ platform }}/{{ locale }}/firefox-{{ partial_version }}-{{ version }}.partial.mar.asc +{% endfor %} diff --git a/testing/mozharness/configs/beetmover/repacks.yml.tmpl b/testing/mozharness/configs/beetmover/repacks.yml.tmpl new file mode 100644 index 000000000..c275ff3e8 --- /dev/null +++ b/testing/mozharness/configs/beetmover/repacks.yml.tmpl @@ -0,0 +1,65 @@ +--- +metadata: + name: "Beet Mover Manifest" + description: "Maps artifact locations to s3 key names for the non en-US locales" + owner: "release@mozilla.com" + +mapping: +{% for locale in locales %} + # common deliverables + {{ locale }}: + complete_mar: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.complete.mar + s3_key: {{ s3_prefix }}update/{{ platform }}/{{ locale }}/firefox-{{ version }}.complete.mar + checksum: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.checksums + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.checksums + checksum_sig: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.checksums.asc + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.checksums.asc + xpi: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.langpack.xpi + s3_key: {{ s3_prefix }}{{ platform }}/xpi/{{ locale }}.xpi + + {% if platform == "win32" %} + full_installer: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.installer.exe + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/Firefox Setup {{ version }}.exe + {% if "esr" not in version %} + stub_installer: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.installer-stub.exe + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/Firefox Setup Stub {{ version }}.exe + {% endif %} + package: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.zip + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.zip + {% endif %} + + {% if platform == "win64" %} + full_installer: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.installer.exe + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/Firefox Setup {{ version }}.exe + package: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.zip + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.zip + {% endif %} + + {% if platform == "linux-i686" %} + package: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.tar.bz2 + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.tar.bz2 + {% endif %} + + {% if platform == "linux-x86_64" %} + package: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.tar.bz2 + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/firefox-{{ version }}.tar.bz2 + {% endif %} + + {% if platform == "mac" %} + package: + artifact: {{ artifact_base_url }}/firefox-{{ app_version }}.{{ locale }}.{{ platform }}.dmg + s3_key: {{ s3_prefix }}{{ platform }}/{{ locale }}/Firefox {{ version }}.dmg + {% endif %} + +{% endfor %} diff --git a/testing/mozharness/configs/beetmover/snap.yml.tmpl b/testing/mozharness/configs/beetmover/snap.yml.tmpl new file mode 100644 index 000000000..afc8f35ce --- /dev/null +++ b/testing/mozharness/configs/beetmover/snap.yml.tmpl @@ -0,0 +1,11 @@ +--- +metadata: + name: "Beet Mover Manifest" + description: "Maps artifact locations to s3 key names for snap iamge" + owner: "release@mozilla.com" + +mapping: + all: + snap: + artifact: {{ artifact_base_url }}/firefox-{{ version }}.snap + s3_key: {{ s3_prefix }}snap/firefox-{{ version }}.snap diff --git a/testing/mozharness/configs/beetmover/snap_checksums.yml.tmpl b/testing/mozharness/configs/beetmover/snap_checksums.yml.tmpl new file mode 100644 index 000000000..aa905d38d --- /dev/null +++ b/testing/mozharness/configs/beetmover/snap_checksums.yml.tmpl @@ -0,0 +1,14 @@ +--- +metadata: + name: "Beet Mover Manifest" + description: "Maps artifact locations to s3 key names for snap checksums" + owner: "release@mozilla.com" + +mapping: + all: + snap_checksum: + artifact: {{ artifact_base_url }}/firefox-{{ version }}.snap.checksums + s3_key: {{ s3_prefix }}snap/firefox-{{ version }}.snap.checksums + snap_checksum_asc: + artifact: {{ artifact_base_url }}/firefox-{{ version }}.snap.checksums.asc + s3_key: {{ s3_prefix }}snap/firefox-{{ version }}.snap.checksums.asc diff --git a/testing/mozharness/configs/beetmover/source.yml.tmpl b/testing/mozharness/configs/beetmover/source.yml.tmpl new file mode 100644 index 000000000..f991f257c --- /dev/null +++ b/testing/mozharness/configs/beetmover/source.yml.tmpl @@ -0,0 +1,14 @@ +--- +metadata: + name: "Beet Mover Manifest" + description: "Maps artifact locations to s3 key names for source bundles" + owner: "release@mozilla.com" + +mapping: + all: + source_bundle: + artifact: {{ artifact_base_url }}/firefox-{{ version }}.bundle + s3_key: {{ s3_prefix }}source/firefox-{{ version }}.bundle + source_tar: + artifact: {{ artifact_base_url }}/firefox-{{ version }}.source.tar.xz + s3_key: {{ s3_prefix }}source/firefox-{{ version }}.source.tar.xz diff --git a/testing/mozharness/configs/beetmover/source_checksums.yml.tmpl b/testing/mozharness/configs/beetmover/source_checksums.yml.tmpl new file mode 100644 index 000000000..0dd228c24 --- /dev/null +++ b/testing/mozharness/configs/beetmover/source_checksums.yml.tmpl @@ -0,0 +1,14 @@ +--- +metadata: + name: "Beet Mover Manifest" + description: "Maps artifact locations to s3 key names for source bundle checksums" + owner: "release@mozilla.com" + +mapping: + all: + source_checksum: + artifact: {{ artifact_base_url }}/firefox-{{ version }}.source.checksums + s3_key: {{ s3_prefix }}source/firefox-{{ version }}.source.checksums + source_checksum_asc: + artifact: {{ artifact_base_url }}/firefox-{{ version }}.source.checksums.asc + s3_key: {{ s3_prefix }}source/firefox-{{ version }}.source.checksums.asc diff --git a/testing/mozharness/configs/builds/branch_specifics.py b/testing/mozharness/configs/builds/branch_specifics.py new file mode 100644 index 000000000..43f14c5ad --- /dev/null +++ b/testing/mozharness/configs/builds/branch_specifics.py @@ -0,0 +1,469 @@ +# this is a dict of branch specific keys/values. As this fills up and more +# fx build factories are ported, we might deal with this differently + +# we should be able to port this in-tree and have the respective repos and +# revisions handle what goes on in here. Tracking: bug 978510 + +# example config and explanation of how it works: +# config = { +# # if a branch matches a key below, override items in self.config with +# # items in the key's value. +# # this override can be done for every platform or at a platform level +# '<branch-name>': { +# # global config items (applies to all platforms and build types) +# 'repo_path': "projects/<branch-name>", +# 'graph_server_branch_name': "Firefox", +# +# # platform config items (applies to specific platforms) +# 'platform_overrides': { +# # if a platform matches a key below, override items in +# # self.config with items in the key's value +# 'linux64-debug': { +# 'upload_symbols': False, +# }, +# 'win64': { +# 'enable_checktests': False, +# }, +# } +# }, +# } + +config = { + ### release branches + "mozilla-central": { + "repo_path": 'mozilla-central', + "update_channel": "nightly", + "graph_server_branch_name": "Firefox", + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + 'mozilla-release': { + 'enable_release_promotion': True, + 'repo_path': 'releases/mozilla-release', + 'update_channel': 'release', + 'branch_uses_per_checkin_strategy': True, + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + 'platform_overrides': { + 'linux': { + 'src_mozconfig': 'browser/config/mozconfigs/linux32/release', + 'force_clobber': True, + }, + 'linux64': { + 'src_mozconfig': 'browser/config/mozconfigs/linux64/release', + 'force_clobber': True, + }, + 'macosx64': { + 'src_mozconfig': 'browser/config/mozconfigs/macosx-universal/release', + 'force_clobber': True, + }, + 'win32': { + 'src_mozconfig': 'browser/config/mozconfigs/win32/release', + 'force_clobber': True, + }, + 'win64': { + 'src_mozconfig': 'browser/config/mozconfigs/win64/release', + 'force_clobber': True, + }, + 'linux-debug': { + 'update_channel': 'default', + }, + 'linux64-debug': { + 'update_channel': 'default', + }, + 'linux64-asan-debug': { + 'update_channel': 'default', + }, + 'linux64-asan': { + 'update_channel': 'default', + }, + 'linux64-cc': { + 'update_channel': 'default', + }, + 'linux64-st-an-debug': { + 'update_channel': 'default', + }, + 'linux64-st-an': { + 'update_channel': 'default', + }, + 'linux64-tsan': { + 'update_channel': 'default', + }, + 'linux64-add-on-devel': { + 'update_channel': 'default', + }, + 'macosx64-debug': { + 'update_channel': 'default', + }, + 'macosx64-st-an': { + 'update_channel': 'default', + }, + 'macosx64-st-an-debug': { + 'update_channel': 'default', + }, + 'macosx64-add-on-devel': { + 'update_channel': 'default', + }, + 'win32-debug': { + 'update_channel': 'default', + }, + 'win32-add-on-devel': { + 'update_channel': 'default', + }, + 'win64-debug': { + 'update_channel': 'default', + }, + 'win64-add-on-devel': { + 'update_channel': 'default', + }, + }, + }, + 'mozilla-beta': { + 'enable_release_promotion': 1, + 'repo_path': 'releases/mozilla-beta', + 'update_channel': 'beta', + 'branch_uses_per_checkin_strategy': True, + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + 'platform_overrides': { + 'linux': { + 'src_mozconfig': 'browser/config/mozconfigs/linux32/beta', + 'force_clobber': True, + }, + 'linux64': { + 'src_mozconfig': 'browser/config/mozconfigs/linux64/beta', + 'force_clobber': True, + }, + 'macosx64': { + 'src_mozconfig': 'browser/config/mozconfigs/macosx-universal/beta', + 'force_clobber': True, + }, + 'win32': { + 'src_mozconfig': 'browser/config/mozconfigs/win32/beta', + 'force_clobber': True, + }, + 'win64': { + 'src_mozconfig': 'browser/config/mozconfigs/win64/beta', + 'force_clobber': True, + }, + 'linux-debug': { + 'update_channel': 'default', + }, + 'linux64-debug': { + 'update_channel': 'default', + }, + 'linux64-asan-debug': { + 'update_channel': 'default', + }, + 'linux64-asan': { + 'update_channel': 'default', + }, + 'linux64-cc': { + 'update_channel': 'default', + }, + 'linux64-st-an-debug': { + 'update_channel': 'default', + }, + 'linux64-st-an': { + 'update_channel': 'default', + }, + 'linux64-tsan': { + 'update_channel': 'default', + }, + 'linux64-add-on-devel': { + 'update_channel': 'default', + }, + 'macosx64-debug': { + 'update_channel': 'default', + }, + 'macosx64-st-an': { + 'update_channel': 'default', + }, + 'macosx64-st-an-debug': { + 'update_channel': 'default', + }, + 'macosx64-add-on-devel': { + 'update_channel': 'default', + }, + 'win32-debug': { + 'update_channel': 'default', + }, + 'win32-add-on-devel': { + 'update_channel': 'default', + }, + 'win64-debug': { + 'update_channel': 'default', + }, + 'win64-add-on-devel': { + 'update_channel': 'default', + }, + }, + }, + 'mozilla-esr52': { + 'enable_release_promotion': True, + 'repo_path': 'releases/mozilla-esr52', + 'update_channel': 'esr', + 'branch_uses_per_checkin_strategy': True, + 'use_branch_in_symbols_extra_buildid': False, + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + 'platform_overrides': { + 'linux': { + 'src_mozconfig': 'browser/config/mozconfigs/linux32/release', + 'force_clobber': True, + }, + 'linux64': { + 'src_mozconfig': 'browser/config/mozconfigs/linux64/release', + 'force_clobber': True, + }, + 'macosx64': { + 'src_mozconfig': 'browser/config/mozconfigs/macosx-universal/release', + 'force_clobber': True, + }, + 'win32': { + 'src_mozconfig': 'browser/config/mozconfigs/win32/release', + 'force_clobber': True, + }, + 'win64': { + 'src_mozconfig': 'browser/config/mozconfigs/win64/release', + 'force_clobber': True, + }, + 'linux-debug': { + 'update_channel': 'default', + }, + 'linux64-debug': { + 'update_channel': 'default', + }, + 'linux64-asan-debug': { + 'update_channel': 'default', + }, + 'linux64-asan': { + 'update_channel': 'default', + }, + 'linux64-cc': { + 'update_channel': 'default', + }, + 'linux64-st-an-debug': { + 'update_channel': 'default', + }, + 'linux64-st-an': { + 'update_channel': 'default', + }, + 'linux64-tsan': { + 'update_channel': 'default', + }, + 'macosx64-debug': { + 'update_channel': 'default', + }, + 'macosx64-st-an': { + 'update_channel': 'default', + }, + 'macosx64-st-an-debug': { + 'update_channel': 'default', + }, + 'win32-debug': { + 'update_channel': 'default', + }, + 'win64-debug': { + 'update_channel': 'default', + }, + }, + }, + 'mozilla-aurora': { + 'repo_path': 'releases/mozilla-aurora', + 'update_channel': 'aurora', + 'branch_uses_per_checkin_strategy': True, + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + 'try': { + 'repo_path': 'try', + 'clone_by_revision': True, + 'clone_with_purge': True, + 'tinderbox_build_dir': '%(who)s-%(got_revision)s', + 'to_tinderbox_dated': False, + 'include_post_upload_builddir': True, + 'release_to_try_builds': True, + 'stage_server': 'upload.trybld.productdelivery.prod.mozaws.net', + 'stage_username': 'trybld', + 'stage_ssh_key': 'trybld_dsa', + 'branch_supports_uploadsymbols': False, + 'use_clobberer': False, + }, + + ### project branches + #'fx-team': {}, #Bug 1296396 + 'gum': { + 'branch_uses_per_checkin_strategy': True, + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + 'mozilla-inbound': { + 'repo_path': 'integration/mozilla-inbound', + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + 'autoland': { + 'repo_path': 'integration/autoland', + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + 'ux': { + "graph_server_branch_name": "UX", + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + # When build promotion goes live the mozconfig changes are probably better + # expressed once in files like configs/builds/releng_base_windows_32_builds.py + 'date': { + 'update_channel': 'beta-dev', + 'enable_release_promotion': 1, + 'platform_overrides': { + 'linux': { + 'src_mozconfig': 'browser/config/mozconfigs/linux32/beta', + }, + 'linux-debug': { + 'update_channel': 'default', + }, + 'linux64': { + 'src_mozconfig': 'browser/config/mozconfigs/linux64/beta', + }, + 'linux64-debug': { + 'update_channel': 'default', + }, + 'linux64-asan-debug': { + 'update_channel': 'default', + }, + 'linux64-asan': { + 'update_channel': 'default', + }, + 'linux64-cc': { + 'update_channel': 'default', + }, + 'linux64-st-an-debug': { + 'update_channel': 'default', + }, + 'linux64-st-an': { + 'update_channel': 'default', + }, + 'linux64-tsan': { + 'update_channel': 'default', + }, + 'macosx64': { + 'src_mozconfig': 'browser/config/mozconfigs/macosx-universal/beta', + }, + 'macosx64-debug': { + 'update_channel': 'default', + }, + 'macosx64-st-an': { + 'update_channel': 'default', + }, + 'macosx64-st-an-debug': { + 'update_channel': 'default', + }, + 'win32': { + 'src_mozconfig': 'browser/config/mozconfigs/win32/beta', + }, + 'win32-debug': { + 'update_channel': 'default', + }, + 'win64': { + 'src_mozconfig': 'browser/config/mozconfigs/win64/beta', + }, + 'win64-debug': { + 'update_channel': 'default', + }, + }, + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + 'cypress': { + # bug 1164935 + 'branch_uses_per_checkin_strategy': True, + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + + ### other branches that do not require anything special: + 'alder': { + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + 'ash': { + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + 'birch': { + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + # 'build-system': {} + 'cedar': { + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + 'elm': { + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + 'fig': {}, + 'graphics': { + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + # 'holly': {}, + 'jamun': { + 'update_channel': 'release-dev', + 'enable_release_promotion': 1, + 'platform_overrides': { + 'linux': { + 'src_mozconfig': 'browser/config/mozconfigs/linux32/release', + }, + 'linux-debug': { + 'update_channel': 'default', + }, + 'linux64': { + 'src_mozconfig': 'browser/config/mozconfigs/linux64/release', + }, + 'linux64-debug': { + 'update_channel': 'default', + }, + 'linux64-asan-debug': { + 'update_channel': 'default', + }, + 'linux64-asan': { + 'update_channel': 'default', + }, + 'linux64-cc': { + 'update_channel': 'default', + }, + 'linux64-st-an-debug': { + 'update_channel': 'default', + }, + 'linux64-st-an': { + 'update_channel': 'default', + }, + 'linux64-tsan': { + 'update_channel': 'default', + }, + 'macosx64': { + 'src_mozconfig': 'browser/config/mozconfigs/macosx-universal/release', + }, + 'macosx64-debug': { + 'update_channel': 'default', + }, + 'macosx64-st-an': { + 'update_channel': 'default', + }, + 'macosx64-st-an-debug': { + 'update_channel': 'default', + }, + 'win32': { + 'src_mozconfig': 'browser/config/mozconfigs/win32/release', + }, + 'win32-debug': { + 'update_channel': 'default', + }, + 'win64': { + 'src_mozconfig': 'browser/config/mozconfigs/win64/release', + }, + 'win64-debug': { + 'update_channel': 'default', + }, + }, + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + 'larch': { + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + # 'maple': {}, + 'oak': { + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, + 'pine': { + 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + }, +} 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 000000000..8559b48b7 --- /dev/null +++ b/testing/mozharness/configs/builds/build_pool_specifics.py @@ -0,0 +1,44 @@ +# 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 = { + "staging": { + # if not clobberer_url, only clobber 'abs_work_dir' + # if true: possibly clobber, clobberer + # see PurgeMixin for clobber() conditions + 'clobberer_url': 'https://api-pub-build.allizom.org/clobberer/lastclobber', + # staging we should use MozillaTest + # but in production we let the self.branch decide via + # self._query_graph_server_branch_name() + "graph_server_branch_name": "MozillaTest", + 'graph_server': 'graphs.allizom.org', + 'stage_server': 'upload.ffxbld.productdelivery.stage.mozaws.net', + "sendchange_masters": ["dev-master1.srv.releng.scl3.mozilla.com:9038"], + 'taskcluster_index': 'index.garbage.staging', + 'post_upload_extra': ['--bucket-prefix', 'net-mozaws-stage-delivery', + '--url-prefix', 'http://ftp.stage.mozaws.net/', + ], + }, + "production": { + # if not clobberer_url, only clobber 'abs_work_dir' + # if true: possibly clobber, clobberer + # see PurgeMixin for clobber() conditions + 'clobberer_url': 'https://api.pub.build.mozilla.org/clobberer/lastclobber', + 'graph_server': 'graphs.mozilla.org', + # bug 1216907, set this at branch level + # 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net', + "sendchange_masters": ["buildbot-master81.build.mozilla.org:9301"], + 'taskcluster_index': 'index', + }, + "taskcluster": { + 'graph_server': 'graphs.mozilla.org', + 'stage_server': 'ignored', + # use the relengapi proxy to talk to tooltool + "tooltool_servers": ['http://relengapi/tooltool/'], + "tooltool_url": 'http://relengapi/tooltool/', + 'upload_env': { + 'UPLOAD_HOST': 'localhost', + 'UPLOAD_PATH': '/home/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 000000000..0ffd929c3 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_base_android_64_builds.py @@ -0,0 +1,111 @@ +import os + +config = { + ######################################################################### + ######## ANDROID GENERIC CONFIG KEYS/VAlUES + + # note: overridden by MOZHARNESS_ACTIONS in TaskCluster tasks + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + 'multi-l10n', + 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + "buildbot": "/tools/buildbot/bin/buildbot", + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': True, + # mock shtuff + 'mock_mozilla_dir': '/builds/mock_mozilla', + 'mock_target': 'mozilla-centos6-x86_64-android', + 'mock_files': [ + ('/home/cltbld/.ssh', '/home/mock_mozilla/.ssh'), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/home/cltbld/.boto', '/builds/.boto'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/builds/mozilla-api.key', '/builds/mozilla-api.key'), + ('/builds/mozilla-fennec-geoloc-api.key', '/builds/mozilla-fennec-geoloc-api.key'), + ('/builds/crash-stats-api.token', '/builds/crash-stats-api.token'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], + 'secret_files': [ + {'filename': '/builds/mozilla-fennec-geoloc-api.key', + 'secret_name': 'project/releng/gecko/build/level-%(scm-level)s/mozilla-fennec-geoloc-api.key', + 'min_scm_level': 2, 'default': 'try-build-has-no-secrets'}, + {'filename': '/builds/adjust-sdk.token', + 'secret_name': 'project/releng/gecko/build/level-%(scm-level)s/adjust-sdk.token', + 'min_scm_level': 2, 'default': 'try-build-has-no-secrets'}, + {'filename': '/builds/adjust-sdk-beta.token', + 'secret_name': 'project/releng/gecko/build/level-%(scm-level)s/adjust-sdk-beta.token', + 'min_scm_level': 2, 'default': 'try-build-has-no-secrets'}, + ], + 'enable_ccache': True, + 'vcs_share_base': '/builds/hg-shared', + 'objdir': 'obj-firefox', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': False, + 'enable_talos_sendchange': True, + 'enable_unittest_sendchange': True, + 'multi_locale': True, + ######################################################################### + + + ######################################################################### + 'base_name': 'Android 2.3 %(branch)s', + 'platform': 'android', + 'stage_platform': 'android', + 'stage_product': 'mobile', + 'publish_nightly_en_US_routes': True, + 'post_upload_include_platform': True, + 'enable_max_vsize': False, + 'use_package_as_marfile': True, + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'DISPLAY': ':2', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/bin:/usr/bin', + 'SHIP_LICENSED_FONTS': '1', + }, + 'upload_env': { + # stage_server is dictated from build_pool_specifics.py + 'UPLOAD_HOST': '%(stage_server)s', + 'UPLOAD_USER': '%(stage_username)s', + 'UPLOAD_SSH_KEY': '/home/mock_mozilla/.ssh/%(stage_ssh_key)s', + 'UPLOAD_TO_TEMP': '1', + }, + "check_test_env": { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/linux/minidump_stackwalk', + 'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps', + }, + 'mock_packages': ['autoconf213', 'mozilla-python27-mercurial', 'yasm', + 'ccache', 'zip', "gcc472_0moz1", "gcc473_0moz1", + 'java-1.7.0-openjdk-devel', 'zlib-devel', + 'glibc-static', 'openssh-clients', 'mpfr', + 'wget', 'glibc.i686', 'libstdc++.i686', + 'zlib.i686', 'freetype-2.3.11-6.el6_1.8.x86_64', + 'ant', 'ant-apache-regexp' + ], + 'src_mozconfig': 'mobile/android/config/mozconfigs/android/nightly', + 'tooltool_manifest_src': "mobile/android/config/tooltool-manifests/android/releng.manifest", + ######################################################################### +} diff --git a/testing/mozharness/configs/builds/releng_base_linux_32_builds.py b/testing/mozharness/configs/builds/releng_base_linux_32_builds.py new file mode 100644 index 000000000..393cf8983 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_base_linux_32_builds.py @@ -0,0 +1,160 @@ +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', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + 'check-test', + 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + "buildbot": "/tools/buildbot/bin/buildbot", + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': True, + # mock shtuff + 'mock_mozilla_dir': '/builds/mock_mozilla', + 'mock_target': 'mozilla-centos6-x86_64', + 'mock_files': [ + ('/home/cltbld/.ssh', '/home/mock_mozilla/.ssh'), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/home/cltbld/.boto', '/builds/.boto'), + ('/builds/gapi.data', '/builds/gapi.data'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/builds/mozilla-desktop-geoloc-api.key', '/builds/mozilla-desktop-geoloc-api.key'), + ('/builds/crash-stats-api.token', '/builds/crash-stats-api.token'), + ('/builds/adjust-sdk.token', '/builds/adjust-sdk.token'), + ('/builds/adjust-sdk-beta.token', '/builds/adjust-sdk-beta.token'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], + 'secret_files': [ + {'filename': '/builds/gapi.data', + 'secret_name': 'project/releng/gecko/build/level-%(scm-level)s/gapi.data', + 'min_scm_level': 2, 'default': 'try-build-has-no-secrets'}, + {'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'}, + {'filename': '/builds/adjust-sdk.token', + 'secret_name': 'project/releng/gecko/build/level-%(scm-level)s/adjust-sdk.token', + 'min_scm_level': 2, 'default': 'try-build-has-no-secrets'}, + {'filename': '/builds/adjust-sdk-beta.token', + 'secret_name': 'project/releng/gecko/build/level-%(scm-level)s/adjust-sdk-beta.token', + 'min_scm_level': 2, 'default': 'try-build-has-no-secrets'}, + ], + 'enable_ccache': True, + 'vcs_share_base': '/builds/hg-shared', + 'objdir': 'obj-firefox', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': True, + 'enable_talos_sendchange': True, + 'enable_unittest_sendchange': True, + ######################################################################### + + + ######################################################################### + ###### 32 bit specific ###### + 'base_name': 'Linux_%(branch)s', + 'platform': 'linux', + 'stage_platform': 'linux', + 'publish_nightly_en_US_routes': True, + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'DISPLAY': ':2', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + # 32 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib/ccache:\ +/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:\ +/tools/python27/bin:/tools/python27-mercurial/bin:/home/cltbld/bin', + 'LD_LIBRARY_PATH': "/tools/gcc-4.3.3/installed/lib", + }, + 'upload_env': { + # stage_server is dictated from build_pool_specifics.py + 'UPLOAD_HOST': '%(stage_server)s', + 'UPLOAD_USER': '%(stage_username)s', + 'UPLOAD_SSH_KEY': '/home/mock_mozilla/.ssh/%(stage_ssh_key)s', + 'UPLOAD_TO_TEMP': '1', + }, + "check_test_env": { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/linux/minidump_stackwalk', + 'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps', + }, + 'mock_packages': [ + 'autoconf213', 'python', 'mozilla-python27', 'zip', 'mozilla-python27-mercurial', + 'git', 'ccache', 'perl-Test-Simple', 'perl-Config-General', + 'yasm', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + ### <-- from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'valgrind', + ######## 32 bit specific ########### + 'glibc-static.i686', 'libstdc++-static.i686', + 'gtk2-devel.i686', 'libnotify-devel.i686', + 'alsa-lib-devel.i686', 'libcurl-devel.i686', + 'wireless-tools-devel.i686', 'libX11-devel.i686', + 'libXt-devel.i686', 'mesa-libGL-devel.i686', + 'gnome-vfs2-devel.i686', 'GConf2-devel.i686', + 'pulseaudio-libs-devel.i686', + 'gstreamer-devel.i686', 'gstreamer-plugins-base-devel.i686', + # Packages already installed in the mock environment, as x86_64 + # packages. + 'glibc-devel.i686', 'libgcc.i686', 'libstdc++-devel.i686', + # yum likes to install .x86_64 -devel packages that satisfy .i686 + # -devel packages dependencies. So manually install the dependencies + # of the above packages. + 'ORBit2-devel.i686', 'atk-devel.i686', 'cairo-devel.i686', + 'check-devel.i686', 'dbus-devel.i686', 'dbus-glib-devel.i686', + 'fontconfig-devel.i686', 'glib2-devel.i686', + 'hal-devel.i686', 'libICE-devel.i686', 'libIDL-devel.i686', + 'libSM-devel.i686', 'libXau-devel.i686', 'libXcomposite-devel.i686', + 'libXcursor-devel.i686', 'libXdamage-devel.i686', + 'libXdmcp-devel.i686', 'libXext-devel.i686', 'libXfixes-devel.i686', + 'libXft-devel.i686', 'libXi-devel.i686', 'libXinerama-devel.i686', + 'libXrandr-devel.i686', 'libXrender-devel.i686', + 'libXxf86vm-devel.i686', 'libdrm-devel.i686', 'libidn-devel.i686', + 'libpng-devel.i686', 'libxcb-devel.i686', 'libxml2-devel.i686', + 'pango-devel.i686', 'perl-devel.i686', 'pixman-devel.i686', + 'zlib-devel.i686', + # Freetype packages need to be installed be version, because a newer + # version is available, but we don't want it for Firefox builds. + 'freetype-2.3.11-6.el6_1.8.i686', + 'freetype-devel-2.3.11-6.el6_1.8.i686', + 'freetype-2.3.11-6.el6_1.8.x86_64', + ######## 32 bit specific ########### + ], + 'src_mozconfig': 'browser/config/mozconfigs/linux32/nightly', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/linux32/\ +releng.manifest", + ######################################################################### +} 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 000000000..fe04b73b5 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_base_linux_64_builds.py @@ -0,0 +1,139 @@ +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', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + 'check-test', + 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + "buildbot": "/tools/buildbot/bin/buildbot", + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': True, + # mock shtuff + 'mock_mozilla_dir': '/builds/mock_mozilla', + 'mock_target': 'mozilla-centos6-x86_64', + 'mock_files': [ + ('/home/cltbld/.ssh', '/home/mock_mozilla/.ssh'), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/home/cltbld/.boto', '/builds/.boto'), + ('/builds/gapi.data', '/builds/gapi.data'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/builds/mozilla-desktop-geoloc-api.key', '/builds/mozilla-desktop-geoloc-api.key'), + ('/builds/crash-stats-api.token', '/builds/crash-stats-api.token'), + ('/builds/adjust-sdk.token', '/builds/adjust-sdk.token'), + ('/builds/adjust-sdk-beta.token', '/builds/adjust-sdk-beta.token'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], + 'secret_files': [ + {'filename': '/builds/gapi.data', + 'secret_name': 'project/releng/gecko/build/level-%(scm-level)s/gapi.data', + 'min_scm_level': 2, 'default': 'try-build-has-no-secrets'}, + {'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'}, + {'filename': '/builds/adjust-sdk.token', + 'secret_name': 'project/releng/gecko/build/level-%(scm-level)s/adjust-sdk.token', + 'min_scm_level': 2, 'default': 'try-build-has-no-secrets'}, + {'filename': '/builds/adjust-sdk-beta.token', + 'secret_name': 'project/releng/gecko/build/level-%(scm-level)s/adjust-sdk-beta.token', + 'min_scm_level': 2, 'default': 'try-build-has-no-secrets'}, + ], + 'enable_ccache': True, + 'vcs_share_base': '/builds/hg-shared', + 'objdir': 'obj-firefox', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': True, + 'enable_talos_sendchange': True, + 'enable_unittest_sendchange': True, + ######################################################################### + + + ######################################################################### + ###### 64 bit specific ###### + 'base_name': 'Linux_x86-64_%(branch)s', + 'platform': 'linux64', + 'stage_platform': 'linux64', + 'publish_nightly_en_US_routes': True, + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'DISPLAY': ':2', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + ## 64 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + 'LD_LIBRARY_PATH': "/tools/gcc-4.3.3/installed/lib64", + ## + }, + 'upload_env': { + # stage_server is dictated from build_pool_specifics.py + 'UPLOAD_HOST': '%(stage_server)s', + 'UPLOAD_USER': '%(stage_username)s', + 'UPLOAD_SSH_KEY': '/home/mock_mozilla/.ssh/%(stage_ssh_key)s', + 'UPLOAD_TO_TEMP': '1', + }, + "check_test_env": { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/linux64/minidump_stackwalk', + 'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps', + }, + 'mock_packages': [ + 'autoconf213', 'python', 'mozilla-python27', 'zip', 'mozilla-python27-mercurial', + 'git', 'ccache', 'perl-Test-Simple', 'perl-Config-General', + 'yasm', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + ### <-- from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'valgrind', 'dbus-x11', + ######## 64 bit specific ########### + 'glibc-static', 'libstdc++-static', + 'gtk2-devel', 'libnotify-devel', + 'alsa-lib-devel', 'libcurl-devel', 'wireless-tools-devel', + 'libX11-devel', 'libXt-devel', 'mesa-libGL-devel', 'gnome-vfs2-devel', + 'GConf2-devel', + ### from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'pulseaudio-libs-devel', 'gstreamer-devel', + 'gstreamer-plugins-base-devel', 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64' + ], + 'src_mozconfig': 'browser/config/mozconfigs/linux64/nightly', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/linux64/\ +releng.manifest", + ######################################################################### +} diff --git a/testing/mozharness/configs/builds/releng_base_mac_64_builds.py b/testing/mozharness/configs/builds/releng_base_mac_64_builds.py new file mode 100644 index 000000000..e6e338ada --- /dev/null +++ b/testing/mozharness/configs/builds/releng_base_mac_64_builds.py @@ -0,0 +1,79 @@ +import os +import sys + +config = { + ######################################################################### + ######## MACOSX GENERIC CONFIG KEYS/VAlUES + + 'default_actions': [ + 'clobber', + 'clone-tools', + # 'setup-mock', + 'checkout-sources', + 'build', + 'upload-files', + 'sendchange', + 'check-test', + 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + 'python2.7': sys.executable, + "buildbot": "/tools/buildbot/bin/buildbot", + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': True, + 'enable_ccache': True, + 'vcs_share_base': '/builds/hg-shared', + 'objdir': 'obj-firefox/x86_64', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': False, + 'enable_talos_sendchange': True, + 'enable_unittest_sendchange': True, + ######################################################################### + + + ######################################################################### + ###### 64 bit specific ###### + 'base_name': 'OS X 10.7 %(branch)s', + 'platform': 'macosx64', + 'stage_platform': 'macosx64', + 'publish_nightly_en_US_routes': True, + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': 'obj-firefox', + 'CHOWN_ROOT': '~/bin/chown_root', + 'CHOWN_REVERT': '~/bin/chown_revert', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + ## 64 bit specific + 'PATH': '/tools/python/bin:/tools/buildbot/bin:/opt/local/bin:/usr/bin:' + '/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', + ## + }, + 'upload_env': { + # stage_server is dictated from build_pool_specifics.py + 'UPLOAD_HOST': '%(stage_server)s', + 'UPLOAD_USER': '%(stage_username)s', + 'UPLOAD_SSH_KEY': '/Users/cltbld/.ssh/%(stage_ssh_key)s', + 'UPLOAD_TO_TEMP': '1', + }, + "check_test_env": { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/osx64/minidump_stackwalk', + 'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps', + }, + 'src_mozconfig': 'browser/config/mozconfigs/macosx-universal/nightly', + 'tooltool_manifest_src': 'browser/config/tooltool-manifests/macosx64/releng.manifest', + ######################################################################### +} 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 000000000..47738e1ce --- /dev/null +++ b/testing/mozharness/configs/builds/releng_base_mac_64_cross_builds.py @@ -0,0 +1,83 @@ +import os +import sys + +config = { + ######################################################################### + ######## MACOSX CROSS GENERIC CONFIG KEYS/VAlUES + + # note: overridden by MOZHARNESS_ACTIONS in TaskCluster tasks + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'build', + 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + 'python2.7': sys.executable, + "buildbot": "/tools/buildbot/bin/buildbot", + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': True, + 'secret_files': [ + {'filename': '/builds/gapi.data', + 'secret_name': 'project/releng/gecko/build/level-%(scm-level)s/gapi.data', + 'min_scm_level': 2, 'default': 'try-build-has-no-secrets'}, + {'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_ccache': True, + 'enable_check_test': False, + 'vcs_share_base': '/builds/hg-shared', + 'objdir': 'obj-firefox/', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': False, + 'enable_talos_sendchange': True, + 'enable_unittest_sendchange': True, + ######################################################################### + + + ######################################################################### + ###### 64 bit specific ###### + 'base_name': 'OS X 10.7 %(branch)s', + 'platform': 'macosx64', + 'stage_platform': 'macosx64', + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + ## 64 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + ## + }, + 'upload_env': { + # stage_server is dictated from build_pool_specifics.py + 'UPLOAD_HOST': '%(stage_server)s', + 'UPLOAD_USER': '%(stage_username)s', + 'UPLOAD_SSH_KEY': '/Users/cltbld/.ssh/%(stage_ssh_key)s', + 'UPLOAD_TO_TEMP': '1', + }, + "check_test_env": { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/linux64/minidump_stackwalk', + 'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps', + }, + 'src_mozconfig': 'browser/config/mozconfigs/macosx64/nightly', + 'tooltool_manifest_src': 'browser/config/tooltool-manifests/macosx64/cross-releng.manifest', + ######################################################################### +} diff --git a/testing/mozharness/configs/builds/releng_base_windows_32_builds.py b/testing/mozharness/configs/builds/releng_base_windows_32_builds.py new file mode 100644 index 000000000..0a6708a1f --- /dev/null +++ b/testing/mozharness/configs/builds/releng_base_windows_32_builds.py @@ -0,0 +1,95 @@ +import os +import sys + +config = { + ######################################################################### + ######## WINDOWS 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_windows_32_builds.py + + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + # 'setup-mock', windows do not use mock + 'build', + 'upload-files', + 'sendchange', + 'check-test', + 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + 'python2.7': sys.executable, + "buildbot": [ + sys.executable, + 'c:\\mozilla-build\\buildbotve\\scripts\\buildbot' + ], + "make": [ + sys.executable, + os.path.join( + os.getcwd(), 'build', 'src', 'build', 'pymake', 'make.py' + ) + ], + 'virtualenv': [ + sys.executable, + 'c:/mozilla-build/buildbotve/virtualenv.py' + ], + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': True, + 'enable_ccache': False, + 'vcs_share_base': 'C:/builds/hg-shared', + 'objdir': 'obj-firefox', + 'tooltool_script': [sys.executable, + 'C:/mozilla-build/tooltool.py'], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': False, + 'enable_talos_sendchange': True, + 'enable_unittest_sendchange': True, + 'max_build_output_timeout': 60 * 80, + ######################################################################### + + + ######################################################################### + ###### 32 bit specific ###### + 'base_name': 'WINNT_5.2_%(branch)s', + 'platform': 'win32', + 'stage_platform': 'win32', + 'publish_nightly_en_US_routes': True, + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'BINSCOPE': 'C:/Program Files (x86)/Microsoft/SDL BinScope/BinScope.exe', + 'HG_SHARE_BASE_DIR': 'C:/builds/hg-shared', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'MOZ_OBJDIR': 'obj-firefox', + 'PATH': 'C:/mozilla-build/nsis-3.01;C:/mozilla-build/python27;' + 'C:/mozilla-build/buildbotve/scripts;' + '%s' % (os.environ.get('path')), + 'PDBSTR_PATH': '/c/Program Files (x86)/Windows Kits/8.0/Debuggers/x64/srcsrv/pdbstr.exe', + 'PROPERTIES_FILE': os.path.join(os.getcwd(), 'buildprops.json'), + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + }, + 'upload_env': { + # stage_server is dictated from build_pool_specifics.py + 'UPLOAD_HOST': '%(stage_server)s', + 'UPLOAD_USER': '%(stage_username)s', + 'UPLOAD_SSH_KEY': '/c/Users/cltbld/.ssh/%(stage_ssh_key)s', + 'UPLOAD_TO_TEMP': '1', + }, + "check_test_env": { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/win32/minidump_stackwalk.exe', + 'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps', + }, + 'enable_pymake': True, + 'src_mozconfig': 'browser/config/mozconfigs/win32/nightly', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/win32/releng.manifest", + ######################################################################### +} diff --git a/testing/mozharness/configs/builds/releng_base_windows_64_builds.py b/testing/mozharness/configs/builds/releng_base_windows_64_builds.py new file mode 100644 index 000000000..ab12fc982 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_base_windows_64_builds.py @@ -0,0 +1,93 @@ +import os +import sys + +config = { + ######################################################################### + ######## WINDOWS 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_windows_64_builds.py + + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + # 'setup-mock', windows do not use mock + 'build', + 'upload-files', + 'sendchange', + 'check-test', + 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + 'python2.7': sys.executable, + "buildbot": [ + sys.executable, + 'c:\\mozilla-build\\buildbotve\\scripts\\buildbot' + ], + "make": [ + sys.executable, + os.path.join( + os.getcwd(), 'build', 'src', 'build', 'pymake', 'make.py' + ) + ], + 'virtualenv': [ + sys.executable, + 'c:/mozilla-build/buildbotve/virtualenv.py' + ], + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': True, + 'enable_ccache': False, + 'vcs_share_base': 'C:/builds/hg-shared', + 'objdir': 'obj-firefox', + 'tooltool_script': [sys.executable, + 'C:/mozilla-build/tooltool.py'], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': False, + 'enable_talos_sendchange': True, + 'enable_unittest_sendchange': True, + 'max_build_output_timeout': 60 * 80, + ######################################################################### + + + ######################################################################### + ###### 64 bit specific ###### + 'base_name': 'WINNT_6.1_x86-64_%(branch)s', + 'platform': 'win64', + 'stage_platform': 'win64', + 'publish_nightly_en_US_routes': True, + 'env': { + 'MOZ_AUTOMATION': '1', + 'HG_SHARE_BASE_DIR': 'C:/builds/hg-shared', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'MOZ_OBJDIR': 'obj-firefox', + 'PATH': 'C:/mozilla-build/nsis-3.01;C:/mozilla-build/python27;' + 'C:/mozilla-build/buildbotve/scripts;' + '%s' % (os.environ.get('path')), + 'PDBSTR_PATH': '/c/Program Files (x86)/Windows Kits/8.0/Debuggers/x64/srcsrv/pdbstr.exe', + 'PROPERTIES_FILE': os.path.join(os.getcwd(), 'buildprops.json'), + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + }, + 'upload_env': { + # stage_server is dictated from build_pool_specifics.py + 'UPLOAD_HOST': '%(stage_server)s', + 'UPLOAD_USER': '%(stage_username)s', + 'UPLOAD_SSH_KEY': '/c/Users/cltbld/.ssh/%(stage_ssh_key)s', + 'UPLOAD_TO_TEMP': '1', + }, + "check_test_env": { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/win64/minidump_stackwalk.exe', + 'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps', + }, + 'enable_pymake': True, + 'src_mozconfig': 'browser/config/mozconfigs/win64/nightly', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/win64/releng.manifest", + ######################################################################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15.py new file mode 100644 index 000000000..f25060340 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15.py @@ -0,0 +1,8 @@ +config = { + 'base_name': 'Android armv7 API 15+ %(branch)s', + 'stage_platform': 'android-api-15', + 'build_type': 'api-15-opt', + 'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15/nightly', + 'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android/releng.manifest', + 'multi_locale_config_platform': 'android', +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_debug.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_debug.py new file mode 100644 index 000000000..22787e7f9 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_debug.py @@ -0,0 +1,9 @@ +config = { + 'base_name': 'Android armv7 API 15+ %(branch)s debug', + 'stage_platform': 'android-api-15-debug', + 'build_type': 'api-15-debug', + 'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15/debug', + 'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android/releng.manifest', + 'multi_locale_config_platform': 'android', + 'debug_build': True, +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle.py new file mode 100644 index 000000000..7c03fc1dc --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle.py @@ -0,0 +1,18 @@ +config = { + 'base_name': 'Android armv7 API 15+ %(branch)s Gradle', + 'stage_platform': 'android-api-15-gradle', + 'build_type': 'api-15-gradle', + 'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15-gradle/nightly', + 'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android/releng.manifest', + 'multi_locale_config_platform': 'android', + # It's not obvious, but postflight_build is after packaging, so the Gecko + # binaries are in the object directory, ready to be packaged into the + # GeckoView AAR. + 'postflight_build_mach_commands': [ + ['gradle', + 'geckoview:assembleWithGeckoBinaries', + 'geckoview_example:assembleWithGeckoBinaries', + 'uploadArchives', + ], + ], +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_dependencies.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_dependencies.py new file mode 100644 index 000000000..c8bee2562 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_dependencies.py @@ -0,0 +1,21 @@ +config = { + 'base_name': 'Android armv7 API 15+ Gradle dependencies %(branch)s', + 'stage_platform': 'android-api-15-gradle-dependencies', + 'build_type': 'api-15-opt', + 'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15-gradle-dependencies/nightly', + 'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android-gradle-dependencies/releng.manifest', + 'multi_locale_config_platform': 'android', + 'postflight_build_mach_commands': [ + ['gradle', + 'assembleAutomationRelease', + 'assembleAutomationDebug', + 'assembleAutomationDebugAndroidTest', + 'checkstyle', + # Does not include Gecko binaries -- see mobile/android/gradle/with_gecko_binaries.gradle. + 'geckoview:assembleWithoutGeckoBinaries', + # So that we pick up the test dependencies for the builders. + 'geckoview_example:assembleWithoutGeckoBinaries', + 'geckoview_example:assembleWithoutGeckoBinariesAndroidTest', + ], + ], +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_partner_sample1.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_partner_sample1.py new file mode 100644 index 000000000..d2e03f78c --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_partner_sample1.py @@ -0,0 +1,9 @@ +config = { + 'base_name': 'Android armv7 API 15+ partner Sample1 %(branch)s', + 'stage_platform': 'android-api-15-partner-sample1', + 'build_type': 'api-15-partner-sample1-opt', + 'src_mozconfig': None, # use manifest to determine mozconfig src + 'src_mozconfig_manifest': 'partner/mozconfigs/mozconfig1.json', + 'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android/releng.manifest', + 'multi_locale_config_platform': 'android', +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_checkstyle.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_checkstyle.py new file mode 100644 index 000000000..6643bcb1b --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_checkstyle.py @@ -0,0 +1,11 @@ +config = { + 'base_name': 'Android checkstyle %(branch)s', + 'stage_platform': 'android-checkstyle', + 'build_type': 'api-15-opt', + 'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15-frontend/nightly', + 'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android-frontend/releng.manifest', + 'multi_locale_config_platform': 'android', + 'postflight_build_mach_commands': [ + ['gradle', 'app:checkstyle'], + ], +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_lint.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_lint.py new file mode 100644 index 000000000..f377d416c --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_lint.py @@ -0,0 +1,11 @@ +config = { + 'base_name': 'Android lint %(branch)s', + 'stage_platform': 'android-lint', + 'build_type': 'api-15-opt', + 'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15-frontend/nightly', + 'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android-frontend/releng.manifest', + 'multi_locale_config_platform': 'android', + 'postflight_build_mach_commands': [ + ['gradle', 'app:lintAutomationDebug'], + ], +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_test.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_test.py new file mode 100644 index 000000000..3e1a1492f --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_test.py @@ -0,0 +1,11 @@ +config = { + 'base_name': 'Android armv7 unit tests %(branch)s', + 'stage_platform': 'android-test', + 'build_type': 'api-15-opt', + 'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15-frontend/nightly', + 'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android-frontend/releng.manifest', + 'multi_locale_config_platform': 'android', + 'postflight_build_mach_commands': [ + ['gradle', 'app:testAutomationDebugUnitTest'], + ], +} diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86.py new file mode 100644 index 000000000..288f0d65d --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86.py @@ -0,0 +1,8 @@ +config = { + 'base_name': 'Android 4.2 x86 %(branch)s', + 'stage_platform': 'android-x86', + 'publish_nightly_en_US_routes': False, + 'build_type': 'x86-opt', + 'src_mozconfig': 'mobile/android/config/mozconfigs/android-x86/nightly', + 'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android-x86/releng.manifest', +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/32_artifact.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_artifact.py new file mode 100644 index 000000000..f016d5606 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_artifact.py @@ -0,0 +1,116 @@ +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', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'sendchange', + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + "buildbot": "/tools/buildbot/bin/buildbot", + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': False, + 'enable_ccache': True, + 'vcs_share_base': '/builds/hg-shared', + 'objdir': 'obj-firefox', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': True, + 'enable_talos_sendchange': False, + # allows triggering of test jobs when --artifact try syntax is detected on buildbot + 'enable_unittest_sendchange': True, + ######################################################################### + + + ######################################################################### + ###### 32 bit specific ###### + 'base_name': 'Linux_%(branch)s_Artifact_build', + 'platform': 'linux', + 'stage_platform': 'linux', + 'publish_nightly_en_US_routes': False, + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'DISPLAY': ':2', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + # 32 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib/ccache:\ +/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:\ +/tools/python27/bin:/tools/python27-mercurial/bin:/home/cltbld/bin', + 'LD_LIBRARY_PATH': "/tools/gcc-4.3.3/installed/lib", + }, + 'mock_packages': [ + 'autoconf213', 'python', 'mozilla-python27', 'zip', 'mozilla-python27-mercurial', + 'git', 'ccache', 'perl-Test-Simple', 'perl-Config-General', + 'yasm', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + ### <-- from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'valgrind', + ######## 32 bit specific ########### + 'glibc-static.i686', 'libstdc++-static.i686', + 'gtk2-devel.i686', 'libnotify-devel.i686', + 'alsa-lib-devel.i686', 'libcurl-devel.i686', + 'wireless-tools-devel.i686', 'libX11-devel.i686', + 'libXt-devel.i686', 'mesa-libGL-devel.i686', + 'gnome-vfs2-devel.i686', 'GConf2-devel.i686', + 'pulseaudio-libs-devel.i686', + 'gstreamer-devel.i686', 'gstreamer-plugins-base-devel.i686', + # Packages already installed in the mock environment, as x86_64 + # packages. + 'glibc-devel.i686', 'libgcc.i686', 'libstdc++-devel.i686', + # yum likes to install .x86_64 -devel packages that satisfy .i686 + # -devel packages dependencies. So manually install the dependencies + # of the above packages. + 'ORBit2-devel.i686', 'atk-devel.i686', 'cairo-devel.i686', + 'check-devel.i686', 'dbus-devel.i686', 'dbus-glib-devel.i686', + 'fontconfig-devel.i686', 'glib2-devel.i686', + 'hal-devel.i686', 'libICE-devel.i686', 'libIDL-devel.i686', + 'libSM-devel.i686', 'libXau-devel.i686', 'libXcomposite-devel.i686', + 'libXcursor-devel.i686', 'libXdamage-devel.i686', + 'libXdmcp-devel.i686', 'libXext-devel.i686', 'libXfixes-devel.i686', + 'libXft-devel.i686', 'libXi-devel.i686', 'libXinerama-devel.i686', + 'libXrandr-devel.i686', 'libXrender-devel.i686', + 'libXxf86vm-devel.i686', 'libdrm-devel.i686', 'libidn-devel.i686', + 'libpng-devel.i686', 'libxcb-devel.i686', 'libxml2-devel.i686', + 'pango-devel.i686', 'perl-devel.i686', 'pixman-devel.i686', + 'zlib-devel.i686', + # Freetype packages need to be installed be version, because a newer + # version is available, but we don't want it for Firefox builds. + 'freetype-2.3.11-6.el6_1.8.i686', + 'freetype-devel-2.3.11-6.el6_1.8.i686', + 'freetype-2.3.11-6.el6_1.8.x86_64', + ######## 32 bit specific ########### + ], + 'src_mozconfig': 'browser/config/mozconfigs/linux32/artifact', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/linux32/\ +releng.manifest", + ######################################################################### +} 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 000000000..914bfdfe3 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_debug.py @@ -0,0 +1,45 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + 'check-test', + # 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + 'debug_build': True, + 'stage_platform': 'linux-debug', + 'enable_signing': False, + 'enable_talos_sendchange': False, + #### 32 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': MOZ_OBJDIR, + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + # 32 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + 'LD_LIBRARY_PATH': '/tools/gcc-4.3.3/installed/lib:\ +%s/dist/bin' % (MOZ_OBJDIR,), + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + 'TINDERBOX_OUTPUT': '1', + }, + 'src_mozconfig': 'browser/config/mozconfigs/linux32/debug', + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/32_debug_artifact.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_debug_artifact.py new file mode 100644 index 000000000..88ff8450a --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_debug_artifact.py @@ -0,0 +1,122 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +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', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'sendchange', + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + "buildbot": "/tools/buildbot/bin/buildbot", + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': False, + 'enable_ccache': True, + 'vcs_share_base': '/builds/hg-shared', + 'objdir': MOZ_OBJDIR, + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': True, + # debug specific + 'debug_build': True, + 'enable_talos_sendchange': False, + # allows triggering of test jobs when --artifact try syntax is detected on buildbot + 'enable_unittest_sendchange': True, + ######################################################################### + + + ######################################################################### + ###### 32 bit specific ###### + 'base_name': 'Linux_%(branch)s_Artifact_build', + 'platform': 'linux', + 'stage_platform': 'linux-debug', + 'publish_nightly_en_US_routes': False, + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'DISPLAY': ':2', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': MOZ_OBJDIR, + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + # debug-specific + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + # 32 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib/ccache:\ +/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:\ +/tools/python27/bin:/tools/python27-mercurial/bin:/home/cltbld/bin', + 'LD_LIBRARY_PATH': "/tools/gcc-4.3.3/installed/lib", + }, + 'mock_packages': [ + 'autoconf213', 'python', 'mozilla-python27', 'zip', 'mozilla-python27-mercurial', + 'git', 'ccache', 'perl-Test-Simple', 'perl-Config-General', + 'yasm', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + ### <-- from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'valgrind', + ######## 32 bit specific ########### + 'glibc-static.i686', 'libstdc++-static.i686', + 'gtk2-devel.i686', 'libnotify-devel.i686', + 'alsa-lib-devel.i686', 'libcurl-devel.i686', + 'wireless-tools-devel.i686', 'libX11-devel.i686', + 'libXt-devel.i686', 'mesa-libGL-devel.i686', + 'gnome-vfs2-devel.i686', 'GConf2-devel.i686', + 'pulseaudio-libs-devel.i686', + 'gstreamer-devel.i686', 'gstreamer-plugins-base-devel.i686', + # Packages already installed in the mock environment, as x86_64 + # packages. + 'glibc-devel.i686', 'libgcc.i686', 'libstdc++-devel.i686', + # yum likes to install .x86_64 -devel packages that satisfy .i686 + # -devel packages dependencies. So manually install the dependencies + # of the above packages. + 'ORBit2-devel.i686', 'atk-devel.i686', 'cairo-devel.i686', + 'check-devel.i686', 'dbus-devel.i686', 'dbus-glib-devel.i686', + 'fontconfig-devel.i686', 'glib2-devel.i686', + 'hal-devel.i686', 'libICE-devel.i686', 'libIDL-devel.i686', + 'libSM-devel.i686', 'libXau-devel.i686', 'libXcomposite-devel.i686', + 'libXcursor-devel.i686', 'libXdamage-devel.i686', + 'libXdmcp-devel.i686', 'libXext-devel.i686', 'libXfixes-devel.i686', + 'libXft-devel.i686', 'libXi-devel.i686', 'libXinerama-devel.i686', + 'libXrandr-devel.i686', 'libXrender-devel.i686', + 'libXxf86vm-devel.i686', 'libdrm-devel.i686', 'libidn-devel.i686', + 'libpng-devel.i686', 'libxcb-devel.i686', 'libxml2-devel.i686', + 'pango-devel.i686', 'perl-devel.i686', 'pixman-devel.i686', + 'zlib-devel.i686', + # Freetype packages need to be installed be version, because a newer + # version is available, but we don't want it for Firefox builds. + 'freetype-2.3.11-6.el6_1.8.i686', + 'freetype-devel-2.3.11-6.el6_1.8.i686', + 'freetype-2.3.11-6.el6_1.8.x86_64', + ######## 32 bit specific ########### + ], + 'src_mozconfig': 'browser/config/mozconfigs/linux32/debug-artifact', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/linux32/\ +releng.manifest", + ######################################################################### +} 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 000000000..98462a62f --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_add-on-devel.py @@ -0,0 +1,43 @@ +import os + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'upload-files', +# 'sendchange', + 'check-test', + # 'generate-build-stats', + # 'update', + ], + 'stage_platform': 'linux64-add-on-devel', + 'publish_nightly_en_US_routes': False, + 'build_type': 'add-on-devel', + 'platform_supports_post_upload_to_latest': False, + 'enable_signing': False, + 'enable_talos_sendchange': False, + #### 64 bit build specific ##### + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + ## 64 bit specific + 'PATH': '/home/worker/workspace/build/src/gcc/bin:/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + }, + 'src_mozconfig': 'browser/config/mozconfigs/linux64/add-on-devel', + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_artifact.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_artifact.py new file mode 100644 index 000000000..5cbc70ade --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_artifact.py @@ -0,0 +1,98 @@ +import os + +config = { + # note: overridden by MOZHARNESS_ACTIONS in TaskCluster tasks + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'sendchange', + # 'generate-build-stats', + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + "buildbot": "/tools/buildbot/bin/buildbot", + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': False, + 'secret_files': [ + {'filename': '/builds/gapi.data', + 'secret_name': 'project/releng/gecko/build/level-%(scm-level)s/gapi.data', + 'min_scm_level': 2, 'default': 'try-build-has-no-secrets'}, + {'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_ccache': True, + 'vcs_share_base': '/builds/hg-shared', + 'objdir': 'obj-firefox', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': True, + 'enable_talos_sendchange': False, + # allows triggering of test jobs when --artifact try syntax is detected on buildbot + 'enable_unittest_sendchange': True, + ######################################################################### + + + ######################################################################### + ###### 64 bit specific ###### + 'base_name': 'Linux_x86-64_%(branch)s_Artifact_build', + 'platform': 'linux64', + 'stage_platform': 'linux64', + 'publish_nightly_en_US_routes': False, + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'DISPLAY': ':2', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + ## 64 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + 'LD_LIBRARY_PATH': "/tools/gcc-4.3.3/installed/lib64", + ## + }, + 'mock_packages': [ + 'autoconf213', 'python', 'mozilla-python27', 'zip', 'mozilla-python27-mercurial', + 'git', 'ccache', 'perl-Test-Simple', 'perl-Config-General', + 'yasm', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + ### <-- from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'valgrind', 'dbus-x11', + ######## 64 bit specific ########### + 'glibc-static', 'libstdc++-static', + 'gtk2-devel', 'libnotify-devel', + 'alsa-lib-devel', 'libcurl-devel', 'wireless-tools-devel', + 'libX11-devel', 'libXt-devel', 'mesa-libGL-devel', 'gnome-vfs2-devel', + 'GConf2-devel', + ### from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'pulseaudio-libs-devel', 'gstreamer-devel', + 'gstreamer-plugins-base-devel', 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64' + ], + 'src_mozconfig': 'browser/config/mozconfigs/linux64/artifact', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/linux64/\ +releng.manifest", + ####################### +} 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 000000000..0f57520b5 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan.py @@ -0,0 +1,48 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + 'check-test', + # 'generate-build-stats', + # 'update', + ], + 'stage_platform': 'linux64-asan', + 'publish_nightly_en_US_routes': False, + 'build_type': 'asan', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/linux64/\ +asan.manifest", + 'platform_supports_post_upload_to_latest': False, + 'enable_signing': False, + 'enable_talos_sendchange': False, + #### 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': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + ## 64 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + }, + 'src_mozconfig': 'browser/config/mozconfigs/linux64/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 000000000..4ff6a9d2c --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_and_debug.py @@ -0,0 +1,49 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + 'check-test', + # 'generate-build-stats', + # 'update', + ], + 'stage_platform': 'linux64-asan-debug', + 'publish_nightly_en_US_routes': False, + 'build_type': 'asan-debug', + 'debug_build': True, + 'tooltool_manifest_src': "browser/config/tooltool-manifests/linux64/\ +asan.manifest", + 'platform_supports_post_upload_to_latest': False, + 'enable_signing': False, + 'enable_talos_sendchange': False, + #### 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': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + ## 64 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + }, + 'src_mozconfig': 'browser/config/mozconfigs/linux64/debug-asan', + ####################### +} 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 000000000..0f57520b5 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc.py @@ -0,0 +1,48 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + 'check-test', + # 'generate-build-stats', + # 'update', + ], + 'stage_platform': 'linux64-asan', + 'publish_nightly_en_US_routes': False, + 'build_type': 'asan', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/linux64/\ +asan.manifest", + 'platform_supports_post_upload_to_latest': False, + 'enable_signing': False, + 'enable_talos_sendchange': False, + #### 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': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + ## 64 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + }, + 'src_mozconfig': 'browser/config/mozconfigs/linux64/nightly-asan', + ####################### +} 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 000000000..4ff6a9d2c --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc_and_debug.py @@ -0,0 +1,49 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + 'check-test', + # 'generate-build-stats', + # 'update', + ], + 'stage_platform': 'linux64-asan-debug', + 'publish_nightly_en_US_routes': False, + 'build_type': 'asan-debug', + 'debug_build': True, + 'tooltool_manifest_src': "browser/config/tooltool-manifests/linux64/\ +asan.manifest", + 'platform_supports_post_upload_to_latest': False, + 'enable_signing': False, + 'enable_talos_sendchange': False, + #### 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': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + ## 64 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + }, + 'src_mozconfig': 'browser/config/mozconfigs/linux64/debug-asan', + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_code_coverage.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_code_coverage.py new file mode 100644 index 000000000..3ab4f25a3 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_code_coverage.py @@ -0,0 +1,45 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + 'check-test', + # 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + 'stage_platform': 'linux64-ccov', + 'platform_supports_post_upload_to_latest': False, + 'enable_signing': False, + 'enable_talos_sendchange': False, + 'enable_count_ctors': False, + #### 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': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + ## 64 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + }, + 'src_mozconfig': 'browser/config/mozconfigs/linux64/code-coverage', + ####################### +} 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 000000000..e97c82fcd --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_debug.py @@ -0,0 +1,45 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + 'check-test', + # 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + 'stage_platform': 'linux64-debug', + 'debug_build': True, + 'enable_signing': False, + 'enable_talos_sendchange': False, + #### 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': MOZ_OBJDIR, + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + # 64 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + 'LD_LIBRARY_PATH': '/tools/gcc-4.3.3/installed/lib64:\ +%s/dist/bin' % (MOZ_OBJDIR,), + 'TINDERBOX_OUTPUT': '1', + }, + 'src_mozconfig': 'browser/config/mozconfigs/linux64/debug', + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_debug_artifact.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_debug_artifact.py new file mode 100644 index 000000000..d3a82e476 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_debug_artifact.py @@ -0,0 +1,96 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + # note: overridden by MOZHARNESS_ACTIONS in TaskCluster tasks + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'sendchange', + # 'generate-build-stats', + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + "buildbot": "/tools/buildbot/bin/buildbot", + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + 'enable_ccache': True, + 'vcs_share_base': '/builds/hg-shared', + 'objdir': MOZ_OBJDIR, + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': True, + # debug specific + 'debug_build': True, + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': False, + 'enable_talos_sendchange': False, + # allows triggering of test jobs when --artifact try syntax is detected on buildbot + 'enable_unittest_sendchange': True, + ######################################################################### + + + ######################################################################### + ###### 64 bit specific ###### + 'base_name': 'Linux_x86-64_%(branch)s_Artifact_build', + 'platform': 'linux64', + 'stage_platform': 'linux64-debug', + 'publish_nightly_en_US_routes': False, + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'DISPLAY': ':2', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': MOZ_OBJDIR, + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + # debug-specific + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + ## 64 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + 'LD_LIBRARY_PATH': "/tools/gcc-4.3.3/installed/lib64", + ## + }, + 'mock_packages': [ + 'autoconf213', 'python', 'mozilla-python27', 'zip', 'mozilla-python27-mercurial', + 'git', 'ccache', 'perl-Test-Simple', 'perl-Config-General', + 'yasm', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + ### <-- from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'valgrind', 'dbus-x11', + ######## 64 bit specific ########### + 'glibc-static', 'libstdc++-static', + 'gtk2-devel', 'libnotify-devel', + 'alsa-lib-devel', 'libcurl-devel', 'wireless-tools-devel', + 'libX11-devel', 'libXt-devel', 'mesa-libGL-devel', 'gnome-vfs2-devel', + 'GConf2-devel', + ### from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'pulseaudio-libs-devel', 'gstreamer-devel', + 'gstreamer-plugins-base-devel', 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64' + ], + 'src_mozconfig': 'browser/config/mozconfigs/linux64/debug-artifact', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/linux64/\ +releng.manifest", + ####################### +} 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 000000000..dfc87cdf1 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_source.py @@ -0,0 +1,20 @@ +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'package-source', + 'generate-source-signing-manifest', + ], + 'stage_platform': 'source', # Not used, but required by the script + 'buildbot_json_path': 'buildprops.json', + 'app_ini_path': 'FAKE', # Not used, but required by the script + 'objdir': 'obj-firefox', + 'env': { + 'MOZ_OBJDIR': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'LC_ALL': 'C', + }, + '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 000000000..d4de036de --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_stat_and_debug.py @@ -0,0 +1,50 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + # 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + 'debug_build': True, + 'stage_platform': 'linux64-st-an-debug', + 'build_type': 'st-an-debug', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/linux64/\ +clang.manifest", + 'platform_supports_post_upload_to_latest': False, + 'enable_signing': False, + 'enable_talos_sendchange': False, + 'enable_unittest_sendchange': False, + #### 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': MOZ_OBJDIR, + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + # 64 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + }, + 'src_mozconfig': 'browser/config/mozconfigs/linux64/\ +debug-static-analysis-clang', + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_stat_and_opt.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_stat_and_opt.py new file mode 100644 index 000000000..496d89f96 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_stat_and_opt.py @@ -0,0 +1,88 @@ +import os + +config = { + # note: overridden by MOZHARNESS_ACTIONS in TaskCluster tasks + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + # 'generate-build-stats', + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + "buildbot": "/tools/buildbot/bin/buildbot", + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': False, + 'enable_ccache': True, + 'vcs_share_base': '/builds/hg-shared', + 'objdir': 'obj-firefox', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': True, + 'enable_talos_sendchange': False, + 'enable_unittest_sendchange': False, + ######################################################################### + + + ######################################################################### + ###### 64 bit specific ###### + 'base_name': 'Linux_x86-64_%(branch)s_Static_Analysis', + 'platform': 'linux64', + 'stage_platform': 'linux64-st-an', + 'publish_nightly_en_US_routes': False, + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'DISPLAY': ':2', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + ## 64 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + 'LD_LIBRARY_PATH': "/tools/gcc-4.3.3/installed/lib64", + ## + }, + 'mock_packages': [ + 'autoconf213', 'python', 'mozilla-python27', 'zip', 'mozilla-python27-mercurial', + 'git', 'ccache', 'perl-Test-Simple', 'perl-Config-General', + 'yasm', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + ### <-- from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'valgrind', 'dbus-x11', + ######## 64 bit specific ########### + 'glibc-static', 'libstdc++-static', + 'gtk2-devel', 'libnotify-devel', + 'alsa-lib-devel', 'libcurl-devel', 'wireless-tools-devel', + 'libX11-devel', 'libXt-devel', 'mesa-libGL-devel', 'gnome-vfs2-devel', + 'GConf2-devel', + ### from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'pulseaudio-libs-devel', 'gstreamer-devel', + 'gstreamer-plugins-base-devel', 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64' + ], + 'src_mozconfig': 'browser/config/mozconfigs/linux64/opt-static-analysis-clang', + 'tooltool_manifest_src': 'browser/config/tooltool-manifests/linux64/\ +clang.manifest.centos6', + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_tsan.py b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_tsan.py new file mode 100644 index 000000000..ae8ed6278 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_tsan.py @@ -0,0 +1,46 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + # 'check-test', + # 'generate-build-stats', + # 'update', + ], + 'stage_platform': 'linux64-tsan', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/linux64/\ +tsan.manifest", + 'platform_supports_post_upload_to_latest': False, + 'enable_signing': False, + 'enable_talos_sendchange': False, + #### 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': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + ## 64 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + }, + 'src_mozconfig': 'browser/config/mozconfigs/linux64/opt-tsan', + ####################### +} 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 000000000..97ffd84f8 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_valgrind.py @@ -0,0 +1,49 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + #'setup-mock', + 'build', + #'upload-files', + #'sendchange', + 'check-test', + 'valgrind-test', + #'generate-build-stats', + #'update', + ], + 'stage_platform': 'linux64-valgrind', + 'publish_nightly_en_US_routes': False, + 'build_type': 'valgrind', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/linux64/\ +releng.manifest", + 'platform_supports_post_upload_to_latest': False, + 'enable_signing': False, + 'enable_talos_sendchange': False, + #### 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': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + ## 64 bit specific + 'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\ +/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\ +/tools/python27-mercurial/bin:/home/cltbld/bin', + }, + 'src_mozconfig': 'browser/config/mozconfigs/linux64/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 000000000..d54c4d3a6 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_add-on-devel.py @@ -0,0 +1,44 @@ +import os + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', +# 'setup-mock', + 'build', + 'upload-files', +# 'sendchange', + 'check-test', +# 'generate-build-stats', +# 'update', + ], + 'stage_platform': 'macosx64-add-on-devel', + 'publish_nightly_en_US_routes': False, + 'build_type': 'add-on-devel', + 'platform_supports_post_upload_to_latest': False, + 'objdir': 'obj-firefox', + 'enable_signing': False, + 'enable_talos_sendchange': False, + #### 64 bit build specific ##### + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + ## 64 bit specific + 'PATH': '/tools/python/bin:/tools/buildbot/bin:/opt/local/bin:/usr/bin:' + '/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', + ## + }, + 'src_mozconfig': 'browser/config/mozconfigs/macosx64/add-on-devel', + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_artifact.py b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_artifact.py new file mode 100644 index 000000000..c4d74c145 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_artifact.py @@ -0,0 +1,65 @@ +import os +import sys + +config = { + ######################################################################### + ######## MACOSX GENERIC CONFIG KEYS/VAlUES + + 'default_actions': [ + 'clobber', + 'clone-tools', + # 'setup-mock', + 'checkout-sources', + 'build', + 'sendchange', + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + 'python2.7': sys.executable, + "buildbot": "/tools/buildbot/bin/buildbot", + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': False, + 'enable_ccache': True, + 'vcs_share_base': '/builds/hg-shared', + 'objdir': 'obj-firefox', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': False, + 'enable_talos_sendchange': False, + # allows triggering of test jobs when --artifact try syntax is detected on buildbot + 'enable_unittest_sendchange': True, + ######################################################################### + + + ######################################################################### + ###### 64 bit specific ###### + 'base_name': 'OS X 10.7 %(branch)s_Artifact_build', + 'platform': 'macosx64', + 'stage_platform': 'macosx64', + 'publish_nightly_en_US_routes': False, + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': 'obj-firefox', + 'CHOWN_ROOT': '~/bin/chown_root', + 'CHOWN_REVERT': '~/bin/chown_revert', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + ## 64 bit specific + 'PATH': '/tools/python/bin:/tools/buildbot/bin:/opt/local/bin:/usr/bin:' + '/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', + ## + }, + 'src_mozconfig': 'browser/config/mozconfigs/macosx64/artifact', + 'tooltool_manifest_src': 'browser/config/tooltool-manifests/macosx64/releng.manifest', + ######################################################################### +} 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 000000000..91cbdb62d --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_debug.py @@ -0,0 +1,43 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + # 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + # 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + 'stage_platform': 'macosx64-debug', + 'debug_build': True, + 'objdir': 'obj-firefox', + 'enable_talos_sendchange': False, + #### 64 bit build specific ##### + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + ## 64 bit specific + 'PATH': '/tools/python/bin:/tools/buildbot/bin:/opt/local/bin:/usr/bin:' + '/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', + ## + }, + 'src_mozconfig': 'browser/config/mozconfigs/macosx64/debug', + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_opt.py b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_opt.py new file mode 100644 index 000000000..f29800f14 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_opt.py @@ -0,0 +1,39 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + # 'setup-mock', + 'build', + ], + 'stage_platform': 'macosx64-st-an', + 'debug_build': False, + 'objdir': 'obj-firefox', + 'enable_talos_sendchange': False, + #### 64 bit build specific ##### + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + ## 64 bit specific + 'PATH': '/tools/python/bin:/tools/buildbot/bin:/opt/local/bin:/usr/bin:' + '/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', + ## + }, + 'src_mozconfig': 'browser/config/mozconfigs/macosx64/opt-static-analysis', + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_universal.py b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_universal.py new file mode 100644 index 000000000..c399b4f4d --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_universal.py @@ -0,0 +1,4 @@ +config = { + 'objdir': 'obj-firefox/x86_64', + 'src_mozconfig': 'browser/config/mozconfigs/macosx-universal/nightly', +} 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 000000000..374dc12d1 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_debug.py @@ -0,0 +1,44 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + # 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + 'check-test', + 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + 'stage_platform': 'macosx64-debug', + 'debug_build': True, + 'objdir': 'obj-firefox', + 'enable_talos_sendchange': False, + #### 64 bit build specific ##### + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': 'obj-firefox', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + ## 64 bit specific + 'PATH': '/tools/python/bin:/tools/buildbot/bin:/opt/local/bin:/usr/bin:' + '/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', + ## + }, + 'src_mozconfig': 'browser/config/mozconfigs/macosx64/debug', + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_debug_artifact.py b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_debug_artifact.py new file mode 100644 index 000000000..937ca1291 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_debug_artifact.py @@ -0,0 +1,65 @@ +import os +import sys + +MOZ_OBJDIR = 'obj-firefox' + +config = { + ######################################################################### + ######## MACOSX GENERIC CONFIG KEYS/VAlUES + + 'default_actions': [ + 'clobber', + 'clone-tools', + # 'setup-mock', + 'checkout-sources', + 'build', + 'sendchange', + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + 'python2.7': sys.executable, + "buildbot": "/tools/buildbot/bin/buildbot", + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': False, + 'enable_ccache': True, + 'vcs_share_base': '/builds/hg-shared', + 'objdir': MOZ_OBJDIR, + # debug specific + 'debug_build': True, + 'enable_talos_sendchange': False, + # allows triggering of test jobs when --artifact try syntax is detected on buildbot + 'enable_unittest_sendchange': True, + ######################################################################### + + + ######################################################################### + ###### 64 bit specific ###### + 'base_name': 'OS X 10.7 %(branch)s_Artifact_build', + 'platform': 'macosx64', + 'stage_platform': 'macosx64-debug', + 'publish_nightly_en_US_routes': False, + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': MOZ_OBJDIR, + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + # debug-specific + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + ## 64 bit specific + 'PATH': '/tools/python/bin:/tools/buildbot/bin:/opt/local/bin:/usr/bin:' + '/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', + ## + }, + 'src_mozconfig': 'browser/config/mozconfigs/macosx64/debug-artifact', + ######################################################################### +} 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 000000000..6dccae7ab --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_stat_and_debug.py @@ -0,0 +1,48 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + # 'setup-mock', + 'build', + 'upload-files', + 'sendchange', + # 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + 'debug_build': True, + 'stage_platform': 'macosx64-st-an-debug', + 'build_type': 'st-an-debug', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/macosx64/\ +clang.manifest", + 'platform_supports_post_upload_to_latest': False, + 'enable_signing': False, + 'enable_talos_sendchange': False, + 'enable_unittest_sendchange': False, + 'objdir': MOZ_OBJDIR, + #### 64 bit build specific ##### + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'HG_SHARE_BASE_DIR': '/builds/hg-shared', + 'MOZ_OBJDIR': MOZ_OBJDIR, + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'CCACHE_DIR': '/builds/ccache', + 'CCACHE_COMPRESS': '1', + 'CCACHE_UMASK': '002', + 'LC_ALL': 'C', + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + # 64 bit specific + 'PATH': '/tools/python/bin:/tools/buildbot/bin:/opt/local/bin:/usr/bin:' + '/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', + }, + 'src_mozconfig': 'browser/config/mozconfigs/macosx64/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 000000000..ba108ab1f --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_add-on-devel.py @@ -0,0 +1,38 @@ +import os + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + # 'setup-mock', windows do not use mock + 'build', + 'upload-files', +# 'sendchange', + 'check-test', +# 'generate-build-stats', +# 'update', + ], + 'stage_platform': 'win32-add-on-devel', + 'build_type': 'add-on-devel', + 'enable_talos_sendchange': False, + #### 32 bit build specific ##### + 'env': { + 'BINSCOPE': 'C:/Program Files (x86)/Microsoft/SDL BinScope/BinScope.exe', + 'HG_SHARE_BASE_DIR': 'C:/builds/hg-shared', + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'MOZ_OBJDIR': 'obj-firefox', + 'PATH': 'C:/mozilla-build/nsis-3.01;C:/mozilla-build/python27;' + 'C:/mozilla-build/buildbotve/scripts;' + '%s' % (os.environ.get('path')), + 'PROPERTIES_FILE': os.path.join(os.getcwd(), 'buildprops.json'), + 'TINDERBOX_OUTPUT': '1', + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + }, + 'src_mozconfig': 'browser/config/mozconfigs/win32/add-on-devel', + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_windows_configs/32_artifact.py b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_artifact.py new file mode 100644 index 000000000..8bf35fba3 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_artifact.py @@ -0,0 +1,81 @@ +import os +import sys + +config = { + ######################################################################### + ######## WINDOWS 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_windows_32_builds.py + + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + # 'setup-mock', windows do not use mock + 'build', + 'sendchange', + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + 'python2.7': sys.executable, + "buildbot": [ + sys.executable, + 'c:\\mozilla-build\\buildbotve\\scripts\\buildbot' + ], + "make": [ + sys.executable, + os.path.join( + os.getcwd(), 'build', 'src', 'build', 'pymake', 'make.py' + ) + ], + 'virtualenv': [ + sys.executable, + 'c:/mozilla-build/buildbotve/virtualenv.py' + ], + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': False, + 'enable_ccache': False, + 'vcs_share_base': 'C:/builds/hg-shared', + 'objdir': 'obj-firefox', + 'tooltool_script': [sys.executable, + 'C:/mozilla-build/tooltool.py'], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': False, + 'enable_talos_sendchange': False, + # allows triggering of test jobs when --artifact try syntax is detected on buildbot + 'enable_unittest_sendchange': True, + 'max_build_output_timeout': 60 * 80, + ######################################################################### + + + ######################################################################### + ###### 32 bit specific ###### + 'base_name': 'WINNT_5.2_%(branch)s_Artifact_build', + 'platform': 'win32', + 'stage_platform': 'win32', + 'publish_nightly_en_US_routes': False, + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'BINSCOPE': 'C:/Program Files (x86)/Microsoft/SDL BinScope/BinScope.exe', + 'HG_SHARE_BASE_DIR': 'C:/builds/hg-shared', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'MOZ_OBJDIR': 'obj-firefox', + 'PATH': 'C:/mozilla-build/nsis-3.0b1;C:/mozilla-build/python27;' + 'C:/mozilla-build/buildbotve/scripts;' + '%s' % (os.environ.get('path')), + 'PDBSTR_PATH': '/c/Program Files (x86)/Windows Kits/8.0/Debuggers/x64/srcsrv/pdbstr.exe', + 'PROPERTIES_FILE': os.path.join(os.getcwd(), 'buildprops.json'), + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + }, + 'enable_pymake': True, + 'src_mozconfig': 'browser/config/mozconfigs/win32/artifact', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/win32/releng.manifest", + ######################################################################### +} 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 000000000..d9b769505 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_debug.py @@ -0,0 +1,40 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + # 'setup-mock', windows do not use mock + 'build', + 'upload-files', + 'sendchange', + 'check-test', + 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + 'stage_platform': 'win32-debug', + 'debug_build': True, + 'enable_talos_sendchange': False, + #### 32 bit build specific ##### + 'env': { + 'BINSCOPE': 'C:/Program Files (x86)/Microsoft/SDL BinScope/BinScope.exe', + 'HG_SHARE_BASE_DIR': 'C:/builds/hg-shared', + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'MOZ_OBJDIR': 'obj-firefox', + 'PATH': 'C:/mozilla-build/nsis-3.01;C:/mozilla-build/python27;' + 'C:/mozilla-build/buildbotve/scripts;' + '%s' % (os.environ.get('path')), + 'PROPERTIES_FILE': os.path.join(os.getcwd(), 'buildprops.json'), + 'TINDERBOX_OUTPUT': '1', + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + }, + 'src_mozconfig': 'browser/config/mozconfigs/win32/debug', + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_windows_configs/32_debug_artifact.py b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_debug_artifact.py new file mode 100644 index 000000000..ad9b2eeaf --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_debug_artifact.py @@ -0,0 +1,86 @@ +import os +import sys + +MOZ_OBJDIR = 'obj-firefox' + +config = { + ######################################################################### + ######## WINDOWS 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_windows_32_builds.py + + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + # 'setup-mock', windows do not use mock + 'build', + 'sendchange', + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + 'python2.7': sys.executable, + "buildbot": [ + sys.executable, + 'c:\\mozilla-build\\buildbotve\\scripts\\buildbot' + ], + "make": [ + sys.executable, + os.path.join( + os.getcwd(), 'build', 'src', 'build', 'pymake', 'make.py' + ) + ], + 'virtualenv': [ + sys.executable, + 'c:/mozilla-build/buildbotve/virtualenv.py' + ], + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': False, + 'enable_ccache': False, + 'vcs_share_base': 'C:/builds/hg-shared', + 'objdir': MOZ_OBJDIR, + 'tooltool_script': [sys.executable, + 'C:/mozilla-build/tooltool.py'], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': False, + # debug specific + 'debug_build': True, + 'enable_talos_sendchange': False, + # allows triggering of test jobs when --artifact try syntax is detected on buildbot + 'enable_unittest_sendchange': True, + 'max_build_output_timeout': 60 * 80, + ######################################################################### + + + ######################################################################### + ###### 32 bit specific ###### + 'base_name': 'WINNT_5.2_%(branch)s_Artifact_build', + 'platform': 'win32', + 'stage_platform': 'win32-debug', + 'publish_nightly_en_US_routes': False, + 'env': { + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'BINSCOPE': 'C:/Program Files (x86)/Microsoft/SDL BinScope/BinScope.exe', + 'HG_SHARE_BASE_DIR': 'C:/builds/hg-shared', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'MOZ_OBJDIR': MOZ_OBJDIR, + 'PATH': 'C:/mozilla-build/nsis-3.0b1;C:/mozilla-build/python27;' + 'C:/mozilla-build/buildbotve/scripts;' + '%s' % (os.environ.get('path')), + 'PROPERTIES_FILE': os.path.join(os.getcwd(), 'buildprops.json'), + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + # debug-specific + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + }, + 'enable_pymake': True, + 'src_mozconfig': 'browser/config/mozconfigs/win32/debug-artifact', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/win32/releng.manifest", + ######################################################################### +} 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 000000000..e02703462 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_stat_and_debug.py @@ -0,0 +1,44 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + # 'setup-mock', windows do not use mock + 'build', + # 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + 'stage_platform': 'win32-st-an-debug', + 'debug_build': True, + 'enable_signing': False, + 'enable_talos_sendchange': False, + 'enable_unittest_sendchange': False, + 'tooltool_manifest_src': "browser/config/tooltool-manifests/win32/\ +clang.manifest", + 'platform_supports_post_upload_to_latest': False, + 'objdir': MOZ_OBJDIR, + #### 32 bit build specific ##### + 'env': { + 'BINSCOPE': 'C:/Program Files (x86)/Microsoft/SDL BinScope/BinScope.exe', + 'HG_SHARE_BASE_DIR': 'C:/builds/hg-shared', + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'MOZ_OBJDIR': 'obj-firefox', + 'PATH': 'C:/mozilla-build/nsis-3.01;C:/mozilla-build/python27;' + 'C:/mozilla-build/buildbotve/scripts;' + '%s' % (os.environ.get('path')), + 'PROPERTIES_FILE': os.path.join(os.getcwd(), 'buildprops.json'), + 'TINDERBOX_OUTPUT': '1', + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + }, + 'src_mozconfig': 'browser/config/mozconfigs/win32/debug-static-analysis', + 'purge_minsize': 9, + ####################### +} 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 000000000..8567c7e72 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/64_add-on-devel.py @@ -0,0 +1,37 @@ +import os + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + # 'setup-mock', windows do not use mock + 'build', + 'upload-files', +# 'sendchange', + 'check-test', +# 'generate-build-stats', +# 'update', + ], + 'stage_platform': 'win64-add-on-devel', + 'build_type': 'add-on-devel', + 'enable_talos_sendchange': False, + #### 64 bit build specific ##### + 'env': { + 'BINSCOPE': 'C:/Program Files (x86)/Microsoft/SDL BinScope/BinScope.exe', + 'HG_SHARE_BASE_DIR': 'C:/builds/hg-shared', + 'MOZ_AUTOMATION': '1', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'MOZ_OBJDIR': 'obj-firefox', + 'PATH': 'C:/mozilla-build/nsis-3.01;C:/mozilla-build/python27;' + 'C:/mozilla-build/buildbotve/scripts;' + '%s' % (os.environ.get('path')), + 'PROPERTIES_FILE': os.path.join(os.getcwd(), 'buildprops.json'), + 'TINDERBOX_OUTPUT': '1', + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + }, + 'src_mozconfig': 'browser/config/mozconfigs/win64/add-on-devel', + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_windows_configs/64_artifact.py b/testing/mozharness/configs/builds/releng_sub_windows_configs/64_artifact.py new file mode 100644 index 000000000..b99ebb6b3 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/64_artifact.py @@ -0,0 +1,79 @@ +import os +import sys + +config = { + ######################################################################### + ######## WINDOWS 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_windows_64_builds.py + + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + # 'setup-mock', windows do not use mock + 'build', + 'sendchange', + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + 'python2.7': sys.executable, + "buildbot": [ + sys.executable, + 'c:\\mozilla-build\\buildbotve\\scripts\\buildbot' + ], + "make": [ + sys.executable, + os.path.join( + os.getcwd(), 'build', 'src', 'build', 'pymake', 'make.py' + ) + ], + 'virtualenv': [ + sys.executable, + 'c:/mozilla-build/buildbotve/virtualenv.py' + ], + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': False, + 'enable_ccache': False, + 'vcs_share_base': 'C:/builds/hg-shared', + 'objdir': 'obj-firefox', + 'tooltool_script': [sys.executable, + 'C:/mozilla-build/tooltool.py'], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': False, + 'enable_talos_sendchange': False, + # allows triggering of test jobs when --artifact try syntax is detected on buildbot + 'enable_unittest_sendchange': True, + 'max_build_output_timeout': 60 * 80, + ######################################################################### + + + ######################################################################### + ###### 64 bit specific ###### + 'base_name': 'WINNT_6.1_x86-64_%(branch)s_Artifact_build', + 'platform': 'win64', + 'stage_platform': 'win64', + 'publish_nightly_en_US_routes': False, + 'env': { + 'MOZ_AUTOMATION': '1', + 'HG_SHARE_BASE_DIR': 'C:/builds/hg-shared', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'MOZ_OBJDIR': 'obj-firefox', + 'PATH': 'C:/mozilla-build/nsis-3.0b1;C:/mozilla-build/python27;' + 'C:/mozilla-build/buildbotve/scripts;' + '%s' % (os.environ.get('path')), + 'PDBSTR_PATH': '/c/Program Files (x86)/Windows Kits/8.0/Debuggers/x64/srcsrv/pdbstr.exe', + 'PROPERTIES_FILE': os.path.join(os.getcwd(), 'buildprops.json'), + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + }, + 'enable_pymake': True, + 'src_mozconfig': 'browser/config/mozconfigs/win64/artifact', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/win64/releng.manifest", + ######################################################################### +} 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 000000000..e8145dea9 --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/64_debug.py @@ -0,0 +1,39 @@ +import os + +MOZ_OBJDIR = 'obj-firefox' + +config = { + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + # 'setup-mock', windows do not use mock + 'build', + 'upload-files', + 'sendchange', + 'check-test', + 'generate-build-stats', + 'update', # decided by query_is_nightly() + ], + 'stage_platform': 'win64-debug', + 'debug_build': True, + 'enable_talos_sendchange': False, + #### 64 bit build specific ##### + 'env': { + 'BINSCOPE': 'C:/Program Files (x86)/Microsoft/SDL BinScope/BinScope.exe', + 'HG_SHARE_BASE_DIR': 'C:/builds/hg-shared', + 'MOZ_AUTOMATION': '1', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'MOZ_OBJDIR': 'obj-firefox', + 'PATH': 'C:/mozilla-build/nsis-3.01;C:/mozilla-build/python27;' + 'C:/mozilla-build/buildbotve/scripts;' + '%s' % (os.environ.get('path')), + 'PROPERTIES_FILE': os.path.join(os.getcwd(), 'buildprops.json'), + 'TINDERBOX_OUTPUT': '1', + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + }, + 'src_mozconfig': 'browser/config/mozconfigs/win64/debug', + ####################### +} diff --git a/testing/mozharness/configs/builds/releng_sub_windows_configs/64_debug_artifact.py b/testing/mozharness/configs/builds/releng_sub_windows_configs/64_debug_artifact.py new file mode 100644 index 000000000..892a6622d --- /dev/null +++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/64_debug_artifact.py @@ -0,0 +1,85 @@ +import os +import sys + +MOZ_OBJDIR = 'obj-firefox' + +config = { + ######################################################################### + ######## WINDOWS 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_windows_64_builds.py + + 'default_actions': [ + 'clobber', + 'clone-tools', + 'checkout-sources', + # 'setup-mock', windows do not use mock + 'build', + 'sendchange', + ], + "buildbot_json_path": "buildprops.json", + 'exes': { + 'python2.7': sys.executable, + "buildbot": [ + sys.executable, + 'c:\\mozilla-build\\buildbotve\\scripts\\buildbot' + ], + "make": [ + sys.executable, + os.path.join( + os.getcwd(), 'build', 'src', 'build', 'pymake', 'make.py' + ) + ], + 'virtualenv': [ + sys.executable, + 'c:/mozilla-build/buildbotve/virtualenv.py' + ], + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': False, + 'enable_ccache': False, + 'vcs_share_base': 'C:/builds/hg-shared', + 'objdir': MOZ_OBJDIR, + 'tooltool_script': [sys.executable, + 'C:/mozilla-build/tooltool.py'], + 'tooltool_bootstrap': "setup.sh", + 'enable_count_ctors': False, + # debug specific + 'debug_build': True, + 'enable_talos_sendchange': False, + # allows triggering of test jobs when --artifact try syntax is detected on buildbot + 'enable_unittest_sendchange': True, + 'max_build_output_timeout': 60 * 80, + ######################################################################### + + + ######################################################################### + ###### 64 bit specific ###### + 'base_name': 'WINNT_6.1_x86-64_%(branch)s_Artifact_build', + 'platform': 'win64', + 'stage_platform': 'win64-debug', + 'publish_nightly_en_US_routes': False, + 'env': { + 'BINSCOPE': 'C:/Program Files (x86)/Microsoft/SDL BinScope/BinScope.exe', + 'MOZ_AUTOMATION': '1', + 'HG_SHARE_BASE_DIR': 'C:/builds/hg-shared', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'MOZ_OBJDIR': MOZ_OBJDIR, + 'PATH': 'C:/mozilla-build/nsis-3.0b1;C:/mozilla-build/python27;' + 'C:/mozilla-build/buildbotve/scripts;' + '%s' % (os.environ.get('path')), + 'PROPERTIES_FILE': os.path.join(os.getcwd(), 'buildprops.json'), + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + # debug-specific + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + }, + 'enable_pymake': True, + 'src_mozconfig': 'browser/config/mozconfigs/win64/debug-artifact', + 'tooltool_manifest_src': "browser/config/tooltool-manifests/win64/releng.manifest", + ######################################################################### +} diff --git a/testing/mozharness/configs/builds/taskcluster_firefox_win32_debug.py b/testing/mozharness/configs/builds/taskcluster_firefox_win32_debug.py new file mode 100644 index 000000000..ed53474ad --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_firefox_win32_debug.py @@ -0,0 +1,91 @@ +import os +import sys + +config = { + ######################################################################### + ######## WINDOWS 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 between: + # - taskcluster_firefox_win32_debug + # - taskcluster_firefox_win32_opt + # - taskcluster_firefox_win64_debug + # - taskcluster_firefox_win64_opt + + 'default_actions': [ + 'clone-tools', + 'build', + 'check-test', + ], + 'exes': { + 'python2.7': sys.executable, + 'make': [ + sys.executable, + os.path.join( + os.getcwd(), 'build', 'src', 'build', 'pymake', 'make.py' + ) + ], + 'virtualenv': [ + sys.executable, + os.path.join( + os.getcwd(), 'build', 'src', 'python', 'virtualenv', 'virtualenv.py' + ) + ], + 'mach-build': [ + os.path.join(os.environ['MOZILLABUILD'], 'msys', 'bin', 'bash.exe'), + os.path.join(os.getcwd(), 'build', 'src', 'mach'), + '--log-no-times', 'build', '-v' + ], + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': True, + 'enable_ccache': False, + 'vcs_share_base': os.path.join('y:', os.sep, 'hg-shared'), + 'objdir': 'obj-firefox', + 'tooltool_script': [ + sys.executable, + os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py') + ], + 'tooltool_bootstrap': 'setup.sh', + 'enable_count_ctors': False, + 'max_build_output_timeout': 60 * 80, + ######################################################################### + + + ######################################################################### + ###### 32 bit specific ###### + 'base_name': 'WINNT_5.2_%(branch)s', + 'platform': 'win32', + 'stage_platform': 'win32-debug', + 'debug_build': True, + 'publish_nightly_en_US_routes': True, + 'env': { + 'BINSCOPE': os.path.join( + os.environ['ProgramFiles(x86)'], 'Microsoft', 'SDL BinScope', 'BinScope.exe' + ), + 'HG_SHARE_BASE_DIR': os.path.join('y:', os.sep, 'hg-shared'), + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'MOZ_OBJDIR': 'obj-firefox', + 'PDBSTR_PATH': '/c/Program Files (x86)/Windows Kits/10/Debuggers/x86/srcsrv/pdbstr.exe', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + 'MSYSTEM': 'MINGW32', + }, + 'upload_env': { + 'UPLOAD_HOST': 'localhost', + 'UPLOAD_PATH': os.path.join(os.getcwd(), 'public', 'build'), + }, + "check_test_env": { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s\\breakpad\\win32\\minidump_stackwalk.exe', + 'MINIDUMP_SAVE_PATH': '%(base_work_dir)s\\minidumps', + }, + 'enable_pymake': True, + 'src_mozconfig': 'browser\\config\\mozconfigs\\win32\\debug', + 'tooltool_manifest_src': 'browser\\config\\tooltool-manifests\\win32\\releng.manifest', + ######################################################################### +} diff --git a/testing/mozharness/configs/builds/taskcluster_firefox_win32_opt.py b/testing/mozharness/configs/builds/taskcluster_firefox_win32_opt.py new file mode 100644 index 000000000..4a6502dce --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_firefox_win32_opt.py @@ -0,0 +1,89 @@ +import os +import sys + +config = { + ######################################################################### + ######## WINDOWS 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 between: + # - taskcluster_firefox_win32_debug + # - taskcluster_firefox_win32_opt + # - taskcluster_firefox_win64_debug + # - taskcluster_firefox_win64_opt + + 'default_actions': [ + 'clone-tools', + 'build', + 'check-test', + ], + 'exes': { + 'python2.7': sys.executable, + 'make': [ + sys.executable, + os.path.join( + os.getcwd(), 'build', 'src', 'build', 'pymake', 'make.py' + ) + ], + 'virtualenv': [ + sys.executable, + os.path.join( + os.getcwd(), 'build', 'src', 'python', 'virtualenv', 'virtualenv.py' + ) + ], + 'mach-build': [ + os.path.join(os.environ['MOZILLABUILD'], 'msys', 'bin', 'bash.exe'), + os.path.join(os.getcwd(), 'build', 'src', 'mach'), + '--log-no-times', 'build', '-v' + ], + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': True, + 'enable_ccache': False, + 'vcs_share_base': os.path.join('y:', os.sep, 'hg-shared'), + 'objdir': 'obj-firefox', + 'tooltool_script': [ + sys.executable, + os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py') + ], + 'tooltool_bootstrap': 'setup.sh', + 'enable_count_ctors': False, + 'max_build_output_timeout': 60 * 80, + ######################################################################### + + + ######################################################################### + ###### 32 bit specific ###### + 'base_name': 'WINNT_5.2_%(branch)s', + 'platform': 'win32', + 'stage_platform': 'win32', + 'publish_nightly_en_US_routes': True, + 'env': { + 'BINSCOPE': os.path.join( + os.environ['ProgramFiles(x86)'], 'Microsoft', 'SDL BinScope', 'BinScope.exe' + ), + 'HG_SHARE_BASE_DIR': os.path.join('y:', os.sep, 'hg-shared'), + 'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'), + 'MOZ_AUTOMATION': '1', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'MOZ_OBJDIR': 'obj-firefox', + 'PDBSTR_PATH': '/c/Program Files (x86)/Windows Kits/10/Debuggers/x86/srcsrv/pdbstr.exe', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + 'MSYSTEM': 'MINGW32', + }, + 'upload_env': { + 'UPLOAD_HOST': 'localhost', + 'UPLOAD_PATH': os.path.join(os.getcwd(), 'public', 'build'), + }, + "check_test_env": { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s\\breakpad\\win32\\minidump_stackwalk.exe', + 'MINIDUMP_SAVE_PATH': '%(base_work_dir)s\\minidumps', + }, + 'enable_pymake': True, + 'src_mozconfig': 'browser\\config\\mozconfigs\\win32\\nightly', + 'tooltool_manifest_src': 'browser\\config\\tooltool-manifests\\win32\\releng.manifest', + ######################################################################### +} diff --git a/testing/mozharness/configs/builds/taskcluster_firefox_win64_debug.py b/testing/mozharness/configs/builds/taskcluster_firefox_win64_debug.py new file mode 100644 index 000000000..687cf13c6 --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_firefox_win64_debug.py @@ -0,0 +1,87 @@ +import os +import sys + +config = { + ######################################################################### + ######## WINDOWS 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 between: + # - taskcluster_firefox_win32_debug + # - taskcluster_firefox_win32_opt + # - taskcluster_firefox_win64_debug + # - taskcluster_firefox_win64_opt + + 'default_actions': [ + 'clone-tools', + 'build', + 'check-test', + ], + 'exes': { + 'python2.7': sys.executable, + 'make': [ + sys.executable, + os.path.join( + os.getcwd(), 'build', 'src', 'build', 'pymake', 'make.py' + ) + ], + 'virtualenv': [ + sys.executable, + os.path.join( + os.getcwd(), 'build', 'src', 'python', 'virtualenv', 'virtualenv.py' + ) + ], + 'mach-build': [ + os.path.join(os.environ['MOZILLABUILD'], 'msys', 'bin', 'bash.exe'), + os.path.join(os.getcwd(), 'build', 'src', 'mach'), + '--log-no-times', 'build', '-v' + ], + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': True, + 'enable_ccache': False, + 'vcs_share_base': os.path.join('y:', os.sep, 'hg-shared'), + 'objdir': 'obj-firefox', + 'tooltool_script': [ + sys.executable, + os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py') + ], + 'tooltool_bootstrap': 'setup.sh', + 'enable_count_ctors': False, + 'max_build_output_timeout': 60 * 80, + ######################################################################### + + + ######################################################################### + ###### 64 bit specific ###### + 'base_name': 'WINNT_6.1_x86-64_%(branch)s', + 'platform': 'win64', + 'stage_platform': 'win64-debug', + 'debug_build': True, + 'publish_nightly_en_US_routes': True, + 'env': { + 'HG_SHARE_BASE_DIR': os.path.join('y:', os.sep, 'hg-shared'), + 'MOZ_AUTOMATION': '1', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'MOZ_OBJDIR': 'obj-firefox', + 'PDBSTR_PATH': '/c/Program Files (x86)/Windows Kits/10/Debuggers/x64/srcsrv/pdbstr.exe', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + 'XPCOM_DEBUG_BREAK': 'stack-and-abort', + 'MSYSTEM': 'MINGW32', + }, + 'upload_env': { + 'UPLOAD_HOST': 'localhost', + 'UPLOAD_PATH': os.path.join(os.getcwd(), 'public', 'build'), + }, + "check_test_env": { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s\\breakpad\\win64\\minidump_stackwalk.exe', + 'MINIDUMP_SAVE_PATH': '%(base_work_dir)s\\minidumps', + }, + 'enable_pymake': True, + 'src_mozconfig': 'browser\\config\\mozconfigs\\win64\\debug', + 'tooltool_manifest_src': 'browser\\config\\tooltool-manifests\\win64\\releng.manifest', + ######################################################################### +} diff --git a/testing/mozharness/configs/builds/taskcluster_firefox_win64_opt.py b/testing/mozharness/configs/builds/taskcluster_firefox_win64_opt.py new file mode 100644 index 000000000..ba9cc9350 --- /dev/null +++ b/testing/mozharness/configs/builds/taskcluster_firefox_win64_opt.py @@ -0,0 +1,85 @@ +import os +import sys + +config = { + ######################################################################### + ######## WINDOWS 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 between: + # - taskcluster_firefox_win32_debug + # - taskcluster_firefox_win32_opt + # - taskcluster_firefox_win64_debug + # - taskcluster_firefox_win64_opt + + 'default_actions': [ + 'clone-tools', + 'build', + 'check-test', + ], + 'exes': { + 'python2.7': sys.executable, + 'make': [ + sys.executable, + os.path.join( + os.getcwd(), 'build', 'src', 'build', 'pymake', 'make.py' + ) + ], + 'virtualenv': [ + sys.executable, + os.path.join( + os.getcwd(), 'build', 'src', 'python', 'virtualenv', 'virtualenv.py' + ) + ], + 'mach-build': [ + os.path.join(os.environ['MOZILLABUILD'], 'msys', 'bin', 'bash.exe'), + os.path.join(os.getcwd(), 'build', 'src', 'mach'), + '--log-no-times', 'build', '-v' + ], + }, + 'app_ini_path': '%(obj_dir)s/dist/bin/application.ini', + # decides whether we want to use moz_sign_cmd in env + 'enable_signing': True, + 'enable_ccache': False, + 'vcs_share_base': os.path.join('y:', os.sep, 'hg-shared'), + 'objdir': 'obj-firefox', + 'tooltool_script': [ + sys.executable, + os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py') + ], + 'tooltool_bootstrap': 'setup.sh', + 'enable_count_ctors': False, + 'max_build_output_timeout': 60 * 80, + ######################################################################### + + + ######################################################################### + ###### 64 bit specific ###### + 'base_name': 'WINNT_6.1_x86-64_%(branch)s', + 'platform': 'win64', + 'stage_platform': 'win64', + 'publish_nightly_en_US_routes': True, + 'env': { + 'HG_SHARE_BASE_DIR': os.path.join('y:', os.sep, 'hg-shared'), + 'MOZ_AUTOMATION': '1', + 'MOZ_CRASHREPORTER_NO_REPORT': '1', + 'MOZ_OBJDIR': 'obj-firefox', + 'PDBSTR_PATH': '/c/Program Files (x86)/Windows Kits/10/Debuggers/x64/srcsrv/pdbstr.exe', + 'TINDERBOX_OUTPUT': '1', + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + 'MSYSTEM': 'MINGW32', + }, + 'upload_env': { + 'UPLOAD_HOST': 'localhost', + 'UPLOAD_PATH': os.path.join(os.getcwd(), 'public', 'build'), + }, + "check_test_env": { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s\\breakpad\\win64\\minidump_stackwalk.exe', + 'MINIDUMP_SAVE_PATH': '%(base_work_dir)s\\minidumps', + }, + 'enable_pymake': True, + 'src_mozconfig': 'browser\\config\\mozconfigs\\win64\\nightly', + 'tooltool_manifest_src': 'browser\\config\\tooltool-manifests\\win64\\releng.manifest', + ######################################################################### +} diff --git a/testing/mozharness/configs/developer_config.py b/testing/mozharness/configs/developer_config.py new file mode 100644 index 000000000..49ddb6eb7 --- /dev/null +++ b/testing/mozharness/configs/developer_config.py @@ -0,0 +1,49 @@ +""" +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 +""" + +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"), + }, + + # Pip + "find_links": ["http://pypi.pub.build.mozilla.org/pub"], + "pip_index": False, + + # Talos related + "python_webserver": True, + "virtualenv_path": '%s/build/venv' % os.getcwd(), + "preflight_run_cmd_suites": [], + "postflight_run_cmd_suites": [], + + # Tooltool related + "download_tooltool": True, + "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://api.pub.build.mozilla.org/tooltool/sha512/372c89f9dccaf5ee3b9d35fd1cfeb089e1e5db3ff1c04e35aa3adc8800bc61a2ae10e321f37ae7bab20b56e60941f91bb003bcb22035902a73d70872e7bd3282", +} diff --git a/testing/mozharness/configs/disable_signing.py b/testing/mozharness/configs/disable_signing.py new file mode 100644 index 000000000..77fc85f2d --- /dev/null +++ b/testing/mozharness/configs/disable_signing.py @@ -0,0 +1,3 @@ +config = { + 'enable_signing': False, +} 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 000000000..5f6911b81 --- /dev/null +++ b/testing/mozharness/configs/firefox_ui_tests/qa_jenkins.py @@ -0,0 +1,19 @@ +# Default configuration as used by Mozmill CI (Jenkins) + + +config = { + # Tests run in mozmill-ci do not use RelEng infra + 'developer_mode': True, + + # PIP + 'find_links': ['http://pypi.pub.build.mozilla.org/pub'], + 'pip_index': False, + + # mozcrash support + 'download_minidump_stackwalk': True, + 'download_symbols': 'ondemand', + 'download_tooltool': True, + + # Disable proxxy because it isn't present in the QA environment. + 'proxxy': {}, +} 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 000000000..28baf6aef --- /dev/null +++ b/testing/mozharness/configs/firefox_ui_tests/releng_release.py @@ -0,0 +1,33 @@ +# Default configuration as used by Release Engineering for testing release/beta builds + +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') + ], + }, + + # PIP + 'find_links': ['http://pypi.pub.build.mozilla.org/pub'], + 'pip_index': False, + + # mozcrash support + 'download_minidump_stackwalk': True, + 'download_symbols': 'ondemand', + 'download_tooltool': True, +} 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 000000000..66fc72935 --- /dev/null +++ b/testing/mozharness/configs/firefox_ui_tests/taskcluster.py @@ -0,0 +1,11 @@ +# Config file for firefox ui tests run via TaskCluster. + +config = { + "find_links": [ + "http://pypi.pub.build.mozilla.org/pub", + ], + + "pip_index": False, + + "tooltool_cache": "/builds/tooltool_cache", +} diff --git a/testing/mozharness/configs/hazards/build_browser.py b/testing/mozharness/configs/hazards/build_browser.py new file mode 100644 index 000000000..a08efe925 --- /dev/null +++ b/testing/mozharness/configs/hazards/build_browser.py @@ -0,0 +1,4 @@ +config = { + 'build_command': "build.browser", + 'expect_file': "expect.browser.json", +} diff --git a/testing/mozharness/configs/hazards/build_shell.py b/testing/mozharness/configs/hazards/build_shell.py new file mode 100644 index 000000000..16135705a --- /dev/null +++ b/testing/mozharness/configs/hazards/build_shell.py @@ -0,0 +1,4 @@ +config = { + 'build_command': "build.shell", + 'expect_file': "expect.shell.json", +} diff --git a/testing/mozharness/configs/hazards/common.py b/testing/mozharness/configs/hazards/common.py new file mode 100644 index 000000000..f8d751044 --- /dev/null +++ b/testing/mozharness/configs/hazards/common.py @@ -0,0 +1,104 @@ +import os + +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +PYTHON_DIR = "/tools/python27" +SRCDIR = "source" + +config = { + "platform": "linux64", + "build_type": "br-haz", + "log_name": "hazards", + "shell-objdir": "obj-opt-js", + "analysis-dir": "analysis", + "analysis-objdir": "obj-analyzed", + "srcdir": SRCDIR, + "analysis-scriptdir": "js/src/devtools/rootAnalysis", + + # These paths are relative to the tooltool checkout location + "sixgill": "sixgill/usr/libexec/sixgill", + "sixgill_bin": "sixgill/usr/bin", + + "python": "python", + + "exes": { + 'gittool.py': '%(abs_tools_dir)s/buildfarm/utils/gittool.py', + 'tooltool.py': '/tools/tooltool.py', + "virtualenv": [PYTHON_DIR + "/bin/python", "/tools/misc-python/virtualenv.py"], + }, + + "force_clobber": True, + 'vcs_share_base': HG_SHARE_BASE_DIR, + + "repos": [{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + + "upload_remote_baseuri": 'https://ftp-ssl.mozilla.org/', + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"), + + "virtualenv_path": '%s/venv' % os.getcwd(), + 'tools_dir': "/tools", + 'compiler_manifest': "build/gcc.manifest", + 'b2g_compiler_manifest': "build/gcc-b2g.manifest", + 'sixgill_manifest': "build/sixgill.manifest", + + # Mock. + "mock_packages": [ + "autoconf213", "mozilla-python27-mercurial", "ccache", + "zip", "zlib-devel", "glibc-static", + "openssh-clients", "mpfr", "wget", "rsync", + + # For building the JS shell + "gmp-devel", "nspr", "nspr-devel", + + # For building the browser + "dbus-devel", "dbus-glib-devel", "hal-devel", + "libICE-devel", "libIDL-devel", + + # For mach resource-usage + "python-psutil", + + 'zip', 'git', + 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General', + 'gtk2-devel', 'libnotify-devel', 'yasm', + 'alsa-lib-devel', 'libcurl-devel', + 'wireless-tools-devel', 'libX11-devel', + 'libXt-devel', 'mesa-libGL-devel', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'pulseaudio-libs-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ("/tools/tooltool.py", "/tools/tooltool.py"), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], + "env_replacements": { + "pythondir": PYTHON_DIR, + "gccdir": "%(abs_work_dir)s/gcc", + "sixgilldir": "%(abs_work_dir)s/sixgill", + }, + "partial_env": { + "PATH": "%(pythondir)s/bin:%(gccdir)s/bin:%(PATH)s", + "LD_LIBRARY_PATH": "%(sixgilldir)s/usr/lib64", + + # Suppress the mercurial-setup check. When running in automation, this + # is redundant with MOZ_AUTOMATION, but a local developer-mode build + # will have the mach state directory set to a nonstandard location and + # therefore will always claim that mercurial-setup has not been run. + "I_PREFER_A_SUBOPTIMAL_MERCURIAL_EXPERIENCE": "1", + }, +} diff --git a/testing/mozharness/configs/marionette/prod_config.py b/testing/mozharness/configs/marionette/prod_config.py new file mode 100644 index 000000000..0d71c1cc3 --- /dev/null +++ b/testing/mozharness/configs/marionette/prod_config.py @@ -0,0 +1,56 @@ +# This is a template config file for marionette production. +import os + +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +config = { + # marionette options + "marionette_address": "localhost:2828", + "test_manifest": "unit-tests.ini", + + "vcs_share_base": HG_SHARE_BASE_DIR, + "exes": { + 'python': '/tools/buildbot/bin/python', + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + 'tooltool.py': "/tools/tooltool.py", + }, + + "find_links": [ + "http://pypi.pvt.build.mozilla.org/pub", + "http://pypi.pub.build.mozilla.org/pub", + ], + "pip_index": False, + + "buildbot_json_path": "buildprops.json", + + "default_actions": [ + 'clobber', + 'read-buildbot-config', + 'download-and-extract', + 'create-virtualenv', + 'install', + 'run-tests', + ], + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file" : os.path.join(os.getcwd(), "oauth.txt"), + "download_symbols": "ondemand", + "download_minidump_stackwalk": True, + "tooltool_cache": "/builds/tooltool_cache", + "suite_definitions": { + "marionette_desktop": { + "options": [ + "--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": "" + } + }, + "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 000000000..6a0f3eee3 --- /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": [ + "--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": "" + }, + }, +} diff --git a/testing/mozharness/configs/marionette/windows_config.py b/testing/mozharness/configs/marionette/windows_config.py new file mode 100644 index 000000000..039a459b2 --- /dev/null +++ b/testing/mozharness/configs/marionette/windows_config.py @@ -0,0 +1,57 @@ +# This is a template config file for marionette production on Windows. +import os +import sys + +config = { + # marionette options + "marionette_address": "localhost:2828", + "test_manifest": "unit-tests.ini", + + "virtualenv_python_dll": 'c:/mozilla-build/python27/python27.dll', + "virtualenv_path": 'venv', + "exes": { + 'python': 'c:/mozilla-build/python27/python', + 'virtualenv': ['c:/mozilla-build/python27/python', 'c:/mozilla-build/buildbotve/virtualenv.py'], + 'hg': 'c:/mozilla-build/hg/hg', + 'mozinstall': ['%s/build/venv/scripts/python' % os.getcwd(), + '%s/build/venv/scripts/mozinstall-script.py' % os.getcwd()], + 'tooltool.py': [sys.executable, 'C:/mozilla-build/tooltool.py'], + }, + + "find_links": [ + "http://pypi.pvt.build.mozilla.org/pub", + "http://pypi.pub.build.mozilla.org/pub", + ], + "pip_index": False, + + "buildbot_json_path": "buildprops.json", + + "default_actions": [ + 'clobber', + 'read-buildbot-config', + 'download-and-extract', + 'create-virtualenv', + 'install', + 'run-tests', + ], + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file" : os.path.join(os.getcwd(), "oauth.txt"), + "download_minidump_stackwalk": True, + "download_symbols": "ondemand", + "suite_definitions": { + "marionette_desktop": { + "options": [ + "--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": "" + }, + }, +} 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 000000000..fe3ed0c62 --- /dev/null +++ b/testing/mozharness/configs/marionette/windows_taskcluster_config.py @@ -0,0 +1,56 @@ +# This is a template config file for marionette production on Windows. +import os +import sys + +config = { + # marionette options + "marionette_address": "localhost:2828", + "test_manifest": "unit-tests.ini", + + "virtualenv_python_dll": os.path.join(os.path.dirname(sys.executable), 'python27.dll'), + "virtualenv_path": 'venv', + "exes": { + 'python': sys.executable, + 'virtualenv': [ + sys.executable, + os.path.join(os.path.dirname(sys.executable), 'Lib', 'site-packages', 'virtualenv.py') + ], + 'mozinstall': ['build/venv/scripts/python', 'build/venv/scripts/mozinstall-script.py'], + 'tooltool.py': [sys.executable, os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py')], + 'hg': os.path.join(os.environ['PROGRAMFILES'], 'Mercurial', 'hg') + }, + + "proxxy": {}, + "find_links": [ + "http://pypi.pub.build.mozilla.org/pub", + ], + "pip_index": False, + + "default_actions": [ + 'clobber', + 'download-and-extract', + 'create-virtualenv', + 'install', + 'run-tests', + ], + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file" : 'C:/builds/oauth.txt', + "download_minidump_stackwalk": True, + "download_symbols": "ondemand", + "suite_definitions": { + "marionette_desktop": { + "options": [ + "--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": "" + }, + }, +} diff --git a/testing/mozharness/configs/mediatests/buildbot_posix_config.py b/testing/mozharness/configs/mediatests/buildbot_posix_config.py new file mode 100644 index 000000000..8c30a9f28 --- /dev/null +++ b/testing/mozharness/configs/mediatests/buildbot_posix_config.py @@ -0,0 +1,50 @@ +import os +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': '/tools/buildbot/bin/python', + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + 'tooltool.py': "/tools/tooltool.py", + }, + + "find_links": [ + "http://pypi.pvt.build.mozilla.org/pub", + "http://pypi.pub.build.mozilla.org/pub", + ], + "pip_index": False, + + "buildbot_json_path": "buildprops.json", + + "default_actions": [ + 'clobber', + 'read-buildbot-config', + 'download-and-extract', + 'create-virtualenv', + 'install', + 'run-media-tests', + ], + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file" : os.path.join(os.getcwd(), "oauth.txt"), + "download_minidump_stackwalk": True, + "download_symbols": "ondemand", + + "suite_definitions": { + "media-tests": { + "options": [], + }, + "media-youtube-tests": { + "options": [ + "%(test_manifest)s" + ], + }, + }, +} diff --git a/testing/mozharness/configs/mediatests/buildbot_windows_config.py b/testing/mozharness/configs/mediatests/buildbot_windows_config.py new file mode 100644 index 000000000..270938378 --- /dev/null +++ b/testing/mozharness/configs/mediatests/buildbot_windows_config.py @@ -0,0 +1,56 @@ +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_python_dll": 'c:/mozilla-build/python27/python27.dll', + "virtualenv_path": 'venv', + "exes": { + 'python': 'c:/mozilla-build/python27/python', + 'virtualenv': ['c:/mozilla-build/python27/python', 'c:/mozilla-build/buildbotve/virtualenv.py'], + 'hg': 'c:/mozilla-build/hg/hg', + 'mozinstall': ['%s/build/venv/scripts/python' % os.getcwd(), + '%s/build/venv/scripts/mozinstall-script.py' % os.getcwd()], + 'tooltool.py': [sys.executable, 'C:/mozilla-build/tooltool.py'], + }, + + "find_links": [ + "http://pypi.pvt.build.mozilla.org/pub", + "http://pypi.pub.build.mozilla.org/pub", + ], + "pip_index": False, + + "buildbot_json_path": "buildprops.json", + + "default_actions": [ + 'clobber', + 'read-buildbot-config', + 'download-and-extract', + 'create-virtualenv', + 'install', + 'run-media-tests', + ], + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file" : os.path.join(os.getcwd(), "oauth.txt"), + "in_tree_config": "config/mozharness/marionette.py", + "download_minidump_stackwalk": True, + "download_symbols": "ondemand", + + "suite_definitions": { + "media-tests": { + "options": [], + }, + "media-youtube-tests": { + "options": [ + "%(test_manifest)s" + ], + }, + }, +} diff --git a/testing/mozharness/configs/mediatests/jenkins_config.py b/testing/mozharness/configs/mediatests/jenkins_config.py new file mode 100755 index 000000000..52de7221d --- /dev/null +++ b/testing/mozharness/configs/mediatests/jenkins_config.py @@ -0,0 +1,48 @@ +# Default configuration as used by Mozmill CI (Jenkins) + +import os +import platform +import sys + +import mozharness + + +external_tools_path = os.path.join( + os.path.abspath(os.path.dirname(os.path.dirname(mozharness.__file__))), + 'external_tools', +) + +config = { + # PIP + 'find_links': ['http://pypi.pub.build.mozilla.org/pub'], + 'pip_index': False, + + # mozcrash support + 'download_minidump_stackwalk': True, + 'download_symbols': 'ondemand', + 'download_tooltool': True, + + # Default test suite + 'test_suite': 'media-tests', + + 'suite_definitions': { + 'media-tests': { + 'options': [], + }, + 'media-youtube-tests': { + 'options': [ + '%(test_manifest)s' + ], + }, + }, + + 'default_actions': [ + 'clobber', + 'download-and-extract', + 'create-virtualenv', + 'install', + 'run-media-tests', + ], + +} + diff --git a/testing/mozharness/configs/mediatests/taskcluster_posix_config.py b/testing/mozharness/configs/mediatests/taskcluster_posix_config.py new file mode 100644 index 000000000..d02effa3d --- /dev/null +++ b/testing/mozharness/configs/mediatests/taskcluster_posix_config.py @@ -0,0 +1,47 @@ +import os +import mozharness + +external_tools_path = os.path.join( + os.path.abspath(os.path.dirname(os.path.dirname(mozharness.__file__))), + 'external_tools', +) + +config = { + # Python env + "virtualenv_path": 'venv', + "exes": { + 'python': '/tools/buildbot/bin/python', + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + 'tooltool.py': "/tools/tooltool.py", + }, + + # PIP + "find_links": [ + "http://pypi.pvt.build.mozilla.org/pub", + "http://pypi.pub.build.mozilla.org/pub", + ], + "pip_index": False, + + #mozcrash support + "download_minidump_stackwalk": True, + "download_symbols": "ondemand", + + "default_actions": [ + 'clobber', + 'download-and-extract', + 'create-virtualenv', + 'install', + 'run-media-tests', + ], + + "suite_definitions": { + "media-tests": { + "options": [], + }, + "media-youtube-tests": { + "options": [ + "%(test_manifest)s" + ], + }, + }, +} diff --git a/testing/mozharness/configs/mediatests/taskcluster_windows_config.py b/testing/mozharness/configs/mediatests/taskcluster_windows_config.py new file mode 100644 index 000000000..85bf8b525 --- /dev/null +++ b/testing/mozharness/configs/mediatests/taskcluster_windows_config.py @@ -0,0 +1,50 @@ +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_python_dll": os.path.join(os.path.dirname(sys.executable), 'python27.dll'), + "virtualenv_path": 'venv', + "exes": { + 'python': sys.executable, + 'virtualenv': [ + sys.executable, + os.path.join(os.path.dirname(sys.executable), 'Lib', 'site-packages', 'virtualenv.py') + ], + 'mozinstall': ['build/venv/scripts/python', 'build/venv/scripts/mozinstall-script.py'], + 'tooltool.py': [sys.executable, os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py')], + 'hg': os.path.join(os.environ['PROGRAMFILES'], 'Mercurial', 'hg') + }, + "proxxy": {}, + "find_links": [ + "http://pypi.pub.build.mozilla.org/pub", + ], + "pip_index": False, + + "download_minidump_stackwalk": True, + "download_symbols": "ondemand", + + "default_actions": [ + 'clobber', + 'download-and-extract', + 'create-virtualenv', + 'install', + 'run-media-tests', + ], + + "suite_definitions": { + "media-tests": { + "options": [], + }, + "media-youtube-tests": { + "options": [ + "%(test_manifest)s" + ], + }, + }, +} diff --git a/testing/mozharness/configs/merge_day/aurora_to_beta.py b/testing/mozharness/configs/merge_day/aurora_to_beta.py new file mode 100644 index 000000000..dc1fc4c83 --- /dev/null +++ b/testing/mozharness/configs/merge_day/aurora_to_beta.py @@ -0,0 +1,83 @@ +import os + +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") + +config = { + "log_name": "aurora_to_beta", + "version_files": [ + {"file": "browser/config/version.txt", "suffix": ""}, + {"file": "browser/config/version_display.txt", "suffix": "b1"}, + {"file": "config/milestone.txt", "suffix": ""}, + ], + "replacements": [ + # File, from, to + ("{}/{}".format(d, f), + "ac_add_options --with-branding=mobile/android/branding/aurora", + "ac_add_options --with-branding=mobile/android/branding/beta") + for d in ["mobile/android/config/mozconfigs/android-api-15/", + "mobile/android/config/mozconfigs/android-x86/"] + for f in ["debug", "nightly", "l10n-nightly"] + ] + [ + # File, from, to + ("{}/{}".format(d, f), + "ac_add_options --with-branding=browser/branding/aurora", + "ac_add_options --with-branding=browser/branding/nightly") + for d in ["browser/config/mozconfigs/linux32", + "browser/config/mozconfigs/linux64", + "browser/config/mozconfigs/win32", + "browser/config/mozconfigs/win64", + "browser/config/mozconfigs/macosx64"] + for f in ["debug", "nightly"] + ] + [ + # File, from, to + (f, "ac_add_options --with-branding=browser/branding/aurora", + "ac_add_options --enable-official-branding") + for f in ["browser/config/mozconfigs/linux32/l10n-mozconfig", + "browser/config/mozconfigs/linux64/l10n-mozconfig", + "browser/config/mozconfigs/win32/l10n-mozconfig", + "browser/config/mozconfigs/win64/l10n-mozconfig", + "browser/config/mozconfigs/macosx-universal/l10n-mozconfig", + "browser/config/mozconfigs/macosx64/l10n-mozconfig"] + ] + [ + ("browser/config/mozconfigs/macosx-universal/nightly", + "ac_add_options --with-branding=browser/branding/aurora", + "ac_add_options --with-branding=browser/branding/nightly"), + ("browser/confvars.sh", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-aurora", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-beta,firefox-mozilla-release"), + ("browser/confvars.sh", + "MAR_CHANNEL_ID=firefox-mozilla-aurora", + "MAR_CHANNEL_ID=firefox-mozilla-beta"), + ("browser/config/mozconfigs/whitelist", + "ac_add_options --with-branding=browser/branding/aurora", + "ac_add_options --with-branding=browser/branding/nightly"), + ] + [ + ("build/mozconfig.common", + "MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-0}", + "MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-1}"), + ("build/mozconfig.common", + "# Disable enforcing that add-ons are signed by the trusted root", + "# Enable enforcing that add-ons are signed by the trusted root") + ], + + "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'), + # "hg_share_base": None, + "tools_repo_url": "https://hg.mozilla.org/build/tools", + "tools_repo_branch": "default", + "from_repo_url": "ssh://hg.mozilla.org/releases/mozilla-aurora", + "to_repo_url": "ssh://hg.mozilla.org/releases/mozilla-beta", + + "base_tag": "FIREFOX_BETA_%(major_version)s_BASE", + "end_tag": "FIREFOX_BETA_%(major_version)s_END", + + "migration_behavior": "aurora_to_beta", + + "virtualenv_modules": [ + "requests==2.8.1", + ], + + "post_merge_builders": [], + "post_merge_nightly_branches": [ + # No nightlies on mozilla-beta + ], +} diff --git a/testing/mozharness/configs/merge_day/beta_to_release.py b/testing/mozharness/configs/merge_day/beta_to_release.py new file mode 100644 index 000000000..0316272bf --- /dev/null +++ b/testing/mozharness/configs/merge_day/beta_to_release.py @@ -0,0 +1,53 @@ +import os + +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") + +config = { + "log_name": "beta_to_release", + "copy_files": [ + { + "src": "browser/config/version.txt", + "dst": "browser/config/version_display.txt", + }, + ], + "replacements": [ + # File, from, to + ("{}/{}".format(d, f), + "ac_add_options --with-branding=mobile/android/branding/beta", + "ac_add_options --with-branding=mobile/android/branding/official") + for d in ["mobile/android/config/mozconfigs/android-api-15/", + "mobile/android/config/mozconfigs/android-x86/"] + for f in ["debug", "nightly", "l10n-nightly", "l10n-release", "release"] + ] + [ + # File, from, to + ("browser/confvars.sh", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-beta,firefox-mozilla-release", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-release"), + ("browser/confvars.sh", + "MAR_CHANNEL_ID=firefox-mozilla-beta", + "MAR_CHANNEL_ID=firefox-mozilla-release"), + ], + + "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'), + # "hg_share_base": None, + "tools_repo_url": "https://hg.mozilla.org/build/tools", + "tools_repo_branch": "default", + "from_repo_url": "ssh://hg.mozilla.org/releases/mozilla-beta", + "to_repo_url": "ssh://hg.mozilla.org/releases/mozilla-release", + + "base_tag": "FIREFOX_RELEASE_%(major_version)s_BASE", + "end_tag": "FIREFOX_RELEASE_%(major_version)s_END", + + "migration_behavior": "beta_to_release", + "require_remove_locales": False, + "pull_all_branches": True, + + "virtualenv_modules": [ + "requests==2.8.1", + ], + + "post_merge_builders": [], + "post_merge_nightly_branches": [ + # No nightlies on mozilla-release + ], +} diff --git a/testing/mozharness/configs/merge_day/bump_esr.py b/testing/mozharness/configs/merge_day/bump_esr.py new file mode 100644 index 000000000..48ab2e9de --- /dev/null +++ b/testing/mozharness/configs/merge_day/bump_esr.py @@ -0,0 +1,24 @@ +import os + +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") +config = { + "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'), + "log_name": "bump_esr", + "version_files": [ + {"file": "browser/config/version.txt", "suffix": ""}, + {"file": "browser/config/version_display.txt", "suffix": ""}, + {"file": "config/milestone.txt", "suffix": ""}, + ], + "tools_repo_url": "https://hg.mozilla.org/build/tools", + "tools_repo_branch": "default", + "to_repo_url": "ssh://hg.mozilla.org/releases/mozilla-esr52", + + "migration_behavior": "bump_second_digit", + "require_remove_locales": False, + "requires_head_merge": False, + "default_actions": [ + "clean-repos", + "pull", + "bump_second_digit" + ], +} diff --git a/testing/mozharness/configs/merge_day/central_to_aurora.py b/testing/mozharness/configs/merge_day/central_to_aurora.py new file mode 100644 index 000000000..36347f667 --- /dev/null +++ b/testing/mozharness/configs/merge_day/central_to_aurora.py @@ -0,0 +1,100 @@ +import os + +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") +config = { + "log_name": "central_to_aurora", + "version_files": [ + {"file": "browser/config/version.txt", "suffix": ""}, + {"file": "browser/config/version_display.txt", "suffix": ""}, + {"file": "config/milestone.txt", "suffix": ""}, + ], + "replacements": [ + # File, from, to + ("{}/{}".format(d, f), + "ac_add_options --with-branding=mobile/android/branding/nightly", + "ac_add_options --with-branding=mobile/android/branding/aurora") + for d in ["mobile/android/config/mozconfigs/android-api-15/", + "mobile/android/config/mozconfigs/android-x86/"] + for f in ["debug", "nightly", "l10n-nightly"] + ] + [ + # File, from, to + ("{}/{}".format(d, f), + "ac_add_options --with-branding=browser/branding/nightly", + "ac_add_options --with-branding=browser/branding/aurora") + for d in ["browser/config/mozconfigs/linux32", + "browser/config/mozconfigs/linux64", + "browser/config/mozconfigs/win32", + "browser/config/mozconfigs/win64", + "browser/config/mozconfigs/macosx64"] + for f in ["debug", "nightly", "l10n-mozconfig"] + ] + [ + # File, from, to + ("{}/l10n-nightly".format(d), + "ac_add_options --with-l10n-base=../../l10n-central", + "ac_add_options --with-l10n-base=..") + for d in ["mobile/android/config/mozconfigs/android-api-15/", + "mobile/android/config/mozconfigs/android-x86/"] + ] + [ + # File, from, to + (f, "ac_add_options --enable-profiling", "") for f in + ["mobile/android/config/mozconfigs/android-api-15/nightly", + "mobile/android/config/mozconfigs/android-x86/nightly", + "browser/config/mozconfigs/linux32/nightly", + "browser/config/mozconfigs/linux64/nightly", + "browser/config/mozconfigs/macosx-universal/nightly", + "browser/config/mozconfigs/win32/nightly", + "browser/config/mozconfigs/win64/nightly"] + ] + [ + # File, from, to + ("browser/confvars.sh", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-central", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-aurora"), + ("browser/confvars.sh", + "MAR_CHANNEL_ID=firefox-mozilla-central", + "MAR_CHANNEL_ID=firefox-mozilla-aurora"), + ("browser/config/mozconfigs/macosx-universal/nightly", + "ac_add_options --with-branding=browser/branding/nightly", + "ac_add_options --with-branding=browser/branding/aurora"), + ("browser/config/mozconfigs/macosx-universal/l10n-mozconfig", + "ac_add_options --with-branding=browser/branding/nightly", + "ac_add_options --with-branding=browser/branding/aurora"), + ("browser/config/mozconfigs/whitelist", + "ac_add_options --with-branding=browser/branding/nightly", + "ac_add_options --with-branding=browser/branding/aurora"), + ], + "locale_files": [ + "browser/locales/shipped-locales", + "browser/locales/all-locales", + "mobile/android/locales/maemo-locales", + "mobile/android/locales/all-locales" + ], + + "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'), + # "hg_share_base": None, + "tools_repo_url": "https://hg.mozilla.org/build/tools", + "tools_repo_branch": "default", + "from_repo_url": "ssh://hg.mozilla.org/mozilla-central", + "to_repo_url": "ssh://hg.mozilla.org/releases/mozilla-aurora", + + "base_tag": "FIREFOX_AURORA_%(major_version)s_BASE", + "end_tag": "FIREFOX_AURORA_%(major_version)s_END", + + "migration_behavior": "central_to_aurora", + + "balrog_rules_to_lock": [ + 8, # Fennec aurora channel + 10, # Firefox aurora channel + 18, # MetroFirefox aurora channel + ], + "balrog_credentials_file": "oauth.txt", + + "virtualenv_modules": [ + "requests==2.8.1", + ], + + "post_merge_builders": [], + "post_merge_nightly_branches": [ + "mozilla-central", + "mozilla-aurora", + ], +} diff --git a/testing/mozharness/configs/merge_day/release_to_esr.py b/testing/mozharness/configs/merge_day/release_to_esr.py new file mode 100644 index 000000000..358c583da --- /dev/null +++ b/testing/mozharness/configs/merge_day/release_to_esr.py @@ -0,0 +1,54 @@ +import os + +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") +NEW_ESR_REPO = "ssh://hg.mozilla.org/releases/mozilla-esr52" +OLD_ESR_REPO = "https://hg.mozilla.org/releases/mozilla-esr45" +OLD_ESR_CHANGESET = "d2d75f526882" + +config = { + "log_name": "relese_to_esr", + "version_files": [ + {"file": "browser/config/version.txt", "suffix": ""}, + {"file": "browser/config/version_display.txt", "suffix": ""}, + {"file": "config/milestone.txt", "suffix": ""}, + ], + "replacements": [ + # File, from, to + ("browser/confvars.sh", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-release", + "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-esr"), + ("browser/confvars.sh", + "MAR_CHANNEL_ID=firefox-mozilla-release", + "MAR_CHANNEL_ID=firefox-mozilla-esr"), + ("build/mozconfig.common", + "# Enable checking that add-ons are signed by the trusted root", + "# Disable checking that add-ons are signed by the trusted root"), + ("build/mozconfig.common", + "MOZ_ADDON_SIGNING=${MOZ_ADDON_SIGNING-1}", + "MOZ_ADDON_SIGNING=${MOZ_ADDON_SIGNING-0}"), + ("build/mozconfig.common", + "# Enable enforcing that add-ons are signed by the trusted root", + "# Disable enforcing that add-ons are signed by the trusted root"), + ("build/mozconfig.common", + "MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-1}", + "MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-0}"), + ], + "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'), + # "hg_share_base": None, + "tools_repo_url": "https://hg.mozilla.org/build/tools", + "tools_repo_branch": "default", + "from_repo_url": "ssh://hg.mozilla.org/releases/mozilla-release", + "to_repo_url": NEW_ESR_REPO, + + "base_tag": "FIREFOX_ESR_%(major_version)s_BASE", + "end_tag": "FIREFOX_ESR_%(major_version)s_END", + + "migration_behavior": "release_to_esr", + "require_remove_locales": False, + "transplant_patches": [ + {"repo": OLD_ESR_REPO, + "changeset": OLD_ESR_CHANGESET}, + ], + "requires_head_merge": False, + "pull_all_branches": True, +} diff --git a/testing/mozharness/configs/merge_day/staging_beta_migration.py b/testing/mozharness/configs/merge_day/staging_beta_migration.py new file mode 100644 index 000000000..9b6ac198e --- /dev/null +++ b/testing/mozharness/configs/merge_day/staging_beta_migration.py @@ -0,0 +1,22 @@ +# Use this script in conjunction with aurora_to_beta.py. +# mozharness/scripts/merge_day/gecko_migration.py -c \ +# mozharness/configs/merge_day/aurora_to_beta.py -c +# mozharness/configs/merge_day/staging_beta_migration.py ... +import os + +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") + +config = { + "log_name": "staging_beta", + + "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'), + "tools_repo_url": "https://hg.mozilla.org/build/tools", + "tools_repo_branch": "default", + "from_repo_url": "ssh://hg.mozilla.org/releases/mozilla-aurora", + "to_repo_url": "ssh://hg.mozilla.org/users/stage-ffxbld/mozilla-beta", + + "base_tag": "FIREFOX_BETA_%(major_version)s_BASE", + "end_tag": "FIREFOX_BETA_%(major_version)s_END", + + "migration_behavior": "aurora_to_beta", +} diff --git a/testing/mozharness/configs/multi_locale/android-mozharness-build.json b/testing/mozharness/configs/multi_locale/android-mozharness-build.json new file mode 100644 index 000000000..b28f5c015 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/android-mozharness-build.json @@ -0,0 +1,5 @@ +{ + "work_dir": "build", + "locales_file": "src/mobile/android/locales/maemo-locales", + "mozilla_dir": "src" +} diff --git a/testing/mozharness/configs/multi_locale/ash_android-x86.json b/testing/mozharness/configs/multi_locale/ash_android-x86.json new file mode 100644 index 000000000..6a37ce24f --- /dev/null +++ b/testing/mozharness/configs/multi_locale/ash_android-x86.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/projects/ash", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + "l10n_dir": "l10n-central", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/ash_android.json b/testing/mozharness/configs/multi_locale/ash_android.json new file mode 100644 index 000000000..831d4f7c3 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/ash_android.json @@ -0,0 +1,27 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/projects/ash", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + "l10n_dir": "l10n-central", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/b2g_linux32.py b/testing/mozharness/configs/multi_locale/b2g_linux32.py new file mode 100644 index 000000000..8403f7553 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/b2g_linux32.py @@ -0,0 +1,2 @@ +config = { +} diff --git a/testing/mozharness/configs/multi_locale/b2g_linux64.py b/testing/mozharness/configs/multi_locale/b2g_linux64.py new file mode 100644 index 000000000..8403f7553 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/b2g_linux64.py @@ -0,0 +1,2 @@ +config = { +} diff --git a/testing/mozharness/configs/multi_locale/b2g_macosx64.py b/testing/mozharness/configs/multi_locale/b2g_macosx64.py new file mode 100644 index 000000000..8403f7553 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/b2g_macosx64.py @@ -0,0 +1,2 @@ +config = { +} diff --git a/testing/mozharness/configs/multi_locale/b2g_win32.py b/testing/mozharness/configs/multi_locale/b2g_win32.py new file mode 100644 index 000000000..a82ce7155 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/b2g_win32.py @@ -0,0 +1,8 @@ +import sys + +config = { + "exes": { + "hg": "c:/mozilla-build/hg/hg", + "make": [sys.executable, "%(abs_work_dir)s/build/build/pymake/make.py"], + }, +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-aurora_android-armv6.json b/testing/mozharness/configs/multi_locale/mozilla-aurora_android-armv6.json new file mode 100644 index 000000000..dc50707cf --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-aurora_android-armv6.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-aurora", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-aurora", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-aurora", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-aurora_android-x86.json b/testing/mozharness/configs/multi_locale/mozilla-aurora_android-x86.json new file mode 100644 index 000000000..bd5f8b6ba --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-aurora_android-x86.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-aurora", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-aurora", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-aurora", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-aurora_android.json b/testing/mozharness/configs/multi_locale/mozilla-aurora_android.json new file mode 100644 index 000000000..1cc38e35b --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-aurora_android.json @@ -0,0 +1,27 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-aurora", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-aurora", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-aurora", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-beta_android-armv6.json b/testing/mozharness/configs/multi_locale/mozilla-beta_android-armv6.json new file mode 100644 index 000000000..4cffd4807 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-beta_android-armv6.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-beta_android-x86.json b/testing/mozharness/configs/multi_locale/mozilla-beta_android-x86.json new file mode 100644 index 000000000..233e740aa --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-beta_android-x86.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-beta_android.json b/testing/mozharness/configs/multi_locale/mozilla-beta_android.json new file mode 100644 index 000000000..c9d0e4d6b --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-beta_android.json @@ -0,0 +1,27 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-central_android-armv6.json b/testing/mozharness/configs/multi_locale/mozilla-central_android-armv6.json new file mode 100644 index 000000000..1b27a017e --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-central_android-armv6.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/mozilla-central", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + "l10n_dir": "l10n-central", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-central_android-x86.json b/testing/mozharness/configs/multi_locale/mozilla-central_android-x86.json new file mode 100644 index 000000000..0873a0198 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-central_android-x86.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/mozilla-central", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + "l10n_dir": "l10n-central", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-central_android.json b/testing/mozharness/configs/multi_locale/mozilla-central_android.json new file mode 100644 index 000000000..67d195242 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-central_android.json @@ -0,0 +1,27 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/mozilla-central", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + "l10n_dir": "l10n-central", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-release_android-armv6.json b/testing/mozharness/configs/multi_locale/mozilla-release_android-armv6.json new file mode 100644 index 000000000..fbfff0d7c --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-release_android-armv6.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-release", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-release_android-x86.json b/testing/mozharness/configs/multi_locale/mozilla-release_android-x86.json new file mode 100644 index 000000000..96aa60cef --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-release_android-x86.json @@ -0,0 +1,28 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-release", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/nightly" +} diff --git a/testing/mozharness/configs/multi_locale/mozilla-release_android.json b/testing/mozharness/configs/multi_locale/mozilla-release_android.json new file mode 100644 index 000000000..9a737f9a9 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/mozilla-release_android.json @@ -0,0 +1,27 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/mobile/android/locales/maemo-locales", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-release", + "hg_l10n_tag": "default", + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/release_mozilla-beta_android-armv6.json b/testing/mozharness/configs/multi_locale/release_mozilla-beta_android-armv6.json new file mode 100644 index 000000000..beef77284 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/release_mozilla-beta_android-armv6.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + "required_config_vars": ["tag_override"], + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/release" +} diff --git a/testing/mozharness/configs/multi_locale/release_mozilla-beta_android-x86.json b/testing/mozharness/configs/multi_locale/release_mozilla-beta_android-x86.json new file mode 100644 index 000000000..4f7144b40 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/release_mozilla-beta_android-x86.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + "required_config_vars": ["tag_override"], + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/release" +} diff --git a/testing/mozharness/configs/multi_locale/release_mozilla-beta_android.json b/testing/mozharness/configs/multi_locale/release_mozilla-beta_android.json new file mode 100644 index 000000000..2fa9c06fd --- /dev/null +++ b/testing/mozharness/configs/multi_locale/release_mozilla-beta_android.json @@ -0,0 +1,33 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + "required_config_vars": ["tag_override"], + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/release_mozilla-release_android-armv6.json b/testing/mozharness/configs/multi_locale/release_mozilla-release_android-armv6.json new file mode 100644 index 000000000..57406c739 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/release_mozilla-release_android-armv6.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-release.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-release", + "required_config_vars": ["tag_override"], + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/release" +} diff --git a/testing/mozharness/configs/multi_locale/release_mozilla-release_android-x86.json b/testing/mozharness/configs/multi_locale/release_mozilla-release_android-x86.json new file mode 100644 index 000000000..24075237e --- /dev/null +++ b/testing/mozharness/configs/multi_locale/release_mozilla-release_android-x86.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-release.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-release", + "required_config_vars": ["tag_override"], + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/release" +} diff --git a/testing/mozharness/configs/multi_locale/release_mozilla-release_android.json b/testing/mozharness/configs/multi_locale/release_mozilla-release_android.json new file mode 100644 index 000000000..e295a13eb --- /dev/null +++ b/testing/mozharness/configs/multi_locale/release_mozilla-release_android.json @@ -0,0 +1,33 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-release.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "production", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-release", + "required_config_vars": ["tag_override"], + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android-armv6.json b/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android-armv6.json new file mode 100644 index 000000000..032e04ff7 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android-armv6.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s", + "required_config_vars": ["tag_override", "user_repo_override"], + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/release" +} diff --git a/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android-x86.json b/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android-x86.json new file mode 100644 index 000000000..a055b0ab9 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android-x86.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s", + "required_config_vars": ["tag_override", "user_repo_override"], + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/release" +} diff --git a/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android.json b/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android.json new file mode 100644 index 000000000..1447ffd91 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/staging_release_mozilla-beta_android.json @@ -0,0 +1,33 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-beta", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s", + "required_config_vars": ["tag_override", "user_repo_override"], + "l10n_dir": "mozilla-beta", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android-armv6.json b/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android-armv6.json new file mode 100644 index 000000000..5e2f26dc1 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android-armv6.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-release.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s", + "required_config_vars": ["tag_override", "user_repo_override"], + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-armv6/release" +} diff --git a/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android-x86.json b/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android-x86.json new file mode 100644 index 000000000..68feec852 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android-x86.json @@ -0,0 +1,34 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-release.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s", + "required_config_vars": ["tag_override", "user_repo_override"], + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build", + "mozconfig": "build/mobile/android/config/mozconfigs/android-x86/release" +} diff --git a/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android.json b/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android.json new file mode 100644 index 000000000..4ed17c487 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/staging_release_mozilla-release_android.json @@ -0,0 +1,33 @@ +{ + "work_dir": ".", + "log_name": "multilocale", + "objdir": "obj-firefox", + "locales_file": "build/configs/mozilla/l10n-changesets_mobile-release.json", + "locales_platform": "android-multilocale", + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-release", + "branch": "default", + "dest": "build" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + },{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "l10n_repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "build/configs" + }], + "vcs_share_base": "/builds/hg-shared", + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s", + "required_config_vars": ["tag_override", "user_repo_override"], + "l10n_dir": "mozilla-release", + "merge_locales": true, + "mozilla_dir": "build" +} diff --git a/testing/mozharness/configs/multi_locale/standalone_mozilla-central.py b/testing/mozharness/configs/multi_locale/standalone_mozilla-central.py new file mode 100644 index 000000000..36ad4de58 --- /dev/null +++ b/testing/mozharness/configs/multi_locale/standalone_mozilla-central.py @@ -0,0 +1,49 @@ +import os +# The name of the directory we'll pull our source into. +BUILD_DIR = "mozilla-central" +# This is everything that comes after https://hg.mozilla.org/ +# e.g. "releases/mozilla-aurora" +REPO_PATH = "mozilla-central" +# This is where the l10n repos are (everything after https://hg.mozilla.org/) +# for mozilla-central, that's "l10n-central". +# For mozilla-aurora, that's "releases/l10n/mozilla-aurora" +L10N_REPO_PATH = "l10n-central" +# Currently this is assumed to be a subdirectory of your build dir +OBJDIR = "objdir-droid" +# Set this to mobile/xul for XUL Fennec +ANDROID_DIR = "mobile/android" +# Absolute path to your mozconfig. +# By default it looks at "./mozconfig" +MOZCONFIG = os.path.join(os.getcwd(), "mozconfig") + +config = { + "work_dir": ".", + "log_name": "multilocale", + "objdir": OBJDIR, + "locales_file": "%s/%s/locales/maemo-locales" % (BUILD_DIR, ANDROID_DIR), + "locales_dir": "%s/locales" % ANDROID_DIR, + "ignore_locales": ["en-US", "multi"], + "repos": [{ + "repo": "https://hg.mozilla.org/%s" % REPO_PATH, + "branch": "default", + "dest": BUILD_DIR, + }], + "vcs_share_base": "/builds/hg-shared", + "l10n_repos": [], + "hg_l10n_base": "https://hg.mozilla.org/%s" % L10N_REPO_PATH, + "hg_l10n_tag": "default", + "l10n_dir": "l10n", + "merge_locales": True, + "mozilla_dir": BUILD_DIR, + "mozconfig": MOZCONFIG, + "default_actions": [ + "pull-locale-source", + "build", + "package-en-US", + "backup-objdir", + "restore-objdir", + "add-locales", + "package-multi", + "summary", + ], +} diff --git a/testing/mozharness/configs/partner_repacks/release_mozilla-esr52_desktop.py b/testing/mozharness/configs/partner_repacks/release_mozilla-esr52_desktop.py new file mode 100644 index 000000000..604407e6a --- /dev/null +++ b/testing/mozharness/configs/partner_repacks/release_mozilla-esr52_desktop.py @@ -0,0 +1,6 @@ +config = { + "appName": "Firefox", + "log_name": "partner_repack", + "repack_manifests_url": "https://github.com/mozilla-partners/mozilla-sha1-manifest", + "repo_file": "https://raw.githubusercontent.com/mozilla/git-repo/master/repo", +} diff --git a/testing/mozharness/configs/partner_repacks/release_mozilla-release_android.py b/testing/mozharness/configs/partner_repacks/release_mozilla-release_android.py new file mode 100644 index 000000000..6978df8a2 --- /dev/null +++ b/testing/mozharness/configs/partner_repacks/release_mozilla-release_android.py @@ -0,0 +1,47 @@ +FTP_SERVER = "stage.mozilla.org" +FTP_USER = "ffxbld" +FTP_SSH_KEY = "~/.ssh/ffxbld_rsa" +FTP_UPLOAD_BASE_DIR = "/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d" +DOWNLOAD_BASE_URL = "http://%s%s" % (FTP_SERVER, FTP_UPLOAD_BASE_DIR) +APK_BASE_NAME = "fennec-%(version)s.%(locale)s.android-arm.apk" +HG_SHARE_BASE_DIR = "/builds/hg-shared" +KEYSTORE = "/home/cltsign/.android/android-release.keystore" +KEY_ALIAS = "release" + +config = { + "log_name": "partner_repack", + "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-release.json", + "additional_locales": ['en-US'], + "platforms": ["android"], + "repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + }], + 'vcs_share_base': HG_SHARE_BASE_DIR, + "ftp_upload_base_dir": FTP_UPLOAD_BASE_DIR, + "ftp_ssh_key": FTP_SSH_KEY, + "ftp_user": FTP_USER, + "ftp_server": FTP_SERVER, + "installer_base_names": { + "android": APK_BASE_NAME, + }, + "partner_config": { + "google-play": {}, + }, + "download_unsigned_base_subdir": "unsigned/%(platform)s/%(locale)s", + "download_base_url": DOWNLOAD_BASE_URL, + + "release_config_file": "buildbot-configs/mozilla/release-fennec-mozilla-release.py", + + "default_actions": ["clobber", "pull", "download", "repack", "upload-unsigned-bits", "summary"], + + # signing (optional) + "keystore": KEYSTORE, + "key_alias": KEY_ALIAS, + "exes": { + # This path doesn't exist and this file probably doesn't work + # Comment out to avoid confusion +# "jarsigner": "/tools/jdk-1.6.0_17/bin/jarsigner", + "zipalign": "/tools/android-sdk-r8/tools/zipalign", + }, +} diff --git a/testing/mozharness/configs/partner_repacks/release_mozilla-release_desktop.py b/testing/mozharness/configs/partner_repacks/release_mozilla-release_desktop.py new file mode 100644 index 000000000..229c2bb44 --- /dev/null +++ b/testing/mozharness/configs/partner_repacks/release_mozilla-release_desktop.py @@ -0,0 +1,6 @@ +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", +} diff --git a/testing/mozharness/configs/partner_repacks/staging_release_mozilla-release_android.py b/testing/mozharness/configs/partner_repacks/staging_release_mozilla-release_android.py new file mode 100644 index 000000000..ffb2392b6 --- /dev/null +++ b/testing/mozharness/configs/partner_repacks/staging_release_mozilla-release_android.py @@ -0,0 +1,52 @@ +FTP_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com" +FTP_USER = "ffxbld" +FTP_SSH_KEY = "~/.ssh/ffxbld_rsa" +FTP_UPLOAD_BASE_DIR = "/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d" +#DOWNLOAD_BASE_URL = "http://%s%s" % (FTP_SERVER, FTP_UPLOAD_BASE_DIR) +DOWNLOAD_BASE_URL = "https://ftp-ssl.mozilla.org/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d" +#DOWNLOAD_BASE_URL = "http://dev-stage01.build.mozilla.org/pub/mozilla.org/mobile/candidates/11.0b1-candidates/build1/" +APK_BASE_NAME = "fennec-%(version)s.%(locale)s.android-arm.apk" +#APK_BASE_NAME = "fennec-11.0b1.%(locale)s.android-arm.apk" +HG_SHARE_BASE_DIR = "/builds/hg-shared" +#KEYSTORE = "/home/cltsign/.android/android-release.keystore" +KEYSTORE = "/home/cltbld/.android/android.keystore" +#KEY_ALIAS = "release" +KEY_ALIAS = "nightly" + +config = { + "log_name": "partner_repack", + "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-release.json", + "additional_locales": ['en-US'], + "platforms": ["android"], + "repos": [{ + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + }], + 'vcs_share_base': HG_SHARE_BASE_DIR, + "ftp_upload_base_dir": FTP_UPLOAD_BASE_DIR, + "ftp_ssh_key": FTP_SSH_KEY, + "ftp_user": FTP_USER, + "ftp_server": FTP_SERVER, + "installer_base_names": { + "android": APK_BASE_NAME, + }, + "partner_config": { + "google-play": {}, + }, + "download_unsigned_base_subdir": "unsigned/%(platform)s/%(locale)s", + "download_base_url": DOWNLOAD_BASE_URL, + + "release_config_file": "buildbot-configs/mozilla/release-fennec-mozilla-release.py", + + "default_actions": ["clobber", "pull", "download", "repack", "upload-unsigned-bits", "summary"], + + # signing (optional) + "keystore": KEYSTORE, + "key_alias": KEY_ALIAS, + "exes": { + # This path doesn't exist and this file probably doesn't work + # Comment out to avoid confusion +# "jarsigner": "/tools/jdk-1.6.0_17/bin/jarsigner", + "zipalign": "/tools/android-sdk-r8/tools/zipalign", + }, +} diff --git a/testing/mozharness/configs/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 000000000..229c2bb44 --- /dev/null +++ b/testing/mozharness/configs/partner_repacks/staging_release_mozilla-release_desktop.py @@ -0,0 +1,6 @@ +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", +} diff --git a/testing/mozharness/configs/platform_supports_post_upload_to_latest.py b/testing/mozharness/configs/platform_supports_post_upload_to_latest.py new file mode 100644 index 000000000..6ed654ed1 --- /dev/null +++ b/testing/mozharness/configs/platform_supports_post_upload_to_latest.py @@ -0,0 +1,3 @@ +config = { + 'platform_supports_post_upload_to_latest': False, +} diff --git a/testing/mozharness/configs/releases/bouncer_fennec.py b/testing/mozharness/configs/releases/bouncer_fennec.py new file mode 100644 index 000000000..203c6679c --- /dev/null +++ b/testing/mozharness/configs/releases/bouncer_fennec.py @@ -0,0 +1,22 @@ +# lint_ignore=E501 +config = { + "products": { + "apk": { + "product-name": "Fennec-%(version)s", + "check_uptake": True, + "alias": "fennec-latest", + "ssl-only": False, + "add-locales": False, # Do not add locales to let "multi" work + "paths": { + "android-api-15": { + "path": "/mobile/releases/%(version)s/android-api-15/:lang/fennec-%(version)s.:lang.android-arm.apk", + "bouncer-platform": "android", + }, + "android-x86": { + "path": "/mobile/releases/%(version)s/android-x86/:lang/fennec-%(version)s.:lang.android-i386.apk", + "bouncer-platform": "android-x86", + }, + }, + }, + }, +} diff --git a/testing/mozharness/configs/releases/bouncer_firefox_beta.py b/testing/mozharness/configs/releases/bouncer_firefox_beta.py new file mode 100644 index 000000000..6c563124c --- /dev/null +++ b/testing/mozharness/configs/releases/bouncer_firefox_beta.py @@ -0,0 +1,148 @@ +# lint_ignore=E501 +config = { + "shipped-locales-url": "https://hg.mozilla.org/%(repo)s/raw-file/%(revision)s/browser/locales/shipped-locales", + "products": { + "installer": { + "product-name": "Firefox-%(version)s", + "check_uptake": True, + "alias": "firefox-beta-latest", + "ssl-only": False, + "add-locales": True, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/linux-i686/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/linux-x86_64/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/mac/:lang/Firefox%%20%(version)s.dmg", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/win32/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/win64/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win64", + }, + }, + }, + "installer-ssl": { + "product-name": "Firefox-%(version)s-SSL", + "check_uptake": True, + "alias": "firefox-beta-latest-ssl", + "ssl-only": True, + "add-locales": True, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/linux-i686/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/linux-x86_64/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/mac/:lang/Firefox%%20%(version)s.dmg", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/win32/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/win64/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win64", + }, + }, + }, + "stub-installer": { + "product-name": "Firefox-%(version)s-stub", + "check_uptake": True, + "alias": "firefox-beta-stub", + "ssl-only": True, + "add-locales": True, + "paths": { + "win32": { + "path": "/firefox/releases/%(version)s/win32/:lang/Firefox%%20Setup%%20Stub%%20%(version)s.exe", + "bouncer-platform": "win", + }, + }, + }, + "sha1-installer": { + "product-name": "Firefox-%(version)s-sha1", + "check_uptake": True, + "alias": "firefox-beta-sha1", + "ssl-only": True, + "add-locales": True, + "paths": { + "win32": { + "path": "/firefox/releases/%(version)s/win32-sha1/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win", + }, + }, + }, + "complete-mar": { + "product-name": "Firefox-%(version)s-Complete", + "check_uptake": True, + "ssl-only": False, + "add-locales": True, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/update/linux-i686/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/update/linux-x86_64/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/update/mac/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/update/win32/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/update/win64/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "win64", + }, + }, + }, + }, + "partials": { + "releases-dir": { + "product-name": "Firefox-%(version)s-Partial-%(prev_version)s", + "check_uptake": True, + "ssl-only": False, + "add-locales": True, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/update/linux-i686/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/update/linux-x86_64/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/update/mac/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/update/win32/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/update/win64/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "win64", + }, + }, + }, + }, +} 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 000000000..747ff5664 --- /dev/null +++ b/testing/mozharness/configs/releases/bouncer_firefox_esr.py @@ -0,0 +1,136 @@ +# lint_ignore=E501 +config = { + "shipped-locales-url": "https://hg.mozilla.org/%(repo)s/raw-file/%(revision)s/browser/locales/shipped-locales", + "products": { + "installer": { + "product-name": "Firefox-%(version)s", + "check_uptake": True, + "alias": "firefox-esr-latest", + "ssl-only": True, + "add-locales": True, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/linux-i686/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/linux-x86_64/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/mac/:lang/Firefox%%20%(version)s.dmg", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/win32/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/win64/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win64", + }, + }, + }, + "installer-ssl": { + "product-name": "Firefox-%(version)s-SSL", + "check_uptake": True, + "alias": "firefox-esr-latest-ssl", + "ssl-only": True, + "add-locales": True, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/linux-i686/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/linux-x86_64/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/mac/:lang/Firefox%%20%(version)s.dmg", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/win32/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/win64/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win64", + }, + }, + }, + "sha1-installer": { + "product-name": "Firefox-%(version)s-sha1", + "check_uptake": True, + # XP/Vista Release users are redicted to ESR52 + "alias": "firefox-sha1", + "ssl-only": True, + "add-locales": True, + "paths": { + "win32": { + "path": "/firefox/releases/%(version)s/win32-sha1/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win", + }, + }, + }, + "complete-mar": { + "product-name": "Firefox-%(version)s-Complete", + "check_uptake": True, + "ssl-only": False, + "add-locales": True, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/update/linux-i686/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/update/linux-x86_64/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/update/mac/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/update/win32/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/update/win64/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "win64", + }, + }, + }, + }, + "partials": { + "releases-dir": { + "product-name": "Firefox-%(version)s-Partial-%(prev_version)s", + "check_uptake": True, + "ssl-only": False, + "add-locales": True, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/update/linux-i686/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/update/linux-x86_64/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/update/mac/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/update/win32/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/update/win64/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "win64", + }, + }, + }, + }, +} 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 000000000..59ecd20a2 --- /dev/null +++ b/testing/mozharness/configs/releases/bouncer_firefox_release.py @@ -0,0 +1,191 @@ +# lint_ignore=E501 +config = { + "shipped-locales-url": "https://hg.mozilla.org/%(repo)s/raw-file/%(revision)s/browser/locales/shipped-locales", + "products": { + "installer": { + "product-name": "Firefox-%(version)s", + "check_uptake": True, + "alias": "firefox-latest", + "ssl-only": False, + "add-locales": True, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/linux-i686/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/linux-x86_64/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/mac/:lang/Firefox%%20%(version)s.dmg", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/win32/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/win64/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win64", + }, + }, + }, + "installer-ssl": { + "product-name": "Firefox-%(version)s-SSL", + "check_uptake": True, + "alias": "firefox-latest-ssl", + "ssl-only": True, + "add-locales": True, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/linux-i686/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/linux-x86_64/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/mac/:lang/Firefox%%20%(version)s.dmg", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/win32/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/win64/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win64", + }, + }, + }, + "stub-installer": { + "product-name": "Firefox-%(version)s-stub", + "check_uptake": True, + "alias": "firefox-stub", + "ssl-only": True, + "add-locales": True, + "paths": { + "win32": { + "path": "/firefox/releases/%(version)s/win32/:lang/Firefox%%20Setup%%20Stub%%20%(version)s.exe", + "bouncer-platform": "win", + }, + }, + }, + "complete-mar": { + "product-name": "Firefox-%(version)s-Complete", + "check_uptake": True, + "ssl-only": False, + "add-locales": True, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/update/linux-i686/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/update/linux-x86_64/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/update/mac/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/update/win32/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/update/win64/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "win64", + }, + }, + }, + "complete-mar-candidates": { + "product-name": "Firefox-%(version)sbuild%(build_number)s-Complete", + "check_uptake": False, + "ssl-only": False, + "add-locales": True, + "paths": { + "linux": { + "path": "/firefox/candidates/%(version)s-candidates/build%(build_number)s/update/linux-i686/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/candidates/%(version)s-candidates/build%(build_number)s/update/linux-x86_64/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/candidates/%(version)s-candidates/build%(build_number)s/update/mac/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/candidates/%(version)s-candidates/build%(build_number)s/update/win32/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/candidates/%(version)s-candidates/build%(build_number)s/update/win64/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "win64", + }, + }, + }, + }, + "partials": { + "releases-dir": { + "product-name": "Firefox-%(version)s-Partial-%(prev_version)s", + "check_uptake": True, + "ssl-only": False, + "add-locales": True, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/update/linux-i686/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/update/linux-x86_64/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/update/mac/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/update/win32/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/update/win64/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "win64", + }, + }, + }, + "candidates-dir": { + "product-name": "Firefox-%(version)sbuild%(build_number)s-Partial-%(prev_version)sbuild%(prev_build_number)s", + "check_uptake": False, + "ssl-only": False, + "add-locales": True, + "paths": { + "linux": { + "path": "/firefox/candidates/%(version)s-candidates/build%(build_number)s/update/linux-i686/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/candidates/%(version)s-candidates/build%(build_number)s/update/linux-x86_64/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/candidates/%(version)s-candidates/build%(build_number)s/update/mac/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/candidates/%(version)s-candidates/build%(build_number)s/update/win32/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/candidates/%(version)s-candidates/build%(build_number)s/update/win64/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "win64", + }, + }, + }, + }, +} diff --git a/testing/mozharness/configs/releases/bouncer_thunderbird.py b/testing/mozharness/configs/releases/bouncer_thunderbird.py new file mode 100644 index 000000000..5d0548a59 --- /dev/null +++ b/testing/mozharness/configs/releases/bouncer_thunderbird.py @@ -0,0 +1,169 @@ +# lint_ignore=E501 +config = { + "shipped-locales-url": "https://hg.mozilla.org/%(repo)s/raw-file/%(revision)s/mail/locales/shipped-locales", + "products": { + "installer": { + "product-name": "Thunderbird-%(version)s", + "check_uptake": True, + "alias": "thunderbird-latest", + "ssl-only": False, + "add-locales": True, + "paths": { + "linux": { + "path": "/thunderbird/releases/%(version)s/linux-i686/:lang/thunderbird-%(version)s.tar.bz2", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/thunderbird/releases/%(version)s/linux-x86_64/:lang/thunderbird-%(version)s.tar.bz2", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/thunderbird/releases/%(version)s/mac/:lang/Thunderbird%%20%(version)s.dmg", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/thunderbird/releases/%(version)s/win32/:lang/Thunderbird%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win", + }, + "opensolaris-i386": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(version)s.en-US.opensolaris-i386.tar.bz2", + "bouncer-platform": "opensolaris-i386", + }, + "opensolaris-sparc": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(version)s.en-US.opensolaris-sparc.tar.bz2", + "bouncer-platform": "opensolaris-sparc", + }, + "solaris-i386": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(version)s.en-US.solaris-i386.tar.bz2", + "bouncer-platform": "solaris-i386", + }, + "solaris-sparc": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(version)s.en-US.solaris-sparc.tar.bz2", + "bouncer-platform": "solaris-sparc", + }, + }, + }, + "installer-ssl": { + "product-name": "Thunderbird-%(version)s-SSL", + "check_uptake": True, + "ssl-only": True, + "add-locales": True, + "paths": { + "linux": { + "path": "/thunderbird/releases/%(version)s/linux-i686/:lang/thunderbird-%(version)s.tar.bz2", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/thunderbird/releases/%(version)s/linux-x86_64/:lang/thunderbird-%(version)s.tar.bz2", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/thunderbird/releases/%(version)s/mac/:lang/Thunderbird%%20%(version)s.dmg", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/thunderbird/releases/%(version)s/win32/:lang/Thunderbird%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win", + }, + "opensolaris-i386": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(version)s.en-US.opensolaris-i386.tar.bz2", + "bouncer-platform": "opensolaris-i386", + }, + "opensolaris-sparc": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(version)s.en-US.opensolaris-sparc.tar.bz2", + "bouncer-platform": "opensolaris-sparc", + }, + "solaris-i386": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(version)s.en-US.solaris-i386.tar.bz2", + "bouncer-platform": "solaris-i386", + }, + "solaris-sparc": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(version)s.en-US.solaris-sparc.tar.bz2", + "bouncer-platform": "solaris-sparc", + }, + }, + }, + "complete-mar": { + "product-name": "Thunderbird-%(version)s-Complete", + "check_uptake": True, + "ssl-only": False, + "add-locales": True, + "paths": { + "linux": { + "path": "/thunderbird/releases/%(version)s/update/linux-i686/:lang/thunderbird-%(version)s.complete.mar", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/thunderbird/releases/%(version)s/update/linux-x86_64/:lang/thunderbird-%(version)s.complete.mar", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/thunderbird/releases/%(version)s/update/mac/:lang/thunderbird-%(version)s.complete.mar", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/thunderbird/releases/%(version)s/update/win32/:lang/thunderbird-%(version)s.complete.mar", + "bouncer-platform": "win", + }, + "opensolaris-i386": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(version)s.en-US.opensolaris-i386.complete.mar", + "bouncer-platform": "opensolaris-i386", + }, + "opensolaris-sparc": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(version)s.en-US.opensolaris-sparc.complete.mar", + "bouncer-platform": "opensolaris-sparc", + }, + "solaris-i386": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(version)s.en-US.solaris-i386.complete.mar", + "bouncer-platform": "solaris-i386", + }, + "solaris-sparc": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(version)s.en-US.solaris-sparc.complete.mar", + "bouncer-platform": "solaris-sparc", + }, + }, + }, + }, + "partials": { + "releases-dir": { + "product-name": "Thunderbird-%(version)s-Partial-%(prev_version)s", + "check_uptake": True, + "ssl-only": False, + "add-locales": True, + "paths": { + "linux": { + "path": "/thunderbird/releases/%(version)s/update/linux-i686/:lang/thunderbird-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/thunderbird/releases/%(version)s/update/linux-x86_64/:lang/thunderbird-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/thunderbird/releases/%(version)s/update/mac/:lang/thunderbird-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/thunderbird/releases/%(version)s/update/win32/:lang/thunderbird-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "win", + }, + "opensolaris-i386": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(prev_version)s-%(version)s.en-US.opensolaris-i386.partial.mar", + "bouncer-platform": "opensolaris-i386", + }, + "opensolaris-sparc": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(prev_version)s-%(version)s.en-US.opensolaris-sparc.partial.mar", + "bouncer-platform": "opensolaris-sparc", + }, + "solaris-i386": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(prev_version)s-%(version)s.en-US.solaris-i386.partial.mar", + "bouncer-platform": "solaris-i386", + }, + "solaris-sparc": { + "path": "/thunderbird/releases/%(version)s/contrib/solaris_tarball/thunderbird-%(prev_version)s-%(version)s.en-US.solaris-sparc.partial.mar", + "bouncer-platform": "solaris-sparc", + }, + }, + }, + }, +} diff --git a/testing/mozharness/configs/releases/dev_bouncer_firefox_beta.py b/testing/mozharness/configs/releases/dev_bouncer_firefox_beta.py new file mode 100644 index 000000000..29c6e6cfb --- /dev/null +++ b/testing/mozharness/configs/releases/dev_bouncer_firefox_beta.py @@ -0,0 +1,133 @@ +# lint_ignore=E501 +config = { + "products": { + "installer": { + "product-name": "Firefox-%(version)s", + "check_uptake": True, + "alias": "firefox-beta-latest", + "ssl-only": False, + "add-locales": False, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/linux-i686/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/linux-x86_64/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/mac/:lang/Firefox%%20%(version)s.dmg", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/win32/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/win64/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win64", + }, + }, + }, + "installer-ssl": { + "product-name": "Firefox-%(version)s-SSL", + "check_uptake": True, + "ssl-only": True, + "add-locales": False, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/linux-i686/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/linux-x86_64/:lang/firefox-%(version)s.tar.bz2", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/mac/:lang/Firefox%%20%(version)s.dmg", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/win32/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/win64/:lang/Firefox%%20Setup%%20%(version)s.exe", + "bouncer-platform": "win64", + }, + }, + }, + "stub-installer": { + "product-name": "Firefox-%(version)s-stub", + "check_uptake": True, + "alias": "firefox-beta-stub", + "ssl-only": True, + "add-locales": False, + "paths": { + "win32": { + "path": "/firefox/releases/%(version)s/win32/:lang/Firefox%%20Setup%%20Stub%%20%(version)s.exe", + "bouncer-platform": "win", + }, + }, + }, + "complete-mar": { + "product-name": "Firefox-%(version)s-Complete", + "check_uptake": True, + "ssl-only": False, + "add-locales": False, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/update/linux-i686/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/update/linux-x86_64/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/update/mac/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/update/win32/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/update/win64/:lang/firefox-%(version)s.complete.mar", + "bouncer-platform": "win64", + }, + }, + }, + }, + "partials": { + "releases-dir": { + "product-name": "Firefox-%(version)s-Partial-%(prev_version)s", + "check_uptake": True, + "ssl-only": False, + "add-locales": False, + "paths": { + "linux": { + "path": "/firefox/releases/%(version)s/update/linux-i686/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "linux", + }, + "linux64": { + "path": "/firefox/releases/%(version)s/update/linux-x86_64/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "linux64", + }, + "macosx64": { + "path": "/firefox/releases/%(version)s/update/mac/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "osx", + }, + "win32": { + "path": "/firefox/releases/%(version)s/update/win32/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "win", + }, + "win64": { + "path": "/firefox/releases/%(version)s/update/win64/:lang/firefox-%(prev_version)s-%(version)s.partial.mar", + "bouncer-platform": "win64", + }, + }, + }, + }, +} 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 000000000..4ecd32349 --- /dev/null +++ b/testing/mozharness/configs/releases/dev_postrelease_firefox_beta.py @@ -0,0 +1,20 @@ +config = { + # date is used for staging mozilla-beta + "log_name": "bump_date", + "version_files": [{"file": "browser/config/version_display.txt"}], + "repo": { + # date is used for staging mozilla-beta + "repo": "https://hg.mozilla.org/projects/date", + "branch": "default", + "dest": "date", + "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/date", + "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 000000000..0a1497595 --- /dev/null +++ b/testing/mozharness/configs/releases/dev_postrelease_firefox_release.py @@ -0,0 +1,22 @@ +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_updates_firefox_beta.py b/testing/mozharness/configs/releases/dev_updates_firefox_beta.py new file mode 100644 index 000000000..40b87c57b --- /dev/null +++ b/testing/mozharness/configs/releases/dev_updates_firefox_beta.py @@ -0,0 +1,39 @@ + +config = { + "log_name": "bump_beta_dev", + # TODO: use real repo + "repo": { + "repo": "https://hg.mozilla.org/users/raliiev_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/raliiev_mozilla.com/tools", + # date repo used for staging beta + "shipped-locales-url": "https://hg.mozilla.org/projects/date/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://ec2-54-241-39-23.us-west-1.compute.amazonaws.com", + "balrog_username": "balrog-stage-ffxbld", + "update_channels": { + "beta-dev": { + "version_regex": r"^(\d+\.\d+(b\d+)?)$", + "requires_mirrors": True, + # TODO - when we use a real repo, rename this file # s/MozDate/MozBeta-dev/ + "patcher_config": "mozDate-branch-patcher2.cfg", + "update_verify_channel": "beta-dev-localtest", + "mar_channel_ids": [], + "channel_names": ["beta-dev", "beta-dev-localtest", "beta-dev-cdntest"], + "rules_to_update": ["firefox-beta-dev-cdntest", "firefox-beta-dev-localtest"], + "publish_rules": ["firefox-beta"], + } + }, + "balrog_use_dummy_suffix": False, +} 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 000000000..8c2696b5b --- /dev/null +++ b/testing/mozharness/configs/releases/dev_updates_firefox_release.py @@ -0,0 +1,50 @@ + +config = { + "log_name": "updates_release_dev", + # TODO: use real repo + "repo": { + "repo": "https://hg.mozilla.org/users/raliiev_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/raliiev_mozilla.com/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://ec2-54-241-39-23.us-west-1.compute.amazonaws.com", + "balrog_username": "balrog-stage-ffxbld", + "update_channels": { + "beta-dev": { + "version_regex": r"^(\d+\.\d+(b\d+)?)$", + "requires_mirrors": False, + "patcher_config": "mozDate-branch-patcher2.cfg", + "update_verify_channel": "beta-dev-localtest", + "mar_channel_ids": [ + "firefox-mozilla-beta-dev", "firefox-mozilla-release-dev", + ], + "channel_names": ["beta-dev", "beta-dev-localtest", "beta-dev-cdntest"], + "rules_to_update": ["firefox-beta-dev-cdntest", "firefox-beta-dev-localtest"], + "publish_rules": ["firefox-beta"], + }, + "release-dev": { + "version_regex": r"^\d+\.\d+(\.\d+)?$", + "requires_mirrors": True, + "patcher_config": "mozJamun-branch-patcher2.cfg", + "update_verify_channel": "release-dev-localtest", + "mar_channel_ids": [], + "channel_names": ["release-dev", "release-dev-localtest", "release-dev-cdntest"], + "rules_to_update": ["firefox-release-dev-cdntest", "firefox-release-dev-localtest"], + "publish_rules": ["firefox-release"], + }, + }, + "balrog_use_dummy_suffix": False, +} diff --git a/testing/mozharness/configs/releases/postrelease_firefox_beta.py b/testing/mozharness/configs/releases/postrelease_firefox_beta.py new file mode 100644 index 000000000..b72302d91 --- /dev/null +++ b/testing/mozharness/configs/releases/postrelease_firefox_beta.py @@ -0,0 +1,18 @@ +config = { + "log_name": "bump_beta", + "version_files": [{"file": "browser/config/version_display.txt"}], + "repo": { + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "branch": "default", + "dest": "mozilla-beta", + "vcs": "hg", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }, + "vcs_share_base": "/builds/hg-shared", + "push_dest": "ssh://hg.mozilla.org/releases/mozilla-beta", + "ignore_no_changes": True, + "ssh_user": "ffxbld", + "ssh_key": "~/.ssh/ffxbld_rsa", + "ship_it_root": "https://ship-it.mozilla.org", + "ship_it_username": "ship_it-ffxbld", +} diff --git a/testing/mozharness/configs/releases/postrelease_firefox_esr52.py b/testing/mozharness/configs/releases/postrelease_firefox_esr52.py new file mode 100644 index 000000000..ab461c0c8 --- /dev/null +++ b/testing/mozharness/configs/releases/postrelease_firefox_esr52.py @@ -0,0 +1,22 @@ +config = { + "log_name": "bump_esr52", + "version_files": [ + {"file": "browser/config/version.txt"}, + {"file": "browser/config/version_display.txt"}, + {"file": "config/milestone.txt"}, + ], + "repo": { + "repo": "https://hg.mozilla.org/releases/mozilla-esr52", + "branch": "default", + "dest": "mozilla-esr52", + "vcs": "hg", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }, + "vcs_share_base": "/builds/hg-shared", + "push_dest": "ssh://hg.mozilla.org/releases/mozilla-esr52", + "ignore_no_changes": True, + "ssh_user": "ffxbld", + "ssh_key": "~/.ssh/ffxbld_rsa", + "ship_it_root": "https://ship-it.mozilla.org", + "ship_it_username": "ship_it-ffxbld", +} diff --git a/testing/mozharness/configs/releases/postrelease_firefox_release.py b/testing/mozharness/configs/releases/postrelease_firefox_release.py new file mode 100644 index 000000000..31a1b2774 --- /dev/null +++ b/testing/mozharness/configs/releases/postrelease_firefox_release.py @@ -0,0 +1,22 @@ +config = { + "log_name": "bump_release", + "version_files": [ + {"file": "browser/config/version.txt"}, + {"file": "browser/config/version_display.txt"}, + {"file": "config/milestone.txt"}, + ], + "repo": { + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "branch": "default", + "dest": "mozilla-release", + "vcs": "hg", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }, + "vcs_share_base": "/builds/hg-shared", + "push_dest": "ssh://hg.mozilla.org/releases/mozilla-release", + "ignore_no_changes": True, + "ssh_user": "ffxbld", + "ssh_key": "~/.ssh/ffxbld_rsa", + "ship_it_root": "https://ship-it.mozilla.org", + "ship_it_username": "ship_it-ffxbld", +} 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 000000000..fa81e085f --- /dev/null +++ b/testing/mozharness/configs/releases/updates_firefox_beta.py @@ -0,0 +1,35 @@ + +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": ["firefox-beta"], + }, + }, + "balrog_use_dummy_suffix": False, +} diff --git a/testing/mozharness/configs/releases/updates_firefox_esr52.py b/testing/mozharness/configs/releases/updates_firefox_esr52.py new file mode 100644 index 000000000..6c5a05cf9 --- /dev/null +++ b/testing/mozharness/configs/releases/updates_firefox_esr52.py @@ -0,0 +1,35 @@ + +config = { + "log_name": "updates_esr52", + "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-esr52/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": { + "esr": { + "version_regex": r".*", + "requires_mirrors": True, + "patcher_config": "mozEsr52-branch-patcher2.cfg", + "update_verify_channel": "esr-localtest", + "mar_channel_ids": [], + "channel_names": ["esr", "esr-localtest", "esr-cdntest"], + "rules_to_update": ["esr52-cdntest", "esr52-localtest"], + "publish_rules": [521], + }, + }, + "balrog_use_dummy_suffix": False, +} 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 000000000..58210d371 --- /dev/null +++ b/testing/mozharness/configs/releases/updates_firefox_release.py @@ -0,0 +1,47 @@ + +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": ["firefox-beta"], + }, + "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": ["firefox-release"], + }, + }, + "balrog_use_dummy_suffix": False, +} diff --git a/testing/mozharness/configs/releng_infra_configs/builders.py b/testing/mozharness/configs/releng_infra_configs/builders.py new file mode 100644 index 000000000..3a6a8b595 --- /dev/null +++ b/testing/mozharness/configs/releng_infra_configs/builders.py @@ -0,0 +1,47 @@ +# This config file has generic values needed for any job and any platform running +# on Release Engineering machines inside the VPN +from mozharness.base.script import platform_name + +# These are values specific to each platform on Release Engineering machines +PYTHON_WIN32 = 'c:/mozilla-build/python27/python.exe' +# These are values specific to running machines on Release Engineering machines +# to run it locally on your machines append --cfg developer_config.py +PLATFORM_CONFIG = { + 'linux64': { + 'exes': { + 'gittool.py': '/usr/local/bin/gittool.py', + 'python': '/tools/buildbot/bin/python', + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + }, + 'env': { + 'DISPLAY': ':2', + } + }, + 'macosx': { + 'exes': { + 'gittool.py': '/usr/local/bin/gittool.py', + 'python': '/tools/buildbot/bin/python', + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + }, + }, + 'win32': { + "exes": { + 'gittool.py': [PYTHON_WIN32, 'c:/builds/hg-shared/build/tools/buildfarm/utils/gittool.py'], + # Otherwise, depending on the PATH we can pick python 2.6 up + 'python': PYTHON_WIN32, + 'virtualenv': [PYTHON_WIN32, 'c:/mozilla-build/buildbotve/virtualenv.py'], + } + } +} + +config = PLATFORM_CONFIG[platform_name()] +# Generic values +config.update({ + "find_links": [ + "http://pypi.pvt.build.mozilla.org/pub", + "http://pypi.pub.build.mozilla.org/pub", + ], + 'pip_index': False, + 'virtualenv_path': 'venv', +}) + diff --git a/testing/mozharness/configs/releng_infra_configs/linux.py b/testing/mozharness/configs/releng_infra_configs/linux.py new file mode 100644 index 000000000..dbac47935 --- /dev/null +++ b/testing/mozharness/configs/releng_infra_configs/linux.py @@ -0,0 +1,5 @@ +config = { + 'env': { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/linux/minidump_stackwalk', + } +} diff --git a/testing/mozharness/configs/releng_infra_configs/linux64.py b/testing/mozharness/configs/releng_infra_configs/linux64.py new file mode 100644 index 000000000..d7e97d6e8 --- /dev/null +++ b/testing/mozharness/configs/releng_infra_configs/linux64.py @@ -0,0 +1,5 @@ +config = { + 'env': { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/linux64/minidump_stackwalk', + } +} diff --git a/testing/mozharness/configs/releng_infra_configs/macosx64.py b/testing/mozharness/configs/releng_infra_configs/macosx64.py new file mode 100644 index 000000000..c0b5948cc --- /dev/null +++ b/testing/mozharness/configs/releng_infra_configs/macosx64.py @@ -0,0 +1,5 @@ +config = { + 'env': { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/osx64/minidump_stackwalk', + } +} diff --git a/testing/mozharness/configs/releng_infra_configs/testers.py b/testing/mozharness/configs/releng_infra_configs/testers.py new file mode 100644 index 000000000..7f0ce2a7f --- /dev/null +++ b/testing/mozharness/configs/releng_infra_configs/testers.py @@ -0,0 +1,67 @@ +# This config file has generic values needed for any job and any platform running +# on Release Engineering machines inside the VPN +import os + +import mozharness + +from mozharness.base.script import platform_name + +external_tools_path = os.path.join( + os.path.abspath(os.path.dirname(os.path.dirname(mozharness.__file__))), + 'external_tools', +) + +# These are values specific to each platform on Release Engineering machines +PYTHON_WIN32 = 'c:/mozilla-build/python27/python.exe' +# These are values specific to running machines on Release Engineering machines +# to run it locally on your machines append --cfg developer_config.py +PLATFORM_CONFIG = { + 'linux': { + 'exes': { + 'gittool.py': os.path.join(external_tools_path, 'gittool.py'), + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + }, + 'env': { + 'DISPLAY': ':0', + 'PATH': '%(PATH)s:' + external_tools_path, + } + }, + 'linux64': { + 'exes': { + 'gittool.py': os.path.join(external_tools_path, 'gittool.py'), + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + }, + 'env': { + 'DISPLAY': ':0', + 'PATH': '%(PATH)s:' + external_tools_path, + } + }, + 'macosx': { + 'exes': { + 'gittool.py': os.path.join(external_tools_path, 'gittool.py'), + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + }, + 'env': { + 'PATH': '%(PATH)s:' + external_tools_path, + } + }, + 'win32': { + "exes": { + 'gittool.py': [PYTHON_WIN32, os.path.join(external_tools_path, 'gittool.py')], + # Otherwise, depending on the PATH we can pick python 2.6 up + 'python': PYTHON_WIN32, + 'virtualenv': [PYTHON_WIN32, 'c:/mozilla-build/buildbotve/virtualenv.py'], + } + } +} + +config = PLATFORM_CONFIG[platform_name()] +# Generic values +config.update({ + "find_links": [ + "http://pypi.pvt.build.mozilla.org/pub", + "http://pypi.pub.build.mozilla.org/pub", + ], + 'pip_index': False, + 'virtualenv_path': 'venv', +}) diff --git a/testing/mozharness/configs/releng_infra_configs/win32.py b/testing/mozharness/configs/releng_infra_configs/win32.py new file mode 100644 index 000000000..778fa00d9 --- /dev/null +++ b/testing/mozharness/configs/releng_infra_configs/win32.py @@ -0,0 +1,5 @@ +config = { + 'env': { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/win32/minidump_stackwalk', + } +} diff --git a/testing/mozharness/configs/releng_infra_configs/win64.py b/testing/mozharness/configs/releng_infra_configs/win64.py new file mode 100644 index 000000000..97968793e --- /dev/null +++ b/testing/mozharness/configs/releng_infra_configs/win64.py @@ -0,0 +1,5 @@ +config = { + 'env': { + 'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/win64/minidump_stackwalk', + } +} diff --git a/testing/mozharness/configs/remove_executables.py b/testing/mozharness/configs/remove_executables.py new file mode 100644 index 000000000..dec7a2965 --- /dev/null +++ b/testing/mozharness/configs/remove_executables.py @@ -0,0 +1,8 @@ +config = { + # We bake this directly into the tester image now... + "download_minidump_stackwalk": False, + "minidump_stackwalk_path": "/usr/local/bin/linux64-minidump_stackwalk", + "download_nodejs": False, + "nodejs_path": "/usr/local/bin/node", + "exes": {} +} diff --git a/testing/mozharness/configs/routes.json b/testing/mozharness/configs/routes.json new file mode 100644 index 000000000..9596f4c97 --- /dev/null +++ b/testing/mozharness/configs/routes.json @@ -0,0 +1,18 @@ +{ + "routes": [ + "{index}.gecko.v2.{project}.revision.{head_rev}.{build_product}.{build_name}-{build_type}", + "{index}.gecko.v2.{project}.pushdate.{year}.{month}.{day}.{pushdate}.{build_product}.{build_name}-{build_type}", + "{index}.gecko.v2.{project}.latest.{build_product}.{build_name}-{build_type}" + ], + "nightly": [ + "{index}.gecko.v2.{project}.nightly.{year}.{month}.{day}.revision.{head_rev}.{build_product}.{build_name}-{build_type}", + "{index}.gecko.v2.{project}.nightly.{year}.{month}.{day}.latest.{build_product}.{build_name}-{build_type}", + "{index}.gecko.v2.{project}.nightly.revision.{head_rev}.{build_product}.{build_name}-{build_type}", + "{index}.gecko.v2.{project}.nightly.latest.{build_product}.{build_name}-{build_type}" + ], + "l10n": [ + "{index}.gecko.v2.{project}.revision.{head_rev}.{build_product}-l10n.{build_name}-{build_type}.{locale}", + "{index}.gecko.v2.{project}.pushdate.{year}.{month}.{day}.{pushdate}.{build_product}-l10n.{build_name}-{build_type}.{locale}", + "{index}.gecko.v2.{project}.latest.{build_product}-l10n.{build_name}-{build_type}.{locale}" + ] +} diff --git a/testing/mozharness/configs/selfserve/production.py b/testing/mozharness/configs/selfserve/production.py new file mode 100644 index 000000000..f28c6c1ff --- /dev/null +++ b/testing/mozharness/configs/selfserve/production.py @@ -0,0 +1,3 @@ +config = { + "selfserve_url": "https://secure.pub.build.mozilla.org/buildapi/self-serve", +} diff --git a/testing/mozharness/configs/selfserve/staging.py b/testing/mozharness/configs/selfserve/staging.py new file mode 100644 index 000000000..e0ab70090 --- /dev/null +++ b/testing/mozharness/configs/selfserve/staging.py @@ -0,0 +1,3 @@ +config = { + "selfserve_url": "https://secure-pub-build.allizom.org/buildapi/self-serve", +} diff --git a/testing/mozharness/configs/servo/mac.py b/testing/mozharness/configs/servo/mac.py new file mode 100644 index 000000000..c97f935bc --- /dev/null +++ b/testing/mozharness/configs/servo/mac.py @@ -0,0 +1,3 @@ +config = { + 'concurrency': 6, +} diff --git a/testing/mozharness/configs/single_locale/alder.py b/testing/mozharness/configs/single_locale/alder.py new file mode 100644 index 000000000..e2fc0e6a3 --- /dev/null +++ b/testing/mozharness/configs/single_locale/alder.py @@ -0,0 +1,46 @@ +# This configuration uses mozilla-central binaries (en-US, localized complete +# mars) and urls but it generates 'alder' artifacts. With this setup, binaries +# generated on alder are NOT overwriting mozilla-central files. +# Using this configuration, on a successful build, artifacts will be uploaded +# here: +# +# * http://dev-stage01.srv.releng.scl3.mozilla.com/pub/mozilla.org/firefox/nightly/latest-alder-l10n/ +# (in staging environment) +# * https://ftp.mozilla.org/pub/firefox/nightly/latest-alder-l10n/ +# (in production environment) +# +# If you really want to have localized alder builds, use the use the following +# values: +# * "en_us_binary_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/alder-%(platform)s/latest/", +# * "mar_tools_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/alder-%(platform)s/latest/", +# * "repo": "https://hg.mozilla.org/projects/alder", +# + +config = { + "nightly_build": True, + "branch": "alder", + "en_us_binary_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central/", + "update_channel": "nightly", + + # l10n + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + + # mar + "mar_tools_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central/mar-tools/%(platform)s", + + # repositories + "mozilla_dir": "alder", + "repos": [{ + "vcs": "hg", + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + }, { + "vcs": "hg", + "repo": "https://hg.mozilla.org/mozilla-central", + "branch": "default", + "dest": "alder", + }], + # purge options + 'is_automation': True, +} diff --git a/testing/mozharness/configs/single_locale/ash.py b/testing/mozharness/configs/single_locale/ash.py new file mode 100644 index 000000000..3036d4fba --- /dev/null +++ b/testing/mozharness/configs/single_locale/ash.py @@ -0,0 +1,46 @@ +# This configuration uses mozilla-central binaries (en-US, localized complete +# mars) and urls but it generates 'ash' artifacts. With this setup, binaries +# generated on ash are NOT overwriting mozilla-central files. +# Using this configuration, on a successful build, artifacts will be uploaded +# here: +# +# * http://dev-stage01.srv.releng.scl3.mozilla.com/pub/mozilla.org/firefox/nightly/latest-ash-l10n/ +# (in staging environment) +# * https://ftp.mozilla.org/pub/firefox/nightly/latest-ash-l10n/ +# (in production environment) +# +# If you really want to have localized ash builds, use the use the following +# values: +# * "en_us_binary_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/ash-%(platform)s/latest/", +# * "mar_tools_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/ash-%(platform)s/latest/", +# * "repo": "https://hg.mozilla.org/projects/ash", +# + +config = { + "nightly_build": True, + "branch": "ash", + "en_us_binary_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central/", + "update_channel": "nightly", + + # l10n + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + + # mar + "mar_tools_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central/mar-tools/%(platform)s", + + # repositories + "mozilla_dir": "ash", + "repos": [{ + "vcs": "hg", + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + }, { + "vcs": "hg", + "repo": "https://hg.mozilla.org/mozilla-central", + "branch": "default", + "dest": "ash", + }], + # purge options + 'is_automation': True, +} diff --git a/testing/mozharness/configs/single_locale/ash_android-api-15.py b/testing/mozharness/configs/single_locale/ash_android-api-15.py new file mode 100644 index 000000000..d3cae75b7 --- /dev/null +++ b/testing/mozharness/configs/single_locale/ash_android-api-15.py @@ -0,0 +1,97 @@ +BRANCH = "ash" +MOZ_UPDATE_CHANNEL = "nightly" +MOZILLA_DIR = BRANCH +OBJDIR = "obj-l10n" +EN_US_BINARY_URL = "http://archive.mozilla.org/pub/mobile/nightly/latest-%s-android-api-15/en-US" % BRANCH +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +config = { + "branch": BRANCH, + "log_name": "single_locale", + "objdir": OBJDIR, + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber", + "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR, + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US"], + "nightly_build": True, + 'balrog_credentials_file': 'oauth.txt', + "tools_repo": "https://hg.mozilla.org/build/tools", + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "repos": [{ + "repo": "https://hg.mozilla.org/projects/ash", + "branch": "default", + "dest": MOZILLA_DIR, + }, { + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "buildbot-configs" + }, { + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + 'vcs_share_base': HG_SHARE_BASE_DIR, + + "l10n_dir": "l10n-central", + "repack_env": { + # so ugly, bug 951238 + "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64", + "MOZ_OBJDIR": OBJDIR, + "EN_US_BINARY_URL": EN_US_BINARY_URL, + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL, + }, + "upload_branch": "%s-android-api-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-nightly" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + "stage_product": "mobile", + "platform": "android", + "build_type": "api-15-opt", + + # Balrog + "build_target": "Android_arm-eabi-gcc3", + + # Mock + "mock_target": "mozilla-centos6-x86_64-android", + "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache', + 'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General', + 'gtk2-devel', 'libnotify-devel', 'yasm', + 'alsa-lib-devel', 'libcurl-devel', + 'wireless-tools-devel', 'libX11-devel', + 'libXt-devel', 'mesa-libGL-devel', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], +} diff --git a/testing/mozharness/configs/single_locale/dev-mozilla-beta.py b/testing/mozharness/configs/single_locale/dev-mozilla-beta.py new file mode 100644 index 000000000..ef96b9b7c --- /dev/null +++ b/testing/mozharness/configs/single_locale/dev-mozilla-beta.py @@ -0,0 +1,37 @@ +config = { + "branch": "date", + "nightly_build": True, + "update_channel": "beta-dev", + + # l10n + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + + # repositories + # staging beta dev releases use date repo for now + "mozilla_dir": "date", + "repos": [{ + "vcs": "hg", + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + }, { + "vcs": "hg", + "repo": "https://hg.mozilla.org/projects/date", + "branch": "%(revision)s", + "dest": "date", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }], + # purge options + 'is_automation': True, + 'purge_minsize': 12, + 'default_actions': [ + "clobber", + "pull", + "clone-locales", + "list-locales", + "setup", + "repack", + "taskcluster-upload", + "summary", + ], +} diff --git a/testing/mozharness/configs/single_locale/dev-mozilla-release.py b/testing/mozharness/configs/single_locale/dev-mozilla-release.py new file mode 100644 index 000000000..09048310b --- /dev/null +++ b/testing/mozharness/configs/single_locale/dev-mozilla-release.py @@ -0,0 +1,37 @@ +config = { + "branch": "jamun", + "nightly_build": True, + "update_channel": "release-dev", + + # l10n + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-release", + + # repositories + # staging release uses jamun + "mozilla_dir": "jamun", + "repos": [{ + "vcs": "hg", + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + }, { + "vcs": "hg", + "repo": "https://hg.mozilla.org/projects/jamun", + "branch": "%(revision)s", + "dest": "jamun", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }], + # purge options + 'purge_minsize': 12, + 'is_automation': True, + 'default_actions': [ + "clobber", + "pull", + "clone-locales", + "list-locales", + "setup", + "repack", + "taskcluster-upload", + "summary", + ], +} diff --git a/testing/mozharness/configs/single_locale/linux.py b/testing/mozharness/configs/single_locale/linux.py new file mode 100644 index 000000000..3aa2c0349 --- /dev/null +++ b/testing/mozharness/configs/single_locale/linux.py @@ -0,0 +1,123 @@ +import os + +config = { + "platform": "linux", + "stage_product": "firefox", + "update_platform": "Linux_x86-gcc3", + "mozconfig": "%(branch)s/browser/config/mozconfigs/linux32/l10n-mozconfig", + "bootstrap_env": { + "MOZ_OBJDIR": "obj-l10n", + "EN_US_BINARY_URL": "%(en_us_binary_url)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "MOZ_UPDATE_CHANNEL": "%(update_channel)s", + "DIST": "%(abs_objdir)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "L10NBASEDIR": "../../l10n", + "MOZ_MAKE_COMPLETE_MAR": "1", + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + }, + "ssh_key_dir": "/home/mock_mozilla/.ssh", + "log_name": "single_locale", + "objdir": "obj-l10n", + "js_src_dir": "js/src", + "vcs_share_base": "/builds/hg-shared", + + # tooltool + 'tooltool_url': 'https://api.pub.build.mozilla.org/tooltool/', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'tooltool_manifest_src': 'browser/config/tooltool-manifests/linux32/releng.manifest', + # balrog credential file: + 'balrog_credentials_file': 'oauth.txt', + + # l10n + "ignore_locales": ["en-US", "ja-JP-mac"], + "l10n_dir": "l10n", + "locales_file": "%(branch)s/browser/locales/all-locales", + "locales_dir": "browser/locales", + "hg_l10n_tag": "default", + "merge_locales": True, + + # MAR + "previous_mar_dir": "dist/previous", + "current_mar_dir": "dist/current", + "update_mar_dir": "dist/update", # sure? + "previous_mar_filename": "previous.mar", + "current_work_mar_dir": "current.work", + "package_base_dir": "dist/l10n-stage", + "application_ini": "application.ini", + "buildid_section": 'App', + "buildid_option": "BuildID", + "unpack_script": "tools/update-packaging/unwrap_full_update.pl", + "incremental_update_script": "tools/update-packaging/make_incremental_update.sh", + "balrog_release_pusher_script": "scripts/updates/balrog-release-pusher.py", + "update_packaging_dir": "tools/update-packaging", + "local_mar_tool_dir": "dist/host/bin", + "mar": "mar", + "mbsdiff": "mbsdiff", + "current_mar_filename": "firefox-%(version)s.%(locale)s.linux-i686.complete.mar", + "complete_mar": "firefox-%(version)s.en-US.linux-i686.complete.mar", + "localized_mar": "firefox-%(version)s.%(locale)s.linux-i686.complete.mar", + "partial_mar": "firefox-%(version)s.%(locale)s.linux-i686.partial.%(from_buildid)s-%(to_buildid)s.mar", + 'installer_file': "firefox-%(version)s.en-US.linux-i686.tar.bz2", + + # Mock + 'mock_target': 'mozilla-centos6-x86_64', + 'mock_packages': [ + 'autoconf213', 'python', 'mozilla-python27', 'zip', 'mozilla-python27-mercurial', + 'git', 'ccache', 'perl-Test-Simple', 'perl-Config-General', + 'yasm', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + ### <-- from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'valgrind', + ######## 32 bit specific ########### + 'glibc-static.i686', 'libstdc++-static.i686', + 'gtk2-devel.i686', 'libnotify-devel.i686', + 'alsa-lib-devel.i686', 'libcurl-devel.i686', + 'wireless-tools-devel.i686', 'libX11-devel.i686', + 'libXt-devel.i686', 'mesa-libGL-devel.i686', + 'gnome-vfs2-devel.i686', 'GConf2-devel.i686', + 'pulseaudio-libs-devel.i686', + 'gstreamer-devel.i686', 'gstreamer-plugins-base-devel.i686', + # Packages already installed in the mock environment, as x86_64 + # packages. + 'glibc-devel.i686', 'libgcc.i686', 'libstdc++-devel.i686', + # yum likes to install .x86_64 -devel packages that satisfy .i686 + # -devel packages dependencies. So manually install the dependencies + # of the above packages. + 'ORBit2-devel.i686', 'atk-devel.i686', 'cairo-devel.i686', + 'check-devel.i686', 'dbus-devel.i686', 'dbus-glib-devel.i686', + 'fontconfig-devel.i686', 'glib2-devel.i686', + 'hal-devel.i686', 'libICE-devel.i686', 'libIDL-devel.i686', + 'libSM-devel.i686', 'libXau-devel.i686', 'libXcomposite-devel.i686', + 'libXcursor-devel.i686', 'libXdamage-devel.i686', + 'libXdmcp-devel.i686', 'libXext-devel.i686', 'libXfixes-devel.i686', + 'libXft-devel.i686', 'libXi-devel.i686', 'libXinerama-devel.i686', + 'libXrandr-devel.i686', 'libXrender-devel.i686', + 'libXxf86vm-devel.i686', 'libdrm-devel.i686', 'libidn-devel.i686', + 'libpng-devel.i686', 'libxcb-devel.i686', 'libxml2-devel.i686', + 'pango-devel.i686', 'perl-devel.i686', 'pixman-devel.i686', + 'zlib-devel.i686', + # Freetype packages need to be installed be version, because a newer + # version is available, but we don't want it for Firefox builds. + 'freetype-2.3.11-6.el6_1.8.i686', + 'freetype-devel-2.3.11-6.el6_1.8.i686', + 'freetype-2.3.11-6.el6_1.8.x86_64', + ######## 32 bit specific ########### + ], + 'mock_files': [ + ('/home/cltbld/.ssh', '/home/mock_mozilla/.ssh'), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/home/cltbld/.boto', '/builds/.boto'), + ('/builds/gapi.data', '/builds/gapi.data'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], +} diff --git a/testing/mozharness/configs/single_locale/linux32.py b/testing/mozharness/configs/single_locale/linux32.py new file mode 120000 index 000000000..e9866bbbf --- /dev/null +++ b/testing/mozharness/configs/single_locale/linux32.py @@ -0,0 +1 @@ +linux.py
\ No newline at end of file diff --git a/testing/mozharness/configs/single_locale/linux64.py b/testing/mozharness/configs/single_locale/linux64.py new file mode 100644 index 000000000..8a511e56d --- /dev/null +++ b/testing/mozharness/configs/single_locale/linux64.py @@ -0,0 +1,103 @@ +import os + +config = { + "platform": "linux64", + "stage_product": "firefox", + "update_platform": "Linux_x86_64-gcc3", + "mozconfig": "%(branch)s/browser/config/mozconfigs/linux64/l10n-mozconfig", + "bootstrap_env": { + "MOZ_OBJDIR": "obj-l10n", + "EN_US_BINARY_URL": "%(en_us_binary_url)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "MOZ_UPDATE_CHANNEL": "%(update_channel)s", + "DIST": "%(abs_objdir)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "L10NBASEDIR": "../../l10n", + "MOZ_MAKE_COMPLETE_MAR": "1", + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + }, + "ssh_key_dir": "/home/mock_mozilla/.ssh", + "log_name": "single_locale", + "objdir": "obj-l10n", + "js_src_dir": "js/src", + "vcs_share_base": "/builds/hg-shared", + + # tooltool + 'tooltool_url': 'https://api.pub.build.mozilla.org/tooltool/', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'tooltool_manifest_src': 'browser/config/tooltool-manifests/linux64/releng.manifest', + # balrog credential file: + 'balrog_credentials_file': 'oauth.txt', + + # l10n + "ignore_locales": ["en-US", "ja-JP-mac"], + "l10n_dir": "l10n", + "locales_file": "%(branch)s/browser/locales/all-locales", + "locales_dir": "browser/locales", + "hg_l10n_tag": "default", + "merge_locales": True, + + # MAR + "previous_mar_dir": "dist/previous", + "current_mar_dir": "dist/current", + "update_mar_dir": "dist/update", # sure? + "previous_mar_filename": "previous.mar", + "current_work_mar_dir": "current.work", + "package_base_dir": "dist/l10n-stage", + "application_ini": "application.ini", + "buildid_section": 'App', + "buildid_option": "BuildID", + "unpack_script": "tools/update-packaging/unwrap_full_update.pl", + "incremental_update_script": "tools/update-packaging/make_incremental_update.sh", + "balrog_release_pusher_script": "scripts/updates/balrog-release-pusher.py", + "update_packaging_dir": "tools/update-packaging", + "local_mar_tool_dir": "dist/host/bin", + "mar": "mar", + "mbsdiff": "mbsdiff", + "current_mar_filename": "firefox-%(version)s.%(locale)s.linux-x86_64.complete.mar", + "complete_mar": "firefox-%(version)s.en-US.linux-x86_64.complete.mar", + "localized_mar": "firefox-%(version)s.%(locale)s.linux-x86_64.complete.mar", + "partial_mar": "firefox-%(version)s.%(locale)s.linux-x86_64.partial.%(from_buildid)s-%(to_buildid)s.mar", + "installer_file": "firefox-%(version)s.en-US.linux-x86_64.tar.bz2", + + # Mock + 'mock_target': 'mozilla-centos6-x86_64', + + 'mock_packages': [ + 'autoconf213', 'python', 'mozilla-python27', 'zip', 'mozilla-python27-mercurial', + 'git', 'ccache', 'perl-Test-Simple', 'perl-Config-General', + 'yasm', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + ### <-- from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'valgrind', 'dbus-x11', + ######## 64 bit specific ########### + 'glibc-static', 'libstdc++-static', + 'gtk2-devel', 'libnotify-devel', + 'alsa-lib-devel', 'libcurl-devel', 'wireless-tools-devel', + 'libX11-devel', 'libXt-devel', 'mesa-libGL-devel', 'gnome-vfs2-devel', + 'GConf2-devel', + ### from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'pulseaudio-libs-devel', 'gstreamer-devel', + 'gstreamer-plugins-base-devel', 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64' + ], + 'mock_files': [ + ('/home/cltbld/.ssh', '/home/mock_mozilla/.ssh'), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/home/cltbld/.boto', '/builds/.boto'), + ('/builds/gapi.data', '/builds/gapi.data'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], +} diff --git a/testing/mozharness/configs/single_locale/macosx64.py b/testing/mozharness/configs/single_locale/macosx64.py new file mode 100644 index 000000000..c2ee47674 --- /dev/null +++ b/testing/mozharness/configs/single_locale/macosx64.py @@ -0,0 +1,72 @@ +import os + +config = { + # mozconfig file to use, it depends on branch and platform names + "platform": "macosx64", + "stage_product": "firefox", + "update_platform": "Darwin_x86_64-gcc3", + "mozconfig": "%(branch)s/browser/config/mozconfigs/macosx-universal/l10n-mozconfig", + "bootstrap_env": { + "SHELL": '/bin/bash', + "MOZ_OBJDIR": "obj-l10n", + "EN_US_BINARY_URL": "%(en_us_binary_url)s", + "MOZ_UPDATE_CHANNEL": "%(update_channel)s", + "MOZ_PKG_PLATFORM": "mac", + # "IS_NIGHTLY": "yes", + "DIST": "%(abs_objdir)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "L10NBASEDIR": "../../l10n", + "MOZ_MAKE_COMPLETE_MAR": "1", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + }, + "ssh_key_dir": "~/.ssh", + "log_name": "single_locale", + "objdir": "obj-l10n", + "js_src_dir": "js/src", + "vcs_share_base": "/builds/hg-shared", + + "upload_env_extra": { + "MOZ_PKG_PLATFORM": "mac", + }, + + # tooltool + 'tooltool_url': 'https://api.pub.build.mozilla.org/tooltool/', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'tooltool_manifest_src': 'browser/config/tooltool-manifests/macosx64/releng.manifest', + # balrog credential file: + 'balrog_credentials_file': 'oauth.txt', + + # l10n + "ignore_locales": ["en-US", "ja"], + "l10n_dir": "l10n", + "locales_file": "%(branch)s/browser/locales/all-locales", + "locales_dir": "browser/locales", + "hg_l10n_tag": "default", + "merge_locales": True, + + # MAR + "previous_mar_dir": "dist/previous", + "current_mar_dir": "dist/current", + "update_mar_dir": "dist/update", # sure? + "previous_mar_filename": "previous.mar", + "current_work_mar_dir": "current.work", + "package_base_dir": "dist/l10n-stage", + "application_ini": "Contents/Resources/application.ini", + "buildid_section": 'App', + "buildid_option": "BuildID", + "unpack_script": "tools/update-packaging/unwrap_full_update.pl", + "incremental_update_script": "tools/update-packaging/make_incremental_update.sh", + "balrog_release_pusher_script": "scripts/updates/balrog-release-pusher.py", + "update_packaging_dir": "tools/update-packaging", + "local_mar_tool_dir": "dist/host/bin", + "mar": "mar", + "mbsdiff": "mbsdiff", + "current_mar_filename": "firefox-%(version)s.%(locale)s.mac.complete.mar", + "complete_mar": "firefox-%(version)s.en-US.mac.complete.mar", + "localized_mar": "firefox-%(version)s.%(locale)s.mac.complete.mar", + "partial_mar": "firefox-%(version)s.%(locale)s.mac.partial.%(from_buildid)s-%(to_buildid)s.mar", + 'installer_file': "firefox-%(version)s.en-US.mac.dmg", +} diff --git a/testing/mozharness/configs/single_locale/mozilla-aurora.py b/testing/mozharness/configs/single_locale/mozilla-aurora.py new file mode 100644 index 000000000..1ce85f726 --- /dev/null +++ b/testing/mozharness/configs/single_locale/mozilla-aurora.py @@ -0,0 +1,29 @@ +config = { + "nightly_build": True, + "branch": "mozilla-aurora", + "en_us_binary_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-aurora/", + "update_channel": "aurora", + + # l10n + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-aurora", + + # mar + "mar_tools_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-aurora/mar-tools/%(platform)s", + + # repositories + "mozilla_dir": "mozilla-aurora", + "repos": [{ + "vcs": "hg", + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + }, { + "vcs": "hg", + "repo": "https://hg.mozilla.org/releases/mozilla-aurora", + "branch": "default", + "dest": "mozilla-aurora", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }], + # purge options + 'is_automation': True, +} diff --git a/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-15.py b/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-15.py new file mode 100644 index 000000000..103922a78 --- /dev/null +++ b/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-15.py @@ -0,0 +1,97 @@ +BRANCH = "mozilla-aurora" +MOZ_UPDATE_CHANNEL = "aurora" +MOZILLA_DIR = BRANCH +OBJDIR = "obj-l10n" +EN_US_BINARY_URL = "http://archive.mozilla.org/pub/mobile/nightly/latest-%s-android-api-15/en-US" % BRANCH +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +config = { + "branch": BRANCH, + "log_name": "single_locale", + "objdir": OBJDIR, + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber", + "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR, + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US"], + "nightly_build": True, + 'balrog_credentials_file': 'oauth.txt', + "tools_repo": "https://hg.mozilla.org/build/tools", + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-aurora", + "branch": "default", + "dest": MOZILLA_DIR, + }, { + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "buildbot-configs" + }, { + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/%s" % BRANCH, + "hg_l10n_tag": "default", + 'vcs_share_base': HG_SHARE_BASE_DIR, + + "l10n_dir": MOZILLA_DIR, + "repack_env": { + # so ugly, bug 951238 + "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64", + "MOZ_OBJDIR": OBJDIR, + "EN_US_BINARY_URL": EN_US_BINARY_URL, + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL, + }, + "upload_branch": "%s-android-api-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-nightly" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + "stage_product": "mobile", + "platform": "android", + "build_type": "api-15-opt", + + # Balrog + "build_target": "Android_arm-eabi-gcc3", + + # Mock + "mock_target": "mozilla-centos6-x86_64-android", + "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache', + 'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General', + 'gtk2-devel', 'libnotify-devel', 'yasm', + 'alsa-lib-devel', 'libcurl-devel', + 'wireless-tools-devel', 'libX11-devel', + 'libXt-devel', 'mesa-libGL-devel', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], +} diff --git a/testing/mozharness/configs/single_locale/mozilla-beta.py b/testing/mozharness/configs/single_locale/mozilla-beta.py new file mode 100644 index 000000000..90ff23027 --- /dev/null +++ b/testing/mozharness/configs/single_locale/mozilla-beta.py @@ -0,0 +1,37 @@ +config = { + "nightly_build": True, + "branch": "mozilla-beta", + "en_us_binary_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-beta/", + "update_channel": "beta", + + # l10n + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + + # repositories + "mozilla_dir": "mozilla-beta", + "repos": [{ + "vcs": "hg", + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + }, { + "vcs": "hg", + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "revision": "%(revision)s", + "dest": "mozilla-beta", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }], + # purge options + 'purge_minsize': 12, + 'is_automation': True, + 'default_actions': [ + "clobber", + "pull", + "clone-locales", + "list-locales", + "setup", + "repack", + "taskcluster-upload", + "summary", + ], +} diff --git a/testing/mozharness/configs/single_locale/mozilla-central.py b/testing/mozharness/configs/single_locale/mozilla-central.py new file mode 100644 index 000000000..c2bf974d6 --- /dev/null +++ b/testing/mozharness/configs/single_locale/mozilla-central.py @@ -0,0 +1,29 @@ +config = { + "nightly_build": True, + "branch": "mozilla-central", + "en_us_binary_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central/", + "update_channel": "nightly", + + # l10n + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + + # mar + "mar_tools_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central/mar-tools/%(platform)s", + + # repositories + "mozilla_dir": "mozilla-central", + "repos": [{ + "vcs": "hg", + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + }, { + "vcs": "hg", + "repo": "https://hg.mozilla.org/mozilla-central", + "revision": "%(revision)s", + "dest": "mozilla-central", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }], + # purge options + 'is_automation': True, +} diff --git a/testing/mozharness/configs/single_locale/mozilla-central_android-api-15.py b/testing/mozharness/configs/single_locale/mozilla-central_android-api-15.py new file mode 100644 index 000000000..d2b6623c3 --- /dev/null +++ b/testing/mozharness/configs/single_locale/mozilla-central_android-api-15.py @@ -0,0 +1,97 @@ +BRANCH = "mozilla-central" +MOZ_UPDATE_CHANNEL = "nightly" +MOZILLA_DIR = BRANCH +OBJDIR = "obj-l10n" +EN_US_BINARY_URL = "http://archive.mozilla.org/pub/mobile/nightly/latest-%s-android-api-15/en-US" % BRANCH +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +config = { + "branch": BRANCH, + "log_name": "single_locale", + "objdir": OBJDIR, + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber", + "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR, + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US"], + "nightly_build": True, + 'balrog_credentials_file': 'oauth.txt', + "tools_repo": "https://hg.mozilla.org/build/tools", + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "repos": [{ + "repo": "https://hg.mozilla.org/mozilla-central", + "branch": "default", + "dest": MOZILLA_DIR, + }, { + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "buildbot-configs" + }, { + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + 'vcs_share_base': HG_SHARE_BASE_DIR, + + "l10n_dir": "l10n-central", + "repack_env": { + # so ugly, bug 951238 + "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64", + "MOZ_OBJDIR": OBJDIR, + "EN_US_BINARY_URL": EN_US_BINARY_URL, + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL, + }, + "upload_branch": "%s-android-api-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-nightly" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + "stage_product": "mobile", + "platform": "android", + "build_type": "api-15-opt", + + # Balrog + "build_target": "Android_arm-eabi-gcc3", + + # Mock + "mock_target": "mozilla-centos6-x86_64-android", + "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache', + 'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General', + 'gtk2-devel', 'libnotify-devel', 'yasm', + 'alsa-lib-devel', 'libcurl-devel', + 'wireless-tools-devel', 'libX11-devel', + 'libXt-devel', 'mesa-libGL-devel', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], +} diff --git a/testing/mozharness/configs/single_locale/mozilla-esr52.py b/testing/mozharness/configs/single_locale/mozilla-esr52.py new file mode 100644 index 000000000..0d01f1340 --- /dev/null +++ b/testing/mozharness/configs/single_locale/mozilla-esr52.py @@ -0,0 +1,37 @@ +config = { + "nightly_build": True, + "branch": "mozilla-esr52", + "en_us_binary_url": "https://archive.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-esr52/", + "update_channel": "esr", + + # l10n + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-release", + + # repositories + "mozilla_dir": "mozilla-esr52", + "repos": [{ + "vcs": "hg", + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + }, { + "vcs": "hg", + "repo": "https://hg.mozilla.org/releases/mozilla-esr52", + "revision": "%(revision)s", + "dest": "mozilla-esr52", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }], + # purge options + 'purge_minsize': 12, + 'is_automation': True, + 'default_actions': [ + "clobber", + "pull", + "clone-locales", + "list-locales", + "setup", + "repack", + "taskcluster-upload", + "summary", + ], +} diff --git a/testing/mozharness/configs/single_locale/mozilla-release.py b/testing/mozharness/configs/single_locale/mozilla-release.py new file mode 100644 index 000000000..f02ea2ca9 --- /dev/null +++ b/testing/mozharness/configs/single_locale/mozilla-release.py @@ -0,0 +1,37 @@ +config = { + "nightly_build": True, + "branch": "mozilla-release", + "en_us_binary_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-release/", + "update_channel": "release", + + # l10n + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-release", + + # repositories + "mozilla_dir": "mozilla-release", + "repos": [{ + "vcs": "hg", + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + }, { + "vcs": "hg", + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "revision": "%(revision)s", + "dest": "mozilla-release", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }], + # purge options + 'purge_minsize': 12, + 'is_automation': True, + 'default_actions': [ + "clobber", + "pull", + "clone-locales", + "list-locales", + "setup", + "repack", + "taskcluster-upload", + "summary", + ], +} diff --git a/testing/mozharness/configs/single_locale/production.py b/testing/mozharness/configs/single_locale/production.py new file mode 100644 index 000000000..fe97fe361 --- /dev/null +++ b/testing/mozharness/configs/single_locale/production.py @@ -0,0 +1,14 @@ +config = { + "upload_environment": "prod", + "upload_env": { + "UPLOAD_USER": "ffxbld", + # ssh_key_dir is defined per platform: it is "~/.ssh" for every platform + # except when mock is in use, in this case, ssh_key_dir is + # /home/mock_mozilla/.ssh + "UPLOAD_SSH_KEY": "%(ssh_key_dir)s/ffxbld_rsa", + "UPLOAD_HOST": "upload.ffxbld.productdelivery.prod.mozaws.net", + "POST_UPLOAD_CMD": "post_upload.py -b %(branch)s-l10n -p %(stage_product)s -i %(buildid)s --release-to-latest --release-to-dated", + "UPLOAD_TO_TEMP": "1" + }, + 'taskcluster_index': 'index', +} diff --git a/testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_15.py b/testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_15.py new file mode 100644 index 000000000..976f21f44 --- /dev/null +++ b/testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_15.py @@ -0,0 +1,97 @@ +BRANCH = "mozilla-beta" +MOZ_UPDATE_CHANNEL = "beta" +MOZILLA_DIR = BRANCH +OBJDIR = "obj-l10n" +EN_US_BINARY_URL = "http://archive.mozilla.org/pub/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-15/en-US" +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +config = { + "stage_product": "mobile", + "log_name": "single_locale", + "objdir": OBJDIR, + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber", + "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_dir": "mobile/android/locales", + "locales_platform": "android", + "ignore_locales": ["en-US"], + "balrog_credentials_file": "oauth.txt", + "tools_repo": "https://hg.mozilla.org/build/tools", + "is_release_or_beta": True, + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "branch": "default", + "dest": MOZILLA_DIR, + }, { + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "buildbot-configs" + }, { + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/%s" % BRANCH, + "hg_l10n_tag": "default", + 'vcs_share_base': HG_SHARE_BASE_DIR, + "l10n_dir": MOZILLA_DIR, + + "release_config_file": "buildbot-configs/mozilla/release-fennec-mozilla-beta.py", + "repack_env": { + # so ugly, bug 951238 + "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64", + "MOZ_PKG_VERSION": "%(version)s", + "MOZ_OBJDIR": OBJDIR, + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL, + }, + "base_en_us_binary_url": EN_US_BINARY_URL, + "upload_branch": "%s-android-api-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-15/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates %(post_upload_extra)s", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-release" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + "key_alias": "release", + # Mock + "mock_target": "mozilla-centos6-x86_64-android", + "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache', + 'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General', + 'gtk2-devel', 'libnotify-devel', 'yasm', + 'alsa-lib-devel', 'libcurl-devel', + 'wireless-tools-devel', 'libX11-devel', + 'libXt-devel', 'mesa-libGL-devel', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ('/builds/mozilla-fennec-geoloc-api.key', '/builds/mozilla-fennec-geoloc-api.key'), + ('/builds/adjust-sdk-beta.token', '/builds/adjust-sdk-beta.token'), + ], +} diff --git a/testing/mozharness/configs/single_locale/release_mozilla-release_android_api_15.py b/testing/mozharness/configs/single_locale/release_mozilla-release_android_api_15.py new file mode 100644 index 000000000..22d0074bb --- /dev/null +++ b/testing/mozharness/configs/single_locale/release_mozilla-release_android_api_15.py @@ -0,0 +1,97 @@ +BRANCH = "mozilla-release" +MOZ_UPDATE_CHANNEL = "release" +MOZILLA_DIR = BRANCH +OBJDIR = "obj-l10n" +EN_US_BINARY_URL = "http://archive.mozilla.org/pub/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-15/en-US" +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +config = { + "stage_product": "mobile", + "log_name": "single_locale", + "objdir": OBJDIR, + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber", + "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-release.json", + "locales_dir": "mobile/android/locales", + "locales_platform": "android", + "ignore_locales": ["en-US"], + "balrog_credentials_file": "oauth.txt", + "tools_repo": "https://hg.mozilla.org/build/tools", + "is_release_or_beta": True, + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "repos": [{ + "repo": "https://hg.mozilla.org/releases/mozilla-release", + "branch": "default", + "dest": MOZILLA_DIR, + }, { + "repo": "https://hg.mozilla.org/build/buildbot-configs", + "branch": "default", + "dest": "buildbot-configs" + }, { + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/%s" % BRANCH, + "hg_l10n_tag": "default", + 'vcs_share_base': HG_SHARE_BASE_DIR, + "l10n_dir": MOZILLA_DIR, + + "release_config_file": "buildbot-configs/mozilla/release-fennec-mozilla-release.py", + "repack_env": { + # so ugly, bug 951238 + "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64", + "MOZ_PKG_VERSION": "%(version)s", + "MOZ_OBJDIR": OBJDIR, + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL, + }, + "base_en_us_binary_url": EN_US_BINARY_URL, + "upload_branch": "%s-android-api-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-15/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates %(post_upload_extra)s", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-release" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + "key_alias": "release", + # Mock + "mock_target": "mozilla-centos6-x86_64-android", + "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache', + 'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General', + 'gtk2-devel', 'libnotify-devel', 'yasm', + 'alsa-lib-devel', 'libcurl-devel', + 'wireless-tools-devel', 'libX11-devel', + 'libXt-devel', 'mesa-libGL-devel', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ('/builds/mozilla-fennec-geoloc-api.key', '/builds/mozilla-fennec-geoloc-api.key'), + ('/builds/adjust-sdk.token', '/builds/adjust-sdk.token'), + ], +} diff --git a/testing/mozharness/configs/single_locale/staging.py b/testing/mozharness/configs/single_locale/staging.py new file mode 100644 index 000000000..82caa8dda --- /dev/null +++ b/testing/mozharness/configs/single_locale/staging.py @@ -0,0 +1,17 @@ +config = { + "upload_environment": "stage", + "upload_env": { + "UPLOAD_USER": "ffxbld", + # ssh_key_dir is defined per platform: it is "~/.ssh" for every platform + # except when mock is in use, in this case, ssh_key_dir is + # /home/mock_mozilla/.ssh + "UPLOAD_SSH_KEY": "%(ssh_key_dir)s/ffxbld_rsa", + "UPLOAD_HOST": "upload.ffxbld.productdelivery.stage.mozaws.net", + "POST_UPLOAD_CMD": "post_upload.py -b %(branch)s-l10n -p %(stage_product)s -i %(buildid)s --release-to-latest --release-to-dated %(post_upload_extra)s", + "UPLOAD_TO_TEMP": "1" + }, + 'taskcluster_index': 'index.garbage.staging', + 'post_upload_extra': ['--bucket-prefix', 'net-mozaws-stage-delivery', + '--url-prefix', 'http://ftp.stage.mozaws.net/', + ], +} diff --git a/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_15.py b/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_15.py new file mode 100644 index 000000000..7f7d3e4e2 --- /dev/null +++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_15.py @@ -0,0 +1,97 @@ +BRANCH = "mozilla-beta" +MOZ_UPDATE_CHANNEL = "beta" +MOZILLA_DIR = BRANCH +OBJDIR = "obj-l10n" +STAGE_SERVER = "ftp.stage.mozaws.net" +EN_US_BINARY_URL = "http://" + STAGE_SERVER + "/pub/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-15/en-US" +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +config = { + "log_name": "single_locale", + "objdir": OBJDIR, + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api-pub-build.allizom.org/clobberer/lastclobber", + "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-beta.json", + "locales_dir": "mobile/android/locales", + "locales_platform": "android", + "ignore_locales": ["en-US"], + "balrog_credentials_file": "oauth.txt", + "tools_repo": "https://hg.mozilla.org/build/tools", + "is_release_or_beta": True, + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-beta", + "branch": "default", + "dest": MOZILLA_DIR, + }, { + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "buildbot-configs" + }, { + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s/", + "hg_l10n_tag": "default", + 'vcs_share_base': HG_SHARE_BASE_DIR, + "l10n_dir": MOZILLA_DIR, + + "release_config_file": "buildbot-configs/mozilla/staging_release-fennec-mozilla-beta.py", + "repack_env": { + # so ugly, bug 951238 + "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64", + "MOZ_PKG_VERSION": "%(version)s", + "MOZ_OBJDIR": OBJDIR, + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL, + }, + "base_en_us_binary_url": EN_US_BINARY_URL, + "upload_branch": "%s-android-api-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-15/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates %(post_upload_extra)s", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-release" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + + # Mock + "mock_target": "mozilla-centos6-x86_64-android", + "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache', + 'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General', + 'gtk2-devel', 'libnotify-devel', 'yasm', + 'alsa-lib-devel', 'libcurl-devel', + 'wireless-tools-devel', 'libX11-devel', + 'libXt-devel', 'mesa-libGL-devel', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ('/builds/mozilla-fennec-geoloc-api.key', '/builds/mozilla-fennec-geoloc-api.key'), + ('/builds/adjust-sdk-beta.token', '/builds/adjust-sdk-beta.token'), + ], +} diff --git a/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_15.py b/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_15.py new file mode 100644 index 000000000..da4803a60 --- /dev/null +++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_15.py @@ -0,0 +1,97 @@ +BRANCH = "mozilla-release" +MOZ_UPDATE_CHANNEL = "release" +MOZILLA_DIR = BRANCH +OBJDIR = "obj-l10n" +STAGE_SERVER = "dev-stage01.srv.releng.scl3.mozilla.com" +EN_US_BINARY_URL = "http://" + STAGE_SERVER + "/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-15/en-US" +HG_SHARE_BASE_DIR = "/builds/hg-shared" + +config = { + "log_name": "single_locale", + "objdir": OBJDIR, + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api-pub-build.allizom.org/clobberer/lastclobber", + "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-release.json", + "locales_dir": "mobile/android/locales", + "locales_platform": "android", + "ignore_locales": ["en-US"], + "balrog_credentials_file": "oauth.txt", + "tools_repo": "https://hg.mozilla.org/build/tools", + "is_release_or_beta": True, + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "repos": [{ + "repo": "https://hg.mozilla.org/%(user_repo_override)s/mozilla-release", + "branch": "default", + "dest": MOZILLA_DIR, + }, { + "repo": "https://hg.mozilla.org/%(user_repo_override)s/buildbot-configs", + "branch": "default", + "dest": "buildbot-configs" + }, { + "repo": "https://hg.mozilla.org/%(user_repo_override)s/tools", + "branch": "default", + "dest": "tools" + }], + "hg_l10n_base": "https://hg.mozilla.org/%(user_repo_override)s/", + "hg_l10n_tag": "default", + 'vcs_share_base': HG_SHARE_BASE_DIR, + "l10n_dir": MOZILLA_DIR, + + "release_config_file": "buildbot-configs/mozilla/staging_release-fennec-mozilla-release.py", + "repack_env": { + # so ugly, bug 951238 + "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64", + "MOZ_PKG_VERSION": "%(version)s", + "MOZ_OBJDIR": OBJDIR, + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "MOZ_UPDATE_CHANNEL": MOZ_UPDATE_CHANNEL, + }, + "base_en_us_binary_url": EN_US_BINARY_URL, + "upload_branch": "%s-android-api-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "base_post_upload_cmd": "post_upload.py -p mobile -n %(buildnum)s -v %(version)s --builddir android-api-15/%(locale)s --release-to-mobile-candidates-dir --nightly-dir=candidates %(post_upload_extra)s", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-release" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + + # Mock + "mock_target": "mozilla-centos6-x86_64-android", + "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache', + 'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General', + 'gtk2-devel', 'libnotify-devel', 'yasm', + 'alsa-lib-devel', 'libcurl-devel', + 'wireless-tools-devel', 'libX11-devel', + 'libXt-devel', 'mesa-libGL-devel', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ('/builds/mozilla-fennec-geoloc-api.key', '/builds/mozilla-fennec-geoloc-api.key'), + ('/builds/adjust-sdk.token', '/builds/adjust-sdk.token'), + ], +} diff --git a/testing/mozharness/configs/single_locale/tc_android-api-15.py b/testing/mozharness/configs/single_locale/tc_android-api-15.py new file mode 100644 index 000000000..f15b254dc --- /dev/null +++ b/testing/mozharness/configs/single_locale/tc_android-api-15.py @@ -0,0 +1,18 @@ +import os + +config = { + "locales_file": "src/mobile/android/locales/all-locales", + "tools_repo": "https://hg.mozilla.org/build/tools", + "mozconfig": "src/mobile/android/config/mozconfigs/android-api-15/l10n-nightly", + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/src", + }, + "tooltool_servers": ['http://relengapi/tooltool/'], + + "upload_env": { + 'UPLOAD_HOST': 'localhost', + 'UPLOAD_PATH': '/home/worker/artifacts/', + }, + "mozilla_dir": "src/", +} diff --git a/testing/mozharness/configs/single_locale/tc_linux32.py b/testing/mozharness/configs/single_locale/tc_linux32.py new file mode 100644 index 000000000..3045138f8 --- /dev/null +++ b/testing/mozharness/configs/single_locale/tc_linux32.py @@ -0,0 +1,24 @@ +import os + +config = { + "locales_file": "src/browser/locales/all-locales", + "tools_repo": "https://hg.mozilla.org/build/tools", + "mozconfig": "src/browser/config/mozconfigs/linux32/l10n-mozconfig", + "bootstrap_env": { + "NO_MERCURIAL_SETUP_CHECK": "1", + "MOZ_OBJDIR": "obj-l10n", + "EN_US_BINARY_URL": "%(en_us_binary_url)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "MOZ_UPDATE_CHANNEL": "%(update_channel)s", + "DIST": "%(abs_objdir)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "L10NBASEDIR": "../../l10n", + "MOZ_MAKE_COMPLETE_MAR": "1", + 'TOOLTOOL_CACHE': os.environ.get('TOOLTOOL_CACHE'), + }, + "upload_env": { + 'UPLOAD_HOST': 'localhost', + 'UPLOAD_PATH': '/home/worker/artifacts/', + }, + "mozilla_dir": "src/", +} diff --git a/testing/mozharness/configs/single_locale/tc_linux64.py b/testing/mozharness/configs/single_locale/tc_linux64.py new file mode 100644 index 000000000..28a4c6f56 --- /dev/null +++ b/testing/mozharness/configs/single_locale/tc_linux64.py @@ -0,0 +1,24 @@ +import os + +config = { + "locales_file": "src/browser/locales/all-locales", + "tools_repo": "https://hg.mozilla.org/build/tools", + "mozconfig": "src/browser/config/mozconfigs/linux64/l10n-mozconfig", + "bootstrap_env": { + "NO_MERCURIAL_SETUP_CHECK": "1", + "MOZ_OBJDIR": "obj-l10n", + "EN_US_BINARY_URL": "%(en_us_binary_url)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "MOZ_UPDATE_CHANNEL": "%(update_channel)s", + "DIST": "%(abs_objdir)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "L10NBASEDIR": "../../l10n", + "MOZ_MAKE_COMPLETE_MAR": "1", + 'TOOLTOOL_CACHE': os.environ.get('TOOLTOOL_CACHE'), + }, + "upload_env": { + 'UPLOAD_HOST': 'localhost', + 'UPLOAD_PATH': '/home/worker/artifacts/', + }, + "mozilla_dir": "src/", +} diff --git a/testing/mozharness/configs/single_locale/try.py b/testing/mozharness/configs/single_locale/try.py new file mode 100644 index 000000000..369159111 --- /dev/null +++ b/testing/mozharness/configs/single_locale/try.py @@ -0,0 +1,42 @@ +config = { + "nightly_build": False, + "branch": "try", + "en_us_binary_url": "http://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central", + "update_channel": "nightly", + "update_gecko_source_to_enUS": False, + + # l10n + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + + # mar + "mar_tools_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central/mar-tools/%(platform)s", + + # repositories + "mozilla_dir": "try", + "repos": [{ + "vcs": "hg", + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + }, { + "vcs": "hg", + "repo": "https://hg.mozilla.org/try", + "revision": "%(revision)s", + "dest": "try", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + "clone_by_revision": True, + "clone_with_purge": True, + }], + # purge options + 'is_automation': True, + "upload_env": { + "UPLOAD_USER": "trybld", + # ssh_key_dir is defined per platform: it is "~/.ssh" for every platform + # except when mock is in use, in this case, ssh_key_dir is + # /home/mock_mozilla/.ssh + "UPLOAD_SSH_KEY": "%(ssh_key_dir)s/trybld_dsa", + "UPLOAD_HOST": "upload.trybld.productdelivery.%(upload_environment)s.mozaws.net", + "POST_UPLOAD_CMD": "post_upload.py --who %(who)s --builddir %(branch)s-%(platform)s --tinderbox-builds-dir %(who)s-%(revision)s -p %(stage_product)s -i %(buildid)s --revision %(revision)s --release-to-try-builds %(post_upload_extra)s", + "UPLOAD_TO_TEMP": "1" + }, +} diff --git a/testing/mozharness/configs/single_locale/try_android-api-15.py b/testing/mozharness/configs/single_locale/try_android-api-15.py new file mode 100644 index 000000000..74d397b65 --- /dev/null +++ b/testing/mozharness/configs/single_locale/try_android-api-15.py @@ -0,0 +1,97 @@ +BRANCH = "try" +MOZILLA_DIR = BRANCH +EN_US_BINARY_URL = "http://archive.mozilla.org/pub/" \ + "mobile/nightly/latest-mozilla-central-android-api-15/en-US" + +config = { + "branch": "try", + "log_name": "single_locale", + "objdir": "obj-l10n", + "is_automation": True, + "buildbot_json_path": "buildprops.json", + "force_clobber": True, + "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber", + "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR, + "locales_dir": "mobile/android/locales", + "ignore_locales": ["en-US"], + "nightly_build": False, + 'balrog_credentials_file': 'oauth.txt', + "tools_repo": "https://hg.mozilla.org/build/tools", + "tooltool_config": { + "manifest": "mobile/android/config/tooltool-manifests/android/releng.manifest", + "output_dir": "%(abs_work_dir)s/" + MOZILLA_DIR, + }, + "exes": { + 'tooltool.py': '/builds/tooltool.py', + }, + "update_gecko_source_to_enUS": False, + "repos": [{ + "vcs": "hg", + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + }, { + "vcs": "hg", + "repo": "https://hg.mozilla.org/try", + "revision": "%(revision)s", + "dest": "try", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + "clone_by_revision": True, + "clone_with_purge": True, + }], + "hg_l10n_base": "https://hg.mozilla.org/l10n-central", + "hg_l10n_tag": "default", + 'vcs_share_base': "/builds/hg-shared", + + "l10n_dir": "l10n-central", + "repack_env": { + # so ugly, bug 951238 + "LD_LIBRARY_PATH": "/lib:/tools/gcc-4.7.2-0moz1/lib:/tools/gcc-4.7.2-0moz1/lib64", + "MOZ_OBJDIR": "obj-l10n", + "EN_US_BINARY_URL": EN_US_BINARY_URL, + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "MOZ_UPDATE_CHANNEL": "try", # XXX Invalid + }, + "upload_branch": "%s-android-api-15" % BRANCH, + "ssh_key_dir": "~/.ssh", + "merge_locales": True, + "mozilla_dir": MOZILLA_DIR, + "mozconfig": "%s/mobile/android/config/mozconfigs/android-api-15/l10n-nightly" % MOZILLA_DIR, + "signature_verification_script": "tools/release/signing/verify-android-signature.sh", + "stage_product": "mobile", + "platform": "android", # XXX Validate + "build_type": "api-15-opt", # XXX Validate + + # Balrog + "build_target": "Android_arm-eabi-gcc3", + + # Mock + "mock_target": "mozilla-centos6-x86_64-android", + "mock_packages": ['autoconf213', 'python', 'zip', 'mozilla-python27-mercurial', 'git', 'ccache', + 'glibc-static', 'libstdc++-static', 'perl-Test-Simple', 'perl-Config-General', + 'gtk2-devel', 'libnotify-devel', 'yasm', + 'alsa-lib-devel', 'libcurl-devel', + 'wireless-tools-devel', 'libX11-devel', + 'libXt-devel', 'mesa-libGL-devel', + 'gnome-vfs2-devel', 'GConf2-devel', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', 'yasm', 'ccache', # <-- from releng repo + 'valgrind', 'dbus-x11', + 'pulseaudio-libs-devel', + 'gstreamer-devel', 'gstreamer-plugins-base-devel', + 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64', + 'java-1.7.0-openjdk-devel', + 'openssh-clients', + 'zlib-devel-1.2.3-27.el6.i686', + ], + "mock_files": [ + ("/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], +} diff --git a/testing/mozharness/configs/single_locale/win32.py b/testing/mozharness/configs/single_locale/win32.py new file mode 100644 index 000000000..ea07fff86 --- /dev/null +++ b/testing/mozharness/configs/single_locale/win32.py @@ -0,0 +1,77 @@ +import os +import sys + +config = { + "platform": "win32", + "stage_product": "firefox", + "update_platform": "WINNT_x86-msvc", + "mozconfig": "%(branch)s/browser/config/mozconfigs/win32/l10n-mozconfig", + "bootstrap_env": { + "MOZ_OBJDIR": "obj-l10n", + "EN_US_BINARY_URL": "%(en_us_binary_url)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s", + "MOZ_UPDATE_CHANNEL": "%(update_channel)s", + "DIST": "%(abs_objdir)s", + "L10NBASEDIR": "../../l10n", + "MOZ_MAKE_COMPLETE_MAR": "1", + "PATH": 'C:\\mozilla-build\\nsis-3.01;' + '%s' % (os.environ.get('path')), + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + }, + "ssh_key_dir": "~/.ssh", + "log_name": "single_locale", + "objdir": "obj-l10n", + "js_src_dir": "js/src", + "vcs_share_base": "c:/builds/hg-shared", + + # tooltool + 'tooltool_url': 'https://api.pub.build.mozilla.org/tooltool/', + 'tooltool_script': [sys.executable, + 'C:/mozilla-build/tooltool.py'], + 'tooltool_bootstrap': "setup.sh", + 'tooltool_manifest_src': 'browser/config/tooltool-manifests/win32/releng.manifest', + # balrog credential file: + 'balrog_credentials_file': 'oauth.txt', + + # l10n + "ignore_locales": ["en-US", "ja-JP-mac"], + "l10n_dir": "l10n", + "locales_file": "%(branch)s/browser/locales/all-locales", + "locales_dir": "browser/locales", + "hg_l10n_tag": "default", + "merge_locales": True, + + # MAR + "previous_mar_dir": "dist\\previous", + "current_mar_dir": "dist\\current", + "update_mar_dir": "dist\\update", # sure? + "previous_mar_filename": "previous.mar", + "current_work_mar_dir": "current.work", + "package_base_dir": "dist\\l10n-stage", + "application_ini": "application.ini", + "buildid_section": 'App', + "buildid_option": "BuildID", + "unpack_script": "tools\\update-packaging\\unwrap_full_update.pl", + "incremental_update_script": "tools\\update-packaging\\make_incremental_update.sh", + "balrog_release_pusher_script": "scripts\\updates\\balrog-release-pusher.py", + "update_packaging_dir": "tools\\update-packaging", + "local_mar_tool_dir": "dist\\host\\bin", + "mar": "mar.exe", + "mbsdiff": "mbsdiff.exe", + "current_mar_filename": "firefox-%(version)s.%(locale)s.win32.complete.mar", + "complete_mar": "firefox-%(version)s.en-US.win32.complete.mar", + "localized_mar": "firefox-%(version)s.%(locale)s.win32.complete.mar", + "partial_mar": "firefox-%(version)s.%(locale)s.win32.partial.%(from_buildid)s-%(to_buildid)s.mar", + 'installer_file': "firefox-%(version)s.en-US.win32.installer.exe", + + # use mozmake? + "enable_mozmake": True, + 'exes': { + 'python2.7': sys.executable, + 'virtualenv': [ + sys.executable, + 'c:/mozilla-build/buildbotve/virtualenv.py' + ], + } +} diff --git a/testing/mozharness/configs/single_locale/win64.py b/testing/mozharness/configs/single_locale/win64.py new file mode 100644 index 000000000..df553018f --- /dev/null +++ b/testing/mozharness/configs/single_locale/win64.py @@ -0,0 +1,77 @@ +import os +import sys + +config = { + "platform": "win64", + "stage_product": "firefox", + "update_platform": "WINNT_x86_64-msvc", + "mozconfig": "%(branch)s/browser/config/mozconfigs/win64/l10n-mozconfig", + "bootstrap_env": { + "MOZ_OBJDIR": "obj-l10n", + "EN_US_BINARY_URL": "%(en_us_binary_url)s", + "MOZ_UPDATE_CHANNEL": "%(update_channel)s", + "DIST": "%(abs_objdir)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s", + "L10NBASEDIR": "../../l10n", + "MOZ_MAKE_COMPLETE_MAR": "1", + "PATH": 'C:\\mozilla-build\\nsis-3.01;' + '%s' % (os.environ.get('path')), + 'TOOLTOOL_CACHE': '/c/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + }, + "ssh_key_dir": "~/.ssh", + "log_name": "single_locale", + "objdir": "obj-l10n", + "js_src_dir": "js/src", + "vcs_share_base": "c:/builds/hg-shared", + + # tooltool + 'tooltool_url': 'https://api.pub.build.mozilla.org/tooltool/', + 'tooltool_script': [sys.executable, + 'C:/mozilla-build/tooltool.py'], + 'tooltool_bootstrap': "setup.sh", + 'tooltool_manifest_src': 'browser/config/tooltool-manifests/win64/releng.manifest', + # balrog credential file: + 'balrog_credentials_file': 'oauth.txt', + + # l10n + "ignore_locales": ["en-US", "ja-JP-mac"], + "l10n_dir": "l10n", + "locales_file": "%(branch)s/browser/locales/all-locales", + "locales_dir": "browser/locales", + "hg_l10n_tag": "default", + "merge_locales": True, + + # MAR + "previous_mar_dir": "dist\\previous", + "current_mar_dir": "dist\\current", + "update_mar_dir": "dist\\update", # sure? + "previous_mar_filename": "previous.mar", + "current_work_mar_dir": "current.work", + "package_base_dir": "dist\\l10n-stage", + "application_ini": "application.ini", + "buildid_section": 'App', + "buildid_option": "BuildID", + "unpack_script": "tools\\update-packaging\\unwrap_full_update.pl", + "incremental_update_script": "tools\\update-packaging\\make_incremental_update.sh", + "balrog_release_pusher_script": "scripts\\updates\\balrog-release-pusher.py", + "update_packaging_dir": "tools\\update-packaging", + "local_mar_tool_dir": "dist\\host\\bin", + "mar": "mar.exe", + "mbsdiff": "mbsdiff.exe", + "current_mar_filename": "firefox-%(version)s.%(locale)s.win64.complete.mar", + "complete_mar": "firefox-%(version)s.en-US.win64.complete.mar", + "localized_mar": "firefox-%(version)s.%(locale)s.win64.complete.mar", + "partial_mar": "firefox-%(version)s.%(locale)s.win64.partial.%(from_buildid)s-%(to_buildid)s.mar", + 'installer_file': "firefox-%(version)s.en-US.win64.installer.exe", + + # use mozmake? + "enable_mozmake": True, + 'exes': { + 'python2.7': sys.executable, + 'virtualenv': [ + sys.executable, + 'c:/mozilla-build/buildbotve/virtualenv.py' + ], + } +} diff --git a/testing/mozharness/configs/talos/linux_config.py b/testing/mozharness/configs/talos/linux_config.py new file mode 100644 index 000000000..192de17c6 --- /dev/null +++ b/testing/mozharness/configs/talos/linux_config.py @@ -0,0 +1,46 @@ +import os +import platform + +PYTHON = '/tools/buildbot/bin/python' +VENV_PATH = '%s/build/venv' % os.getcwd() +if platform.architecture()[0] == '64bit': + TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux64/releng.manifest" + MINIDUMP_STACKWALK_PATH = "linux64-minidump_stackwalk" +else: + TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux32/releng.manifest" + MINIDUMP_STACKWALK_PATH = "linux32-minidump_stackwalk" + +config = { + "log_name": "talos", + "buildbot_json_path": "buildprops.json", + "installer_path": "installer.exe", + "virtualenv_path": VENV_PATH, + "find_links": [ + "http://pypi.pvt.build.mozilla.org/pub", + "http://pypi.pub.build.mozilla.org/pub", + ], + "pip_index": False, + "exes": { + 'python': PYTHON, + 'virtualenv': [PYTHON, '/tools/misc-python/virtualenv.py'], + 'tooltool.py': "/tools/tooltool.py", + }, + "title": os.uname()[1].lower().split('.')[0], + "default_actions": [ + "clobber", + "read-buildbot-config", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install", + "run-tests", + ], + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"), + "download_minidump_stackwalk": True, + "minidump_stackwalk_path": MINIDUMP_STACKWALK_PATH, + "minidump_tooltool_manifest_path": TOOLTOOL_MANIFEST_PATH, + "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 000000000..56876dbdd --- /dev/null +++ b/testing/mozharness/configs/talos/mac_config.py @@ -0,0 +1,56 @@ +ENABLE_SCREEN_RESOLUTION_CHECK = True + +SCREEN_RESOLUTION_CHECK = { + "name": "check_screen_resolution", + "cmd": ["bash", "-c", "screenresolution get && screenresolution list && system_profiler SPDisplaysDataType"], + "architectures": ["32bit", "64bit"], + "halt_on_failure": False, + "enabled": ENABLE_SCREEN_RESOLUTION_CHECK +} + +import os + +PYTHON = '/tools/buildbot/bin/python' +VENV_PATH = '%s/build/venv' % os.getcwd() + +config = { + "log_name": "talos", + "buildbot_json_path": "buildprops.json", + "installer_path": "installer.exe", + "virtualenv_path": VENV_PATH, + "find_links": [ + "http://pypi.pvt.build.mozilla.org/pub", + "http://pypi.pub.build.mozilla.org/pub", + ], + "pip_index": False, + "exes": { + 'python': PYTHON, + 'virtualenv': [PYTHON, '/tools/misc-python/virtualenv.py'], + 'tooltool.py': "/tools/tooltool.py", + }, + "title": os.uname()[1].lower().split('.')[0], + "default_actions": [ + "clobber", + "read-buildbot-config", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install", + "run-tests", + ], + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [ + SCREEN_RESOLUTION_CHECK, + ], + "postflight_run_cmd_suites": [ + SCREEN_RESOLUTION_CHECK, + ], + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"), + "download_minidump_stackwalk": True, + "minidump_stackwalk_path": "macosx64-minidump_stackwalk", + "minidump_tooltool_manifest_path": "config/tooltool-manifests/macosx64/releng.manifest", + "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 000000000..50c924c44 --- /dev/null +++ b/testing/mozharness/configs/talos/windows_config.py @@ -0,0 +1,48 @@ +import os +import socket + +PYTHON = 'c:/mozilla-build/python27/python.exe' +PYTHON_DLL = 'c:/mozilla-build/python27/python27.dll' +VENV_PATH = os.path.join(os.getcwd(), 'build/venv') + +config = { + "log_name": "talos", + "buildbot_json_path": "buildprops.json", + "installer_path": "installer.exe", + "virtualenv_path": VENV_PATH, + "virtualenv_python_dll": PYTHON_DLL, + "pip_index": False, + "find_links": [ + "http://pypi.pvt.build.mozilla.org/pub", + "http://pypi.pub.build.mozilla.org/pub", + ], + "virtualenv_modules": ['pywin32', 'talos', 'mozinstall'], + "exes": { + 'python': PYTHON, + 'virtualenv': [PYTHON, 'c:/mozilla-build/buildbotve/virtualenv.py'], + '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': 'c:/mozilla-build/hg/hg', + 'tooltool.py': [PYTHON, 'C:/mozilla-build/tooltool.py'], + }, + "title": socket.gethostname().split('.')[0], + "default_actions": [ + "clobber", + "read-buildbot-config", + "download-and-extract", + "populate-webroot", + "create-virtualenv", + "install", + "run-tests", + ], + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"), + "metro_harness_path_frmt": "%(metro_base_path)s/metro/metrotestharness.exe", + "download_minidump_stackwalk": True, + "minidump_stackwalk_path": "win32-minidump_stackwalk.exe", + "minidump_tooltool_manifest_path": "config/tooltool-manifests/win32/releng.manifest", +} diff --git a/testing/mozharness/configs/taskcluster_nightly.py b/testing/mozharness/configs/taskcluster_nightly.py new file mode 100644 index 000000000..6c4e4a754 --- /dev/null +++ b/testing/mozharness/configs/taskcluster_nightly.py @@ -0,0 +1,5 @@ +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 000000000..ca73466ba --- /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 000000000..958543b60 --- /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 000000000..7d9a4d96d --- /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 000000000..7d9a4d96d --- /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 000000000..84fc357b2 --- /dev/null +++ b/testing/mozharness/configs/test/test.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" + }, + + "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 000000000..260be45b8 --- /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 000000000..e7ccefd15 --- /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 000000000..4eb13b3df --- /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 000000000..00db5220a --- /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 000000000..27091d453 --- /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 000000000..77e4ed501 --- /dev/null +++ b/testing/mozharness/configs/unittests/linux_unittest.py @@ -0,0 +1,306 @@ +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" +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") +VALGRIND_SUPP_CROSS_ARCH = os.path.join(VALGRIND_SUPP_DIR, + "cross-architecture.sup") +VALGRIND_SUPP_ARCH = None + +if platform.architecture()[0] == "64bit": + TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux64/releng.manifest" + MINIDUMP_STACKWALK_PATH = "linux64-minidump_stackwalk" + VALGRIND_SUPP_ARCH = os.path.join(VALGRIND_SUPP_DIR, + "x86_64-redhat-linux-gnu.sup") + NODEJS_PATH = "node-linux-x64/bin/node" + NODEJS_TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux64/nodejs.manifest" +else: + TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux32/releng.manifest" + MINIDUMP_STACKWALK_PATH = "linux32-minidump_stackwalk" + VALGRIND_SUPP_ARCH = os.path.join(VALGRIND_SUPP_DIR, + "i386-redhat-linux-gnu.sup") + NODEJS_PATH = "node-linux-x86/bin/node" + NODEJS_TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux32/nodejs.manifest" + +##### +config = { + "buildbot_json_path": "buildprops.json", + "exes": { + "python": "/tools/buildbot/bin/python", + "virtualenv": ["/tools/buildbot/bin/python", "/tools/misc-python/virtualenv.py"], + "tooltool.py": "/tools/tooltool.py", + }, + "find_links": [ + "http://pypi.pvt.build.mozilla.org/pub", + "http://pypi.pub.build.mozilla.org/pub", + ], + "pip_index": False, + ### + "installer_path": INSTALLER_PATH, + "binary_path": BINARY_PATH, + "xpcshell_name": XPCSHELL_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", + "mozbase": "test.py", + "mozmill": "runtestlist.py", + }, + "minimum_tests_zip_dirs": [ + "bin/*", + "certs/*", + "config/*", + "mach", + "marionette/*", + "modules/*", + "mozbase/*", + "tools/*", + ], + "specific_tests_zip_dirs": { + "mochitest": ["mochitest/*"], + "reftest": ["reftest/*", "jsreftest/*"], + "xpcshell": ["xpcshell/*"], + "cppunittest": ["cppunittest/*"], + "gtest": ["gtest/*"], + "jittest": ["jit-test/*"], + "mozbase": ["mozbase/*"], + "mozmill": ["mozmill/*"], + }, + "suite_definitions": { + "cppunittest": { + "options": [ + "--symbols-path=%(symbols_path)s", + "--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", + ], + "run_filename": "runtests.py", + "testsdir": "mochitest" + }, + "mozbase": { + "options": [ + "-b", + "%(binary_path)s" + ], + "run_filename": "test.py", + "testsdir": "mozbase" + }, + "mozmill": { + "options": [ + "--binary=%(binary_path)s", + "--testing-modules-dir=test/modules", + "--plugins-path=%(test_plugin_path)s", + "--symbols-path=%(symbols_path)s" + ], + "run_filename": "runtestlist.py", + "testsdir": "mozmill" + }, + "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", + ], + "run_filename": "runreftest.py", + "testsdir": "reftest" + }, + "xpcshell": { + "options": [ + "--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": { + "valgrind-plain": ["--valgrind=/usr/bin/valgrind", + "--valgrind-supp-files=" + VALGRIND_SUPP_ARCH + + "," + VALGRIND_SUPP_CROSS_ARCH, + "--timeout=900", "--max-timeouts=50"], + "plain": [], + "plain-gpu": ["--subsuite=gpu"], + "plain-clipboard": ["--subsuite=clipboard"], + "plain-chunked": ["--chunk-by-dir=4"], + "mochitest-media": ["--subsuite=media"], + "chrome": ["--flavor=chrome"], + "chrome-gpu": ["--flavor=chrome", "--subsuite=gpu"], + "chrome-clipboard": ["--flavor=chrome", "--subsuite=clipboard"], + "chrome-chunked": ["--flavor=chrome", "--chunk-by-dir=4"], + "browser-chrome": ["--flavor=browser"], + "browser-chrome-gpu": ["--flavor=browser", "--subsuite=gpu"], + "browser-chrome-clipboard": ["--flavor=browser", "--subsuite=clipboard"], + "browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"], + "browser-chrome-addons": ["--flavor=browser", "--chunk-by-runtime", "--tag=addons"], + "browser-chrome-coverage": ["--flavor=browser", "--chunk-by-runtime", "--timeout=1200"], + "browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"], + "mochitest-gl": ["--subsuite=webgl"], + "mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"], + "mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"], + "mochitest-devtools-chrome-coverage": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime", "--timeout=1200"], + "jetpack-package": ["--flavor=jetpack-package"], + "jetpack-package-clipboard": ["--flavor=jetpack-package", "--subsuite=clipboard"], + "jetpack-addon": ["--flavor=jetpack-addon"], + "a11y": ["--flavor=a11y"], + }, + # local reftest suites + "all_reftest_suites": { + "crashtest": { + "options": ["--suite=crashtest"], + "tests": ["tests/reftest/tests/testing/crashtest/crashtests.list"] + }, + "jsreftest": { + "options": ["--extra-profile-file=tests/jsreftest/tests/user.js", + "--suite=jstestbrowser"], + "tests": ["tests/jsreftest/tests/jstests.list"] + }, + "reftest": { + "options": ["--suite=reftest"], + "tests": ["tests/reftest/tests/layout/reftests/reftest.list"] + }, + "reftest-no-accel": { + "options": ["--suite=reftest", + "--setpref=layers.acceleration.force-enabled=disabled"], + "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": [] + }, + "xpcshell-addons": { + "options": ["--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME, + "--tag=addons", + "--manifest=tests/xpcshell/tests/xpcshell.ini"], + "tests": [] + }, + "xpcshell-coverage": { + "options": ["--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME, + "--manifest=tests/xpcshell/tests/xpcshell.ini"], + "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"], + "jittest-chunked": [], + }, + "all_mozbase_suites": { + "mozbase": [] + }, + "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", + "buildbot_max_log_size": 52428800, + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "unstructured_flavors": {"mochitest": ['jetpack'], + "xpcshell": [], + "gtest": [], + "mozmill": [], + "cppunittest": [], + "jittest": [], + "mozbase": [], + }, + "blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"), + "download_minidump_stackwalk": True, + "minidump_stackwalk_path": MINIDUMP_STACKWALK_PATH, + "minidump_tooltool_manifest_path": TOOLTOOL_MANIFEST_PATH, + "tooltool_cache": "/builds/tooltool_cache", + "download_nodejs": True, + "nodejs_path": NODEJS_PATH, + "nodejs_tooltool_manifest_path": NODEJS_TOOLTOOL_MANIFEST_PATH, +} diff --git a/testing/mozharness/configs/unittests/mac_unittest.py b/testing/mozharness/configs/unittests/mac_unittest.py new file mode 100644 index 000000000..20bbcf9f5 --- /dev/null +++ b/testing/mozharness/configs/unittests/mac_unittest.py @@ -0,0 +1,257 @@ +import os + +# OS Specifics +INSTALLER_PATH = os.path.join(os.getcwd(), "installer.dmg") +XPCSHELL_NAME = 'xpcshell' +EXE_SUFFIX = '' +DISABLE_SCREEN_SAVER = False +ADJUST_MOUSE_AND_SCREEN = False +##### +config = { + "buildbot_json_path": "buildprops.json", + "exes": { + 'python': '/tools/buildbot/bin/python', + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + 'tooltool.py': "/tools/tooltool.py", + }, + "find_links": [ + "http://pypi.pvt.build.mozilla.org/pub", + "http://pypi.pub.build.mozilla.org/pub", + ], + "pip_index": False, + ### + "installer_path": INSTALLER_PATH, + "xpcshell_name": XPCSHELL_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", + "mozbase": "test.py", + "mozmill": "runtestlist.py", + }, + "minimum_tests_zip_dirs": [ + "bin/*", + "certs/*", + "config/*", + "mach", + "marionette/*", + "modules/*", + "mozbase/*", + "tools/*", + ], + "specific_tests_zip_dirs": { + "mochitest": ["mochitest/*"], + "reftest": ["reftest/*", "jsreftest/*"], + "xpcshell": ["xpcshell/*"], + "cppunittest": ["cppunittest/*"], + "gtest": ["gtest/*"], + "jittest": ["jit-test/*"], + "mozbase": ["mozbase/*"], + "mozmill": ["mozmill/*"], + }, + "suite_definitions": { + "cppunittest": { + "options": [ + "--symbols-path=%(symbols_path)s", + "--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", + ], + "run_filename": "runtests.py", + "testsdir": "mochitest" + }, + "mozbase": { + "options": [ + "-b", + "%(binary_path)s" + ], + "run_filename": "test.py", + "testsdir": "mozbase" + }, + "mozmill": { + "options": [ + "--binary=%(binary_path)s", + "--testing-modules-dir=test/modules", + "--plugins-path=%(test_plugin_path)s", + "--symbols-path=%(symbols_path)s" + ], + "run_filename": "runtestlist.py", + "testsdir": "mozmill" + }, + "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", + ], + "run_filename": "runreftest.py", + "testsdir": "reftest" + }, + "xpcshell": { + "options": [ + "--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": { + "plain": [], + "plain-gpu": ["--subsuite=gpu"], + "plain-clipboard": ["--subsuite=clipboard"], + "plain-chunked": ["--chunk-by-dir=4"], + "mochitest-media": ["--subsuite=media"], + "chrome": ["--flavor=chrome"], + "chrome-gpu": ["--flavor=chrome", "--subsuite=gpu"], + "chrome-clipboard": ["--flavor=chrome", "--subsuite=clipboard"], + "chrome-chunked": ["--flavor=chrome", "--chunk-by-dir=4"], + "browser-chrome": ["--flavor=browser"], + "browser-chrome-gpu": ["--flavor=browser", "--subsuite=gpu"], + "browser-chrome-clipboard": ["--flavor=browser", "--subsuite=clipboard"], + "browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"], + "browser-chrome-addons": ["--flavor=browser", "--chunk-by-runtime", "--tag=addons"], + "browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"], + "mochitest-gl": ["--subsuite=webgl"], + "mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"], + "mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"], + "jetpack-package": ["--flavor=jetpack-package"], + "jetpack-package-clipboard": ["--flavor=jetpack-package", "--subsuite=clipboard"], + "jetpack-addon": ["--flavor=jetpack-addon"], + "a11y": ["--flavor=a11y"], + }, + # local reftest suites + "all_reftest_suites": { + "crashtest": { + 'options': ["--suite=crashtest"], + 'tests': ["tests/reftest/tests/testing/crashtest/crashtests.list"] + }, + "jsreftest": { + 'options':["--extra-profile-file=tests/jsreftest/tests/user.js"], + 'tests': ["tests/jsreftest/tests/jstests.list"] + }, + "reftest": { + 'options': ["--suite=reftest"], + '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': [] + }, + "xpcshell-addons": { + 'options': ["--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME, + "--tag=addons", + "--manifest=tests/xpcshell/tests/xpcshell.ini"], + 'tests': [] + }, + }, + "all_cppunittest_suites": { + "cppunittest": ['tests/cppunittest'] + }, + "all_gtest_suites": { + "gtest": [] + }, + "all_jittest_suites": { + "jittest": [] + }, + "all_mozbase_suites": { + "mozbase": [] + }, + "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 + }, + ], + "vcs_output_timeout": 1000, + "minidump_save_path": "%(abs_work_dir)s/../minidumps", + "buildbot_max_log_size": 52428800, + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "unstructured_flavors": {"mochitest": ['jetpack'], + "xpcshell": [], + "gtest": [], + "mozmill": [], + "cppunittest": [], + "jittest": [], + "mozbase": [], + }, + "blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"), + "download_minidump_stackwalk": True, + "minidump_stackwalk_path": "macosx64-minidump_stackwalk", + "minidump_tooltool_manifest_path": "config/tooltool-manifests/macosx64/releng.manifest", + "tooltool_cache": "/builds/tooltool_cache", + "download_nodejs": True, + "nodejs_path": "node-osx/bin/node", + "nodejs_tooltool_manifest_path": "config/tooltool-manifests/macosx64/nodejs.manifest", +} diff --git a/testing/mozharness/configs/unittests/thunderbird_extra.py b/testing/mozharness/configs/unittests/thunderbird_extra.py new file mode 100644 index 000000000..2021b9d55 --- /dev/null +++ b/testing/mozharness/configs/unittests/thunderbird_extra.py @@ -0,0 +1,17 @@ +##### +config = { + "application": "thunderbird", + "minimum_tests_zip_dirs": [ + "bin/*", + "certs/*", + "config/*", + "extensions/*", + "marionette/*", + "modules/*", + "mozbase/*", + "tools/*", + ], + "all_mozmill_suites": { + "mozmill": ["--list=tests/mozmill/mozmilltests.list"], + }, +} diff --git a/testing/mozharness/configs/unittests/win_taskcluster_unittest.py b/testing/mozharness/configs/unittests/win_taskcluster_unittest.py new file mode 100644 index 000000000..161e8e65e --- /dev/null +++ b/testing/mozharness/configs/unittests/win_taskcluster_unittest.py @@ -0,0 +1,274 @@ +import os +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") +XPCSHELL_NAME = 'xpcshell.exe' +EXE_SUFFIX = '.exe' +DISABLE_SCREEN_SAVER = False +ADJUST_MOUSE_AND_SCREEN = True +##### +config = { + "exes": { + 'python': sys.executable, + 'virtualenv': [ + sys.executable, + os.path.join(os.path.dirname(sys.executable), 'Lib', 'site-packages', 'virtualenv.py') + ], + 'mozinstall': ['build/venv/scripts/python', 'build/venv/scripts/mozinstall-script.py'], + 'tooltool.py': [sys.executable, os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py')], + 'hg': os.path.join(os.environ['PROGRAMFILES'], 'Mercurial', 'hg') + }, + ### + "installer_path": INSTALLER_PATH, + "binary_path": BINARY_PATH, + "xpcshell_name": XPCSHELL_NAME, + "virtualenv_path": 'venv', + "virtualenv_python_dll": os.path.join(os.path.dirname(sys.executable), "python27.dll"), + + "proxxy": {}, + "find_links": [ + "http://pypi.pub.build.mozilla.org/pub", + ], + "pip_index": False, + "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", + "mozbase": "test.py", + "mozmill": "runtestlist.py", + }, + "minimum_tests_zip_dirs": [ + "bin/*", + "certs/*", + "config/*", + "mach", + "marionette/*", + "modules/*", + "mozbase/*", + "tools/*", + ], + "specific_tests_zip_dirs": { + "mochitest": ["mochitest/*"], + "reftest": ["reftest/*", "jsreftest/*"], + "xpcshell": ["xpcshell/*"], + "cppunittest": ["cppunittest/*"], + "gtest": ["gtest/*"], + "jittest": ["jit-test/*"], + "mozbase": ["mozbase/*"], + "mozmill": ["mozmill/*"], + }, + "suite_definitions": { + "cppunittest": { + "options": [ + "--symbols-path=%(symbols_path)s", + "--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", + ], + "run_filename": "runtests.py", + "testsdir": "mochitest" + }, + "mozbase": { + "options": [ + "-b", + "%(binary_path)s" + ], + "run_filename": "test.py", + "testsdir": "mozbase" + }, + "mozmill": { + "options": [ + "--binary=%(binary_path)s", + "--testing-modules-dir=test/modules", + "--plugins-path=%(test_plugin_path)s", + "--symbols-path=%(symbols_path)s" + ], + "run_filename": "runtestlist.py", + "testsdir": "mozmill" + }, + "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", + ], + "run_filename": "runreftest.py", + "testsdir": "reftest" + }, + "xpcshell": { + "options": [ + "--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": + { + "plain": [], + "plain-gpu": ["--subsuite=gpu"], + "plain-clipboard": ["--subsuite=clipboard"], + "plain-chunked": ["--chunk-by-dir=4"], + "mochitest-media": ["--subsuite=media"], + "chrome": ["--flavor=chrome"], + "chrome-gpu": ["--flavor=chrome", "--subsuite=gpu"], + "chrome-clipboard": ["--flavor=chrome", "--subsuite=clipboard"], + "chrome-chunked": ["--flavor=chrome", "--chunk-by-dir=4"], + "browser-chrome": ["--flavor=browser"], + "browser-chrome-gpu": ["--flavor=browser", "--subsuite=gpu"], + "browser-chrome-clipboard": ["--flavor=browser", "--subsuite=clipboard"], + "browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"], + "browser-chrome-addons": ["--flavor=browser", "--chunk-by-runtime", "--tag=addons"], + "browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"], + "mochitest-gl": ["--subsuite=webgl"], + "mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"], + "mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"], + "mochitest-metro-chrome": ["--flavor=browser", "--metro-immersive"], + "jetpack-package": ["--flavor=jetpack-package"], + "jetpack-package-clipboard": ["--flavor=jetpack-package", "--subsuite=clipboard"], + "jetpack-addon": ["--flavor=jetpack-addon"], + "a11y": ["--flavor=a11y"], + }, + # local reftest suites + "all_reftest_suites": { + "crashtest": { + 'options': ["--suite=crashtest"], + 'tests': ["tests/reftest/tests/testing/crashtest/crashtests.list"] + }, + "jsreftest": { + 'options':["--extra-profile-file=tests/jsreftest/tests/user.js"], + 'tests': ["tests/jsreftest/tests/jstests.list"] + }, + "reftest": { + 'options': ["--suite=reftest"], + 'tests': ["tests/reftest/tests/layout/reftests/reftest.list"] + }, + "reftest-gpu": { + 'options': ["--suite=reftest", + "--setpref=layers.gpu-process.force-enabled=true"], + 'tests': ["tests/reftest/tests/layout/reftests/reftest.list"] + }, + "reftest-no-accel": { + "options": ["--suite=reftest", + "--setpref=gfx.direct2d.disabled=true", + "--setpref=layers.acceleration.disabled=true"], + "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': [] + }, + "xpcshell-addons": { + 'options': ["--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME, + "--tag=addons", + "--manifest=tests/xpcshell/tests/xpcshell.ini"], + 'tests': [] + }, + }, + "all_cppunittest_suites": { + "cppunittest": ['tests/cppunittest'] + }, + "all_gtest_suites": { + "gtest": [] + }, + "all_jittest_suites": { + "jittest": [] + }, + "all_mozbase_suites": { + "mozbase": [] + }, + "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'], + 'halt_on_failure': True, + 'enabled': ADJUST_MOUSE_AND_SCREEN + } + ], + "vcs_output_timeout": 1000, + "minidump_save_path": "%(abs_work_dir)s/../minidumps", + "buildbot_max_log_size": 52428800, + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "structured_suites": ["reftest"], + 'blob_uploader_auth_file': 'C:/builds/oauth.txt', + "download_minidump_stackwalk": True, + "minidump_stackwalk_path": "win32-minidump_stackwalk.exe", + "minidump_tooltool_manifest_path": "config/tooltool-manifests/win32/releng.manifest", + "download_nodejs": True, + "nodejs_path": "node-win32.exe", + "nodejs_tooltool_manifest_path": "config/tooltool-manifests/win32/nodejs.manifest", +} diff --git a/testing/mozharness/configs/unittests/win_unittest.py b/testing/mozharness/configs/unittests/win_unittest.py new file mode 100644 index 000000000..caa2978c6 --- /dev/null +++ b/testing/mozharness/configs/unittests/win_unittest.py @@ -0,0 +1,281 @@ +import os +import sys + +# OS Specifics +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") +BINARY_PATH = os.path.join(ABS_WORK_DIR, "application", "firefox", "firefox.exe") +INSTALLER_PATH = os.path.join(ABS_WORK_DIR, "installer.zip") +XPCSHELL_NAME = 'xpcshell.exe' +EXE_SUFFIX = '.exe' +DISABLE_SCREEN_SAVER = False +ADJUST_MOUSE_AND_SCREEN = True +##### +config = { + "buildbot_json_path": "buildprops.json", + "exes": { + 'python': sys.executable, + 'virtualenv': [sys.executable, 'c:/mozilla-build/buildbotve/virtualenv.py'], + 'hg': 'c:/mozilla-build/hg/hg', + 'mozinstall': ['%s/build/venv/scripts/python' % os.getcwd(), + '%s/build/venv/scripts/mozinstall-script.py' % os.getcwd()], + 'tooltool.py': [sys.executable, 'C:/mozilla-build/tooltool.py'], + }, + ### + "installer_path": INSTALLER_PATH, + "binary_path": BINARY_PATH, + "xpcshell_name": XPCSHELL_NAME, + "virtualenv_path": 'venv', + "virtualenv_python_dll": os.path.join(os.path.dirname(sys.executable), "python27.dll"), + "virtualenv_modules": ['pypiwin32'], + + "find_links": [ + "http://pypi.pvt.build.mozilla.org/pub", + "http://pypi.pub.build.mozilla.org/pub", + ], + "pip_index": False, + "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", + "mozbase": "test.py", + "mozmill": "runtestlist.py", + }, + "minimum_tests_zip_dirs": [ + "bin/*", + "certs/*", + "config/*", + "mach", + "marionette/*", + "modules/*", + "mozbase/*", + "tools/*", + ], + "specific_tests_zip_dirs": { + "mochitest": ["mochitest/*"], + "reftest": ["reftest/*", "jsreftest/*"], + "xpcshell": ["xpcshell/*"], + "cppunittest": ["cppunittest/*"], + "gtest": ["gtest/*"], + "jittest": ["jit-test/*"], + "mozbase": ["mozbase/*"], + "mozmill": ["mozmill/*"], + }, + "suite_definitions": { + "cppunittest": { + "options": [ + "--symbols-path=%(symbols_path)s", + "--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", + ], + "run_filename": "runtests.py", + "testsdir": "mochitest" + }, + "mozbase": { + "options": [ + "-b", + "%(binary_path)s" + ], + "run_filename": "test.py", + "testsdir": "mozbase" + }, + "mozmill": { + "options": [ + "--binary=%(binary_path)s", + "--testing-modules-dir=test/modules", + "--plugins-path=%(test_plugin_path)s", + "--symbols-path=%(symbols_path)s" + ], + "run_filename": "runtestlist.py", + "testsdir": "mozmill" + }, + "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", + ], + "run_filename": "runreftest.py", + "testsdir": "reftest" + }, + "xpcshell": { + "options": [ + "--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": + { + "plain": [], + "plain-gpu": ["--subsuite=gpu"], + "plain-clipboard": ["--subsuite=clipboard"], + "plain-chunked": ["--chunk-by-dir=4"], + "mochitest-media": ["--subsuite=media"], + "chrome": ["--flavor=chrome"], + "chrome-gpu": ["--flavor=chrome", "--subsuite=gpu"], + "chrome-clipboard": ["--flavor=chrome", "--subsuite=clipboard"], + "chrome-chunked": ["--flavor=chrome", "--chunk-by-dir=4"], + "browser-chrome": ["--flavor=browser"], + "browser-chrome-gpu": ["--flavor=browser", "--subsuite=gpu"], + "browser-chrome-clipboard": ["--flavor=browser", "--subsuite=clipboard"], + "browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"], + "browser-chrome-addons": ["--flavor=browser", "--chunk-by-runtime", "--tag=addons"], + "browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"], + "mochitest-gl": ["--subsuite=webgl"], + "mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"], + "mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"], + "mochitest-metro-chrome": ["--flavor=browser", "--metro-immersive"], + "jetpack-package": ["--flavor=jetpack-package"], + "jetpack-package-clipboard": ["--flavor=jetpack-package", "--subsuite=clipboard"], + "jetpack-addon": ["--flavor=jetpack-addon"], + "a11y": ["--flavor=a11y"], + }, + # local reftest suites + "all_reftest_suites": { + "crashtest": { + 'options': ["--suite=crashtest"], + 'tests': ["tests/reftest/tests/testing/crashtest/crashtests.list"] + }, + "jsreftest": { + 'options':["--extra-profile-file=tests/jsreftest/tests/user.js"], + 'tests': ["tests/jsreftest/tests/jstests.list"] + }, + "reftest": { + 'options': ["--suite=reftest"], + 'tests': ["tests/reftest/tests/layout/reftests/reftest.list"] + }, + "reftest-gpu": { + 'options': ["--suite=reftest", + "--setpref=layers.gpu-process.force-enabled=true"], + 'tests': ["tests/reftest/tests/layout/reftests/reftest.list"] + }, + "reftest-no-accel": { + "options": ["--suite=reftest", + "--setpref=gfx.direct2d.disabled=true", + "--setpref=layers.acceleration.disabled=true"], + "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': [] + }, + "xpcshell-addons": { + 'options': ["--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME, + "--tag=addons", + "--manifest=tests/xpcshell/tests/xpcshell.ini"], + 'tests': [] + }, + }, + "all_cppunittest_suites": { + "cppunittest": ['tests/cppunittest'] + }, + "all_gtest_suites": { + "gtest": [] + }, + "all_jittest_suites": { + "jittest": [] + }, + "all_mozbase_suites": { + "mozbase": [] + }, + "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 + }, + ], + "vcs_output_timeout": 1000, + "minidump_save_path": "%(abs_work_dir)s/../minidumps", + "buildbot_max_log_size": 52428800, + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "unstructured_flavors": {"mochitest": ['jetpack'], + "xpcshell": [], + "gtest": [], + "mozmill": [], + "cppunittest": [], + "jittest": [], + "mozbase": [], + }, + "blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"), + "download_minidump_stackwalk": True, + "minidump_stackwalk_path": "win32-minidump_stackwalk.exe", + "minidump_tooltool_manifest_path": "config/tooltool-manifests/win32/releng.manifest", + "download_nodejs": True, + "nodejs_path": "node-win32.exe", + "nodejs_tooltool_manifest_path": "config/tooltool-manifests/win32/nodejs.manifest", +} diff --git a/testing/mozharness/configs/users/aki/gaia_json.py b/testing/mozharness/configs/users/aki/gaia_json.py new file mode 100644 index 000000000..4263cc908 --- /dev/null +++ b/testing/mozharness/configs/users/aki/gaia_json.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python + +config = { + "log_name": "gaia_bump", + "log_max_rotate": 99, + "ssh_key": "~/.ssh/id_rsa", + "ssh_user": "asasaki@mozilla.com", + "hg_user": "Test Pusher <aki@escapewindow.com>", + "revision_file": "b2g/config/gaia.json", + "exes": { + # Get around the https warnings + "hg": ['hg', "--config", "web.cacerts=/etc/pki/tls/certs/ca-bundle.crt"], + }, + "repo_list": [{ + "polling_url": "https://hg.mozilla.org/integration/gaia-central/json-pushes?full=1", + "branch": "default", + "repo_url": "https://hg.mozilla.org/integration/gaia-central", + "repo_name": "gaia-central", + "target_push_url": "ssh://hg.mozilla.org/users/asasaki_mozilla.com/birch", + "target_pull_url": "https://hg.mozilla.org/users/asasaki_mozilla.com/birch", + "target_tag": "default", + "target_repo_name": "birch", + }, { + "polling_url": "https://hg.mozilla.org/integration/gaia-1_2/json-pushes?full=1", + "branch": "default", + "repo_url": "https://hg.mozilla.org/integration/gaia-1_2", + "repo_name": "gaia-1_2", + "target_push_url": "ssh://hg.mozilla.org/users/asasaki_mozilla.com/mozilla-aurora", + "target_pull_url": "https://hg.mozilla.org/users/asasaki_mozilla.com/mozilla-aurora", + "target_tag": "default", + "target_repo_name": "mozilla-aurora", + }, { + "polling_url": "https://hg.mozilla.org/integration/gaia-1_2/json-pushes?full=1", + "branch": "default", + "repo_url": "https://hg.mozilla.org/integration/gaia-1_2", + "repo_name": "gaia-1_2", + "target_push_url": "ssh://hg.mozilla.org/users/asasaki_mozilla.com/mozilla-aurora", + "target_pull_url": "https://hg.mozilla.org/users/asasaki_mozilla.com/mozilla-aurora", + "target_tag": "default", + "target_repo_name": "mozilla-aurora", + }], +} diff --git a/testing/mozharness/configs/users/sfink/mock.py b/testing/mozharness/configs/users/sfink/mock.py new file mode 100644 index 000000000..07b5c5c43 --- /dev/null +++ b/testing/mozharness/configs/users/sfink/mock.py @@ -0,0 +1,3 @@ +config = { + "mock_target": "mozilla-centos6-x86_64", +} diff --git a/testing/mozharness/configs/users/sfink/spidermonkey.py b/testing/mozharness/configs/users/sfink/spidermonkey.py new file mode 100644 index 000000000..efbc9a805 --- /dev/null +++ b/testing/mozharness/configs/users/sfink/spidermonkey.py @@ -0,0 +1,38 @@ +# This config file is for locally testing spidermonkey_build.py. It provides +# the values that would otherwise be provided by buildbot. + +BRANCH = "local-src" +HOME = "/home/sfink" +REPO = HOME + "/src/MI-GC" + +config = { + "hgurl": "https://hg.mozilla.org/", + "python": "python", + "sixgill": HOME + "/src/sixgill", + "sixgill_bin": HOME + "/src/sixgill/bin", + + "repo": REPO, + "repos": [{ + "repo": REPO, + "branch": "default", + "dest": BRANCH, + }, { + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools" + }], + + "tools_dir": "/tools", + + "mock_target": "mozilla-centos6-x86_64", + + "upload_remote_basepath": "/tmp/upload-base", + "upload_ssh_server": "localhost", + "upload_ssh_key": "/home/sfink/.ssh/id_rsa", + "upload_ssh_user": "sfink", + "upload_label": "linux64-br-haz", + + # For testing tryserver uploads (directory structure is different) + #"branch": "try", + #"revision": "deadbeef1234", +} 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 000000000..f0fb0b074 --- /dev/null +++ b/testing/mozharness/configs/web_platform_tests/prod_config.py @@ -0,0 +1,47 @@ +# ***** 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 ***** +import os + +config = { + "options": [ + "--prefs-root=%(test_path)s/prefs", + "--processes=1", + "--config=%(test_path)s/wptrunner.ini", + "--ca-cert-path=%(test_path)s/certs/cacert.pem", + "--host-key-path=%(test_path)s/certs/web-platform.test.key", + "--host-cert-path=%(test_path)s/certs/web-platform.test.pem", + "--certutil-binary=%(test_install_path)s/bin/certutil", + ], + + "exes": { + 'python': '/tools/buildbot/bin/python', + 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'], + 'tooltool.py': "/tools/tooltool.py", + }, + + "find_links": [ + "http://pypi.pvt.build.mozilla.org/pub", + "http://pypi.pub.build.mozilla.org/pub", + ], + + "pip_index": False, + + "buildbot_json_path": "buildprops.json", + + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + + "blob_uploader_auth_file" : os.path.join(os.getcwd(), "oauth.txt"), + + "download_minidump_stackwalk": True, + + "download_tooltool": True, + + "tooltool_cache": "/builds/tooltool_cache", + +} + 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 000000000..7c0f525fe --- /dev/null +++ b/testing/mozharness/configs/web_platform_tests/prod_config_windows.py @@ -0,0 +1,48 @@ +# ***** 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.
+
+import os
+import sys
+
+config = {
+ "options": [
+ "--prefs-root=%(test_path)s/prefs",
+ "--processes=1",
+ "--config=%(test_path)s/wptrunner.ini",
+ "--ca-cert-path=%(test_path)s/certs/cacert.pem",
+ "--host-key-path=%(test_path)s/certs/web-platform.test.key",
+ "--host-cert-path=%(test_path)s/certs/web-platform.test.pem",
+ "--certutil-binary=%(test_install_path)s/bin/certutil",
+ ],
+
+ "exes": {
+ 'python': sys.executable,
+ 'virtualenv': [sys.executable, 'c:/mozilla-build/buildbotve/virtualenv.py'],
+ 'hg': 'c:/mozilla-build/hg/hg',
+ 'mozinstall': ['%s/build/venv/scripts/python' % os.getcwd(),
+ '%s/build/venv/scripts/mozinstall-script.py' % os.getcwd()],
+ 'tooltool.py': [sys.executable, 'C:/mozilla-build/tooltool.py'],
+ },
+
+ "find_links": [
+ "http://pypi.pvt.build.mozilla.org/pub",
+ "http://pypi.pub.build.mozilla.org/pub",
+ ],
+
+ "pip_index": False,
+
+ "buildbot_json_path": "buildprops.json",
+
+ "default_blob_upload_servers": [
+ "https://blobupload.elasticbeanstalk.com",
+ ],
+
+ "blob_uploader_auth_file" : os.path.join(os.getcwd(), "oauth.txt"),
+
+ "download_minidump_stackwalk": True,
+}
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 000000000..845c66f76 --- /dev/null +++ b/testing/mozharness/configs/web_platform_tests/prod_config_windows_taskcluster.py @@ -0,0 +1,48 @@ +# ***** 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. + +import os +import sys + +config = { + "options": [ + "--prefs-root=%(test_path)s/prefs", + "--processes=1", + "--config=%(test_path)s/wptrunner.ini", + "--ca-cert-path=%(test_path)s/certs/cacert.pem", + "--host-key-path=%(test_path)s/certs/web-platform.test.key", + "--host-cert-path=%(test_path)s/certs/web-platform.test.pem", + "--certutil-binary=%(test_install_path)s/bin/certutil", + ], + + "exes": { + 'python': sys.executable, + 'virtualenv': [ + sys.executable, + os.path.join(os.path.dirname(sys.executable), 'Lib', 'site-packages', 'virtualenv.py') + ], + 'mozinstall': ['build/venv/scripts/python', 'build/venv/scripts/mozinstall-script.py'], + 'tooltool.py': [sys.executable, os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py')], + 'hg': os.path.join(os.environ['PROGRAMFILES'], 'Mercurial', 'hg') + }, + + "proxxy": {}, + "find_links": [ + "http://pypi.pub.build.mozilla.org/pub", + ], + + "pip_index": False, + + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + + "blob_uploader_auth_file" : 'C:/builds/oauth.txt', + + "download_minidump_stackwalk": True, +} 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 000000000..29dd8014b --- /dev/null +++ b/testing/mozharness/configs/web_platform_tests/test_config.py @@ -0,0 +1,32 @@ +# ***** 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", + "--processes=1", + "--config=%(test_path)s/wptrunner.ini", + "--ca-cert-path=%(test_path)s/certs/cacert.pem", + "--host-key-path=%(test_path)s/certs/web-platform.test.key", + "--host-cert-path=%(test_path)s/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', + ], + + "find_links": [ + "http://pypi.pub.build.mozilla.org/pub", + ], + + "pip_index": False, +} 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 000000000..d83c136ea --- /dev/null +++ b/testing/mozharness/configs/web_platform_tests/test_config_windows.py @@ -0,0 +1,43 @@ +# ***** 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 *****
+
+import os
+import sys
+
+config = {
+ "options": [
+ "--prefs-root=%(test_path)s/prefs",
+ "--processes=1",
+ "--config=%(test_path)s/wptrunner.ini",
+ "--ca-cert-path=%(test_path)s/certs/cacert.pem",
+ "--host-key-path=%(test_path)s/certs/web-platform.test.key",
+ "--host-cert-path=%(test_path)s/certs/web-platform.test.pem",
+ "--certutil-binary=%(test_install_path)s/bin/certutil",
+ ],
+
+ "exes": {
+ 'python': sys.executable,
+ 'virtualenv': [sys.executable, 'c:/mozilla-source/cedar/python/virtualenv/virtualenv.py'], #'c:/mozilla-build/buildbotve/virtualenv.py'],
+ 'hg': 'c:/mozilla-build/hg/hg',
+ 'mozinstall': ['%s/build/venv/scripts/python' % os.getcwd(),
+ '%s/build/venv/scripts/mozinstall-script.py' % os.getcwd()],
+ },
+
+ "default_actions": [
+ 'clobber',
+ 'download-and-extract',
+ 'create-virtualenv',
+ 'pull',
+ 'install',
+ 'run-tests',
+ ],
+
+ "find_links": [
+ "http://pypi.pub.build.mozilla.org/pub",
+ ],
+
+ "pip_index": False,
+}
|