Bug 1482344 - [raptor] Fix fetch tasks for native-engine mozharness_test based tasks, r=jmaher

This unbreaks some tier 3 raptor tasks. There are a few fixes rolled together here:
1) Stop overwriting the 'env' in mozharness_test.py's 'native-engine' implementation
2) Set the workdir to /home/cltbld (which makes sure the fetches are downloaded to there)
3) Download the fetches via mozharness in the 'raptor' script (since they don't use run-task anymore)

Depends on D3651

Differential Revision: https://phabricator.services.mozilla.com/D3652

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Andrew Halberstadt 2018-08-20 14:04:57 +00:00
parent 110c04d107
commit 76da0cced6
4 changed files with 12 additions and 2 deletions

View file

@ -1,6 +1,7 @@
job-defaults: job-defaults:
max-run-time: 1800 max-run-time: 1800
suite: raptor suite: raptor
workdir: /home/cltbld
tier: tier:
by-test-platform: by-test-platform:
windows10-64-ccov/.*: 3 windows10-64-ccov/.*: 3

View file

@ -337,7 +337,8 @@ def mozharness_test_on_native_engine(config, job, taskdesc):
if test['max-run-time']: if test['max-run-time']:
worker['max-run-time'] = test['max-run-time'] worker['max-run-time'] = test['max-run-time']
worker['env'] = env = { env = worker.setdefault('env', {})
env.update({
'GECKO_HEAD_REPOSITORY': config.params['head_repository'], 'GECKO_HEAD_REPOSITORY': config.params['head_repository'],
'GECKO_HEAD_REV': config.params['head_rev'], 'GECKO_HEAD_REV': config.params['head_rev'],
'MOZHARNESS_CONFIG': ' '.join(mozharness['config']), 'MOZHARNESS_CONFIG': ' '.join(mozharness['config']),
@ -351,7 +352,7 @@ def mozharness_test_on_native_engine(config, job, taskdesc):
"MOZ_HIDE_RESULTS_TABLE": '1', "MOZ_HIDE_RESULTS_TABLE": '1',
"MOZ_NODE_PATH": "/usr/local/bin/node", "MOZ_NODE_PATH": "/usr/local/bin/node",
'MOZ_AUTOMATION': '1', 'MOZ_AUTOMATION': '1',
} })
# talos tests don't need Xvfb # talos tests don't need Xvfb
if is_talos: if is_talos:
env['NEED_XVFB'] = 'false' env['NEED_XVFB'] = 'false'

View file

@ -146,6 +146,9 @@ test_description_schema = Schema({
'test-platform', 'test-platform',
basestring), basestring),
# base work directory used to set up the task.
Optional('workdir'): basestring,
# the name by which this test suite is addressed in try syntax; defaults to # the name by which this test suite is addressed in try syntax; defaults to
# the test-name. This will translate to the `unittest_try_name` or # the test-name. This will translate to the `unittest_try_name` or
# `talos_try_name` attribute. # `talos_try_name` attribute.
@ -1097,6 +1100,9 @@ def make_job_description(config, tests):
run['using'] = 'mozharness-test' run['using'] = 'mozharness-test'
run['test'] = test run['test'] = test
if 'workdir' in test:
run['workdir'] = test.pop('workdir')
jobdesc['worker-type'] = test.pop('worker-type') jobdesc['worker-type'] = test.pop('worker-type')
if test.get('fetches'): if test.get('fetches'):
jobdesc['fetches'] = test.pop('fetches') jobdesc['fetches'] = test.pop('fetches')

View file

@ -299,6 +299,8 @@ class Raptor(TestingMixin, MercurialScript, CodeCoverageMixin):
# clobber defined in BaseScript # clobber defined in BaseScript
def download_and_extract(self, extract_dirs=None, suite_categories=None): def download_and_extract(self, extract_dirs=None, suite_categories=None):
if 'MOZ_FETCHES' in os.environ:
self.fetch_content()
return super(Raptor, self).download_and_extract( return super(Raptor, self).download_and_extract(
suite_categories=['common', 'raptor'] suite_categories=['common', 'raptor']
) )