diff --git a/taskcluster/ci/test/raptor.yml b/taskcluster/ci/test/raptor.yml index 4a0607a5fbb3..629cde615a3a 100644 --- a/taskcluster/ci/test/raptor.yml +++ b/taskcluster/ci/test/raptor.yml @@ -1,6 +1,7 @@ job-defaults: max-run-time: 1800 suite: raptor + workdir: /home/cltbld tier: by-test-platform: windows10-64-ccov/.*: 3 diff --git a/taskcluster/taskgraph/transforms/job/mozharness_test.py b/taskcluster/taskgraph/transforms/job/mozharness_test.py index 28b9f1521e1d..37d74b856f70 100644 --- a/taskcluster/taskgraph/transforms/job/mozharness_test.py +++ b/taskcluster/taskgraph/transforms/job/mozharness_test.py @@ -337,7 +337,8 @@ def mozharness_test_on_native_engine(config, job, taskdesc): if 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_REV': config.params['head_rev'], 'MOZHARNESS_CONFIG': ' '.join(mozharness['config']), @@ -351,7 +352,7 @@ def mozharness_test_on_native_engine(config, job, taskdesc): "MOZ_HIDE_RESULTS_TABLE": '1', "MOZ_NODE_PATH": "/usr/local/bin/node", 'MOZ_AUTOMATION': '1', - } + }) # talos tests don't need Xvfb if is_talos: env['NEED_XVFB'] = 'false' diff --git a/taskcluster/taskgraph/transforms/tests.py b/taskcluster/taskgraph/transforms/tests.py index 21ede56f39fc..544a67bd012d 100644 --- a/taskcluster/taskgraph/transforms/tests.py +++ b/taskcluster/taskgraph/transforms/tests.py @@ -146,6 +146,9 @@ test_description_schema = Schema({ 'test-platform', 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 test-name. This will translate to the `unittest_try_name` or # `talos_try_name` attribute. @@ -1097,6 +1100,9 @@ def make_job_description(config, tests): run['using'] = 'mozharness-test' run['test'] = test + if 'workdir' in test: + run['workdir'] = test.pop('workdir') + jobdesc['worker-type'] = test.pop('worker-type') if test.get('fetches'): jobdesc['fetches'] = test.pop('fetches') diff --git a/testing/mozharness/mozharness/mozilla/testing/raptor.py b/testing/mozharness/mozharness/mozilla/testing/raptor.py index 0cec719c8765..09b7009890f6 100644 --- a/testing/mozharness/mozharness/mozilla/testing/raptor.py +++ b/testing/mozharness/mozharness/mozilla/testing/raptor.py @@ -299,6 +299,8 @@ class Raptor(TestingMixin, MercurialScript, CodeCoverageMixin): # clobber defined in BaseScript 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( suite_categories=['common', 'raptor'] )