зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1381577 - Part O; Run mach repackage for windows nightlies. r=kmoir
Land date changes to support windows nightlies onto central This patch also allows us to not reconfigure to run repackage on windows, which saves us both in potential pain points and execution time. MozReview-Commit-ID: xnz98Z5N06 --HG-- extra : rebase_source : 1630a3b6b646a83abeb05000e77e0e3c3238250b
This commit is contained in:
Родитель
e83e83cb07
Коммит
35d5b6cee5
|
@ -15,3 +15,5 @@ kind-dependencies:
|
|||
|
||||
only-for-build-platforms:
|
||||
- macosx64-nightly/opt
|
||||
- win32-nightly/opt
|
||||
- win64-nightly/opt
|
||||
|
|
|
@ -78,6 +78,7 @@ JOB_NAME_WHITELIST = set([
|
|||
'win32-add-on-devel',
|
||||
'win32-clang-tidy',
|
||||
'win32-debug',
|
||||
'win32-nightly-repackage',
|
||||
'win32-noopt-debug',
|
||||
'win32-opt',
|
||||
'win32-pgo',
|
||||
|
|
|
@ -138,14 +138,17 @@ def make_job_description(config, jobs):
|
|||
signing_task_ref, locale=locale),
|
||||
'artifacts': _generate_task_output_files(build_platform, locale=locale),
|
||||
'chain-of-trust': True,
|
||||
'max-run-time': 3600,
|
||||
'max-run-time': 7200 if build_platform.startswith('win') else 3600,
|
||||
}
|
||||
|
||||
if locale:
|
||||
# Make sure we specify the locale-specific upload dir
|
||||
worker['env'].update(LOCALE=locale)
|
||||
|
||||
if build_platform.startswith('macosx'):
|
||||
if build_platform.startswith('win'):
|
||||
worker_type = 'aws-provisioner-v1/gecko-%s-b-win2012' % level
|
||||
run['use-magic-mh-args'] = False
|
||||
elif build_platform.startswith('macosx'):
|
||||
worker_type = 'aws-provisioner-v1/gecko-%s-b-macosx64' % level
|
||||
|
||||
run['tooltool-downloads'] = 'internal'
|
||||
|
@ -174,6 +177,9 @@ def make_job_description(config, jobs):
|
|||
def _generate_task_mozharness_config(build_platform):
|
||||
if build_platform.startswith('macosx'):
|
||||
return ['repackage/osx_signed.py']
|
||||
elif build_platform.startswith('win'):
|
||||
return ['repackage/win32_signed.py'] if '32' in build_platform \
|
||||
else ['repackage/win64_signed.py']
|
||||
else:
|
||||
raise NotImplemented('Unsupported build_platform: "{}"'.format(build_platform))
|
||||
|
||||
|
@ -187,6 +193,20 @@ def _generate_task_env(build_platform, build_task_ref, signing_task_ref, locale=
|
|||
'SIGNED_INPUT': {'task-reference': '{}target.tar.gz'.format(signed_prefix)},
|
||||
'UNSIGNED_MAR': {'task-reference': '{}mar'.format(mar_prefix)},
|
||||
}
|
||||
elif build_platform.startswith('win'):
|
||||
task_env = {
|
||||
'SIGNED_ZIP': {'task-reference': '{}target.zip'.format(signed_prefix)},
|
||||
'SIGNED_SETUP': {'task-reference': '{}setup.exe'.format(signed_prefix)},
|
||||
'UNSIGNED_MAR': {'task-reference': '{}mar.exe'.format(mar_prefix)},
|
||||
}
|
||||
|
||||
# Stub installer is only generated on win32
|
||||
if '32' in build_platform:
|
||||
task_env['SIGNED_SETUP_STUB'] = {
|
||||
'task-reference': '{}setup-stub.exe'.format(signed_prefix),
|
||||
}
|
||||
return task_env
|
||||
|
||||
else:
|
||||
raise NotImplemented('Unsupported build_platform: "{}"'.format(build_platform))
|
||||
|
||||
|
@ -212,5 +232,25 @@ def _generate_task_output_files(build_platform, locale=None):
|
|||
.format(locale_output_path),
|
||||
'name': 'public/build/{}target.complete.mar'.format(locale_output_path),
|
||||
}]
|
||||
elif build_platform.startswith('win'):
|
||||
output_files = [{
|
||||
'type': 'file',
|
||||
'path': 'public/build/{}target.installer.exe'.format(locale_output_path),
|
||||
'name': 'public/build/{}target.installer.exe'.format(locale_output_path),
|
||||
}, {
|
||||
'type': 'file',
|
||||
'path': 'public/build/{}target.complete.mar'.format(locale_output_path),
|
||||
'name': 'public/build/{}target.complete.mar'.format(locale_output_path),
|
||||
}]
|
||||
|
||||
# Stub installer is only generated on win32
|
||||
if '32' in build_platform:
|
||||
output_files.append({
|
||||
'type': 'file',
|
||||
'path': 'public/build/{}target.stub-installer.exe'.format(locale_output_path),
|
||||
'name': 'public/build/{}target.stub-installer.exe'.format(locale_output_path),
|
||||
})
|
||||
|
||||
return output_files
|
||||
else:
|
||||
raise NotImplemented('Unsupported build_platform: "{}"'.format(build_platform))
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
import os
|
||||
import sys
|
||||
|
||||
platform = "win32"
|
||||
|
||||
download_config = {
|
||||
"target.zip": os.environ.get("SIGNED_ZIP"),
|
||||
"setup.exe": os.environ.get("SIGNED_SETUP"),
|
||||
"mar.exe": os.environ.get("UNSIGNED_MAR"),
|
||||
# stub installer is only built on win32
|
||||
"setup-stub.exe": os.environ.get("SIGNED_SETUP_STUB"),
|
||||
}
|
||||
|
||||
repackage_config = [[
|
||||
"installer",
|
||||
"--package", "{abs_work_dir}\\inputs\\target.zip",
|
||||
"--tag", "{abs_mozilla_dir}\\browser\\installer\\windows\\app.tag",
|
||||
"--setupexe", "{abs_work_dir}\\inputs\\setup.exe",
|
||||
"-o", "{output_home}\\target.installer.exe"
|
||||
], [
|
||||
"mar",
|
||||
"-i", "{abs_work_dir}\\inputs\\target.zip",
|
||||
"--mar", "{abs_work_dir}\\inputs\\mar.exe",
|
||||
"-o", "{output_home}\\target.complete.mar"
|
||||
], [
|
||||
"installer",
|
||||
"--tag", "{abs_mozilla_dir}\\browser\\installer\\windows\\stub.tag",
|
||||
"--setupexe", "{abs_work_dir}\\inputs\\setup-stub.exe",
|
||||
"-o", "{output_home}\\target.stub-installer.exe"
|
||||
]]
|
||||
|
||||
config = {
|
||||
"input_home": "{abs_work_dir}\\inputs",
|
||||
"output_home": "{base_work_dir}\\public\\build{locale}",
|
||||
"src_mozconfig": "browser/config/mozconfigs/{}/repack".format(platform),
|
||||
|
||||
"locale": os.environ.get("LOCALE"),
|
||||
|
||||
"download_config": download_config,
|
||||
|
||||
"repackage_config": repackage_config,
|
||||
|
||||
# ToolTool
|
||||
"tooltool_manifest_src": 'browser\\config\\tooltool-manifests\\{}\\releng.manifest'.format(platform),
|
||||
'tooltool_url': 'https://api.pub.build.mozilla.org/tooltool/',
|
||||
'tooltool_script': [sys.executable,
|
||||
'C:/mozilla-build/tooltool.py'],
|
||||
'tooltool_cache': os.environ.get('TOOLTOOL_CACHE'),
|
||||
|
||||
'run_configure': False,
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
import os
|
||||
import sys
|
||||
|
||||
platform = "win64"
|
||||
|
||||
download_config = {
|
||||
"target.zip": os.environ.get("SIGNED_ZIP"),
|
||||
"setup.exe": os.environ.get("SIGNED_SETUP"),
|
||||
"mar.exe": os.environ.get("UNSIGNED_MAR"),
|
||||
}
|
||||
|
||||
repackage_config = [[
|
||||
"installer",
|
||||
"--package", "{abs_work_dir}\\inputs\\target.zip",
|
||||
"--tag", "{abs_mozilla_dir}\\browser\\installer\\windows\\app.tag",
|
||||
"--setupexe", "{abs_work_dir}\\inputs\\setup.exe",
|
||||
"-o", "{output_home}\\target.installer.exe"
|
||||
], [
|
||||
"mar",
|
||||
"-i", "{abs_work_dir}\\inputs\\target.zip",
|
||||
"--mar", "{abs_work_dir}\\inputs\\mar.exe",
|
||||
"-o", "{output_home}\\target.complete.mar"
|
||||
]]
|
||||
|
||||
config = {
|
||||
"input_home": "{abs_work_dir}\\inputs",
|
||||
"output_home": "{base_work_dir}\\public\\build{locale}",
|
||||
"src_mozconfig": "browser/config/mozconfigs/{}/repack".format(platform),
|
||||
|
||||
"locale": os.environ.get("LOCALE"),
|
||||
|
||||
"download_config": download_config,
|
||||
|
||||
"repackage_config": repackage_config,
|
||||
|
||||
# ToolTool
|
||||
"tooltool_manifest_src": 'browser\\config\\tooltool-manifests\\{}\\releng.manifest'.format(platform),
|
||||
'tooltool_url': 'https://api.pub.build.mozilla.org/tooltool/',
|
||||
'tooltool_script': [sys.executable,
|
||||
'C:/mozilla-build/tooltool.py'],
|
||||
'tooltool_cache': os.environ.get('TOOLTOOL_CACHE'),
|
||||
|
||||
'run_configure': False,
|
||||
}
|
|
@ -43,8 +43,9 @@ class Repackage(BaseScript):
|
|||
|
||||
def setup(self):
|
||||
self._run_tooltool()
|
||||
self._get_mozconfig()
|
||||
self._run_configure()
|
||||
if self.config.get("run_configure", True):
|
||||
self._get_mozconfig()
|
||||
self._run_configure()
|
||||
|
||||
def query_abs_dirs(self):
|
||||
if self.abs_dirs:
|
||||
|
@ -54,6 +55,7 @@ class Repackage(BaseScript):
|
|||
for directory in abs_dirs:
|
||||
value = abs_dirs[directory]
|
||||
abs_dirs[directory] = value
|
||||
|
||||
dirs = {}
|
||||
dirs['abs_tools_dir'] = os.path.join(abs_dirs['abs_work_dir'], 'tools')
|
||||
dirs['abs_mozilla_dir'] = os.path.join(abs_dirs['abs_work_dir'], 'src')
|
||||
|
@ -61,7 +63,6 @@ class Repackage(BaseScript):
|
|||
if config.get('locale'):
|
||||
locale_dir = "{}{}".format(os.path.sep, config['locale'])
|
||||
dirs['output_home'] = config['output_home'].format(locale=locale_dir, **abs_dirs)
|
||||
|
||||
for key in dirs.keys():
|
||||
if key not in abs_dirs:
|
||||
abs_dirs[key] = dirs[key]
|
||||
|
|
Загрузка…
Ссылка в новой задаче