--- a/misc.py
+++ b/misc.py
@@ -671,16 +671,17 @@ def makeMHFactory(config, pf, mh_cfg=Non
scriptName=mh_cfg['script_name'],
reboot_command=mh_cfg.get('reboot_command', pf.get('reboot_command')),
extra_args=extra_args,
script_timeout=mh_cfg.get('script_timeout', pf.get('timeout', 3600)),
script_maxtime=mh_cfg.get('script_maxtime', pf.get('maxTime', 4 * 3600)),
script_repo_cache=script_repo_cache,
script_repo_manifest=config.get('script_repo_manifest'),
relengapi_archiver_repo_path=config.get('mozharness_archiver_repo_path'),
+ relengapi_archiver_rev=config.get('mozharness_archiver_rev'),
tools_repo_cache=mh_cfg.get('tools_repo_cache',
pf.get('tools_repo_cache')),
**kwargs
)
return factory
def makeBundleBuilder(config, name):
@@ -724,17 +725,18 @@ def makeBundleBuilder(config, name):
def generateTestBuilder(config, branch_name, platform, name_prefix,
build_dir_prefix, suites_name, suites,
mochitestLeakThreshold, crashtestLeakThreshold,
slaves=None, resetHwClock=False, category=None,
stagePlatform=None, stageProduct=None,
mozharness=False, mozharness_python=None,
mozharness_suite_config=None,
mozharness_repo=None, mozharness_tag='production',
- script_repo_manifest=None, relengapi_archiver_repo_path=None, is_debug=None):
+ script_repo_manifest=None, relengapi_archiver_repo_path=None,
+ relengapi_archiver_rev=None, is_debug=None):
builders = []
pf = config['platforms'].get(platform, {})
if slaves is None:
slavenames = config['platforms'][platform]['slaves']
else:
slavenames = slaves
if not category:
category = branch_name
@@ -782,16 +784,17 @@ def generateTestBuilder(config, branch_n
scriptName=suites['script_path'],
hg_bin=hg_bin,
extra_args=extra_args,
use_credentials_file=True,
script_maxtime=suites.get('script_maxtime', 7200),
script_timeout=suites.get('timeout', 1800),
script_repo_manifest=script_repo_manifest,
relengapi_archiver_repo_path=relengapi_archiver_repo_path,
+ relengapi_archiver_rev=relengapi_archiver_rev,
reboot_command=reboot_command,
platform=platform,
env=mozharness_suite_config.get('env', {}),
log_eval_func=rc_eval_func({
0: SUCCESS,
1: WARNINGS,
2: FAILURE,
3: EXCEPTION,
@@ -846,30 +849,32 @@ def generateTestBuilder(config, branch_n
def generateMozharnessTalosBuilder(platform, mozharness_repo, script_path,
hg_bin, mozharness_python,
reboot_command, extra_args=None,
script_timeout=3600,
script_maxtime=7200,
script_repo_manifest=None,
- relengapi_archiver_repo_path=None):
+ relengapi_archiver_repo_path=None,
+ relengapi_archiver_rev=None):
if extra_args is None:
extra_args = []
return ScriptFactory(
interpreter=mozharness_python,
scriptRepo=mozharness_repo,
scriptName=script_path,
hg_bin=hg_bin,
extra_args=extra_args,
use_credentials_file=True,
script_timeout=script_timeout,
script_maxtime=script_maxtime,
script_repo_manifest=script_repo_manifest,
relengapi_archiver_repo_path=relengapi_archiver_repo_path,
+ relengapi_archiver_rev=relengapi_archiver_rev,
reboot_command=reboot_command,
platform=platform,
log_eval_func=rc_eval_func({
0: SUCCESS,
1: WARNINGS,
2: FAILURE,
3: EXCEPTION,
4: RETRY,
@@ -1828,16 +1833,17 @@ def generateBranchObjects(config, name,
factory = SigningScriptFactory(
signingServers=signing_servers,
scriptRepo='%s%s' % (config['hgurl'],
config['mozharness_repo_path']),
scriptName='scripts/mobile_l10n.py',
use_credentials_file=True,
extra_args=extra_args,
relengapi_archiver_repo_path=config.get('mozharness_archiver_repo_path'),
+ relengapi_archiver_rev=config.get('mozharness_archiver_rev'),
)
slavebuilddir = normalizeName(builddir, pf['stage_product'])
branchObjects['builders'].append({
'name': builderName,
'slavenames': pf.get('slaves'),
'builddir': builddir,
'slavebuilddir': slavebuilddir,
'factory': factory,
@@ -2435,16 +2441,17 @@ def generateTalosBranchObjects(branch, b
'extra_args': extra_args,
'script_timeout': platform_config['mozharness_config'].get('script_timeout', 3600),
'script_maxtime': (platform_config['mozharness_config'].get('talos_script_maxtime', platform_config['mozharness_config'].get('script_maxtime', 7200))),
'reboot_command': platform_config[
'mozharness_config'].get('reboot_command'),
'script_repo_manifest': branch_config.get(
'script_repo_manifest'),
'relengapi_archiver_repo_path': branch_config.get('mozharness_archiver_repo_path'),
+ 'relengapi_archiver_rev': branch_config.get('mozharness_archiver_rev'),
}
return args
# end of _makeGenerateMozharnessTalosBuilderArgs
if branch_config.get('mozharness_talos', True) and platform_config[slave_platform].get('mozharness_talos', True):
args = _makeGenerateMozharnessTalosBuilderArgs(suite, opt_talos_branch, platform,
factory_kwargs, branch_config, platform_config)
factory = generateMozharnessTalosBuilder(**args)
@@ -2596,16 +2603,17 @@ def generateTalosBranchObjects(branch, b
}
test_builder_chunks = None
if isinstance(suites, dict) and "use_mozharness" in suites:
test_builder_kwargs['mozharness_repo'] = branch_config['mozharness_repo']
test_builder_kwargs['mozharness_tag'] = branch_config['mozharness_tag']
test_builder_kwargs['mozharness'] = True
test_builder_kwargs['script_repo_manifest'] = branch_config.get('script_repo_manifest')
test_builder_kwargs['relengapi_archiver_repo_path'] = branch_config.get('mozharness_archiver_repo_path')
+ test_builder_kwargs['relengapi_archiver_rev'] = branch_config.get('mozharness_archiver_rev')
# allow mozharness_python to be overridden per test slave platform in case Python
# not installed to a consistent location.
if 'mozharness_config' in platform_config[slave_platform] and \
'mozharness_python' in platform_config[slave_platform]['mozharness_config']:
test_builder_kwargs['mozharness_python'] = \
platform_config[slave_platform]['mozharness_config']['mozharness_python']
else:
test_builder_kwargs['mozharness_python'] = platform_config['mozharness_config']['mozharness_python']
@@ -3244,17 +3252,18 @@ def mh_l10n_builders(config, platform, b
scriptRepo=scriptRepo,
scriptName=scriptName,
script_timeout=script_timeout,
script_maxtime=script_maxtime,
use_credentials_file=use_credentials_file,
interpreter=mozharness_python,
extra_args=extra_args,
reboot_command=reboot_command,
- relengapi_archiver_repo_path=config.get('mozharness_archiver_repo_path')
+ relengapi_archiver_repo_path=config.get('mozharness_archiver_repo_path'),
+ relengapi_archiver_rev=config.get('mozharness_archiver_rev')
)
slavebuilddir = normalizeName(builddir)
builders.append({
'name': builderName,
'slavenames': pf.get('slaves'),
'builddir': builddir,
'slavebuilddir': slavebuilddir,
'factory': factory,
--- a/process/factory.py
+++ b/process/factory.py
@@ -4727,17 +4727,17 @@ class ScriptFactory(RequestSortingBuildF
reboot_command=None, hg_bin='hg', platform=None,
use_mock=False, mock_target=None,
mock_packages=None, mock_copyin_files=None,
triggered_schedulers=None, env={}, copy_properties=None,
properties_file='buildprops.json', script_repo_cache=None,
tools_repo_cache=None, tooltool_manifest_src=None,
tooltool_bootstrap="setup.sh", tooltool_url_list=None,
tooltool_script=None, relengapi_archiver_repo_path=None,
- relengapi_archiver_release_tag=None):
+ relengapi_archiver_release_tag=None, relengapi_archiver_rev=None):
BuildFactory.__init__(self)
self.script_timeout = script_timeout
self.log_eval_func = log_eval_func
self.script_maxtime = script_maxtime
self.reboot_command = reboot_command
self.platform = platform
self.use_mock = use_mock
self.mock_target = mock_target
@@ -4796,17 +4796,17 @@ class ScriptFactory(RequestSortingBuildF
value=scriptRepo,
))
script_repo_url = WithProperties('%(script_repo_url)s')
if relengapi_archiver_repo_path:
if relengapi_archiver_release_tag:
archiver_revision = "--tag %s " % relengapi_archiver_release_tag
else:
- archiver_revision = "--rev %(revision)s "
+ archiver_revision = "--rev %s " % (relengapi_archiver_rev or '%(revision)s',)
if self.script_repo_cache:
assert self.tools_repo_cache
archiver_client_path = \
os.path.join(self.tools_repo_cache,
'buildfarm',
'utils',
'archiver_client.py')
else: