Bug 1469697 - Use run-task transform for spidermonkey tasks. r=tomprince

Differential Revision: https://phabricator.services.mozilla.com/D41724
This commit is contained in:
Mike Hommey 2019-08-09 16:58:16 +09:00
parent 544b89776a
commit fb26d1619a
2 changed files with 24 additions and 35 deletions

View File

@ -6,7 +6,7 @@ TOOLTOOL_SERVER=${TOOLTOOL_SERVER:-https://tooltool.mozilla-releng.net/}
SPIDERMONKEY_VARIANT=${SPIDERMONKEY_VARIANT:-plain}
UPLOAD_DIR=${UPLOAD_DIR:-$HOME/artifacts/}
WORK=${WORK:-$HOME/workspace}
SRCDIR=${SRCDIR:-$WORK/build/src}
SRCDIR=${SRCDIR:-$GECKO_PATH}
export TOOLTOOL_CHECKOUT=${TOOLTOOL_CHECKOUT:-$WORK}

View File

@ -10,13 +10,14 @@ from __future__ import absolute_import, print_function, unicode_literals
from taskgraph.util.schema import Schema
from voluptuous import Required, Any, Optional
from taskgraph.transforms.job import run_job_using
from taskgraph.transforms.job import (
run_job_using,
configure_taskdesc_for_run,
)
from taskgraph.transforms.job.common import (
docker_worker_add_artifacts,
generic_worker_add_artifacts,
generic_worker_hg_commands,
docker_worker_add_tooltool,
support_vcs_checkout,
)
sm_run_schema = Schema({
@ -41,7 +42,7 @@ sm_run_schema = Schema({
def docker_worker_spidermonkey(config, job, taskdesc):
run = job['run']
worker = taskdesc['worker']
worker = taskdesc['worker'] = job['worker']
worker['artifacts'] = []
worker.setdefault('caches', []).append({
'type': 'persistent',
@ -56,14 +57,13 @@ def docker_worker_spidermonkey(config, job, taskdesc):
env = worker.setdefault('env', {})
env.update({
'MOZHARNESS_DISABLE': 'true',
'SPIDERMONKEY_VARIANT': run['spidermonkey-variant'],
'SPIDERMONKEY_VARIANT': run.pop('spidermonkey-variant'),
'MOZ_BUILD_DATE': config.params['moz_build_date'],
'MOZ_SCM_LEVEL': config.params['level'],
'GECKO_PATH': '{}/workspace/build/src'.format(run['workdir'])
})
if 'spidermonkey-platform' in run:
env['SPIDERMONKEY_PLATFORM'] = run['spidermonkey-platform']
support_vcs_checkout(config, job, taskdesc)
env['SPIDERMONKEY_PLATFORM'] = run.pop('spidermonkey-platform')
script = "build-sm.sh"
if run['using'] == 'spidermonkey-package':
@ -73,16 +73,15 @@ def docker_worker_spidermonkey(config, job, taskdesc):
elif run['using'] == 'spidermonkey-rust-bindings':
script = "build-sm-rust-bindings.sh"
worker['command'] = [
'{workdir}/bin/run-task'.format(**run),
'--gecko-checkout', '{workdir}/workspace/build/src'.format(**run),
'--',
'/bin/bash',
'-c',
'cd {workdir} && workspace/build/src/taskcluster/scripts/builder/{script}'.format(
workdir=run['workdir'], script=script)
run['using'] = 'run-task'
run['cwd'] = run['workdir']
run['command'] = [
'workspace/build/src/taskcluster/scripts/builder/{script}'.format(
script=script)
]
configure_taskdesc_for_run(config, job, taskdesc, worker['implementation'])
@run_job_using("generic-worker", "spidermonkey", schema=sm_run_schema)
def generic_worker_spidermonkey(config, job, taskdesc):
@ -90,24 +89,23 @@ def generic_worker_spidermonkey(config, job, taskdesc):
run = job['run']
worker = taskdesc['worker']
worker = taskdesc['worker'] = job['worker']
generic_worker_add_artifacts(config, job, taskdesc)
support_vcs_checkout(config, job, taskdesc)
env = worker.setdefault('env', {})
env.update({
'MOZHARNESS_DISABLE': 'true',
'SPIDERMONKEY_VARIANT': run['spidermonkey-variant'],
'SPIDERMONKEY_VARIANT': run.pop('spidermonkey-variant'),
'MOZ_BUILD_DATE': config.params['moz_build_date'],
'MOZ_SCM_LEVEL': config.params['level'],
'SCCACHE_DISABLE': "1",
'WORK': ".", # Override the defaults in build scripts
'SRCDIR': "./src", # with values suiteable for windows generic worker
'GECKO_PATH': "./src", # with values suiteable for windows generic worker
'UPLOAD_DIR': "./public/build"
})
if 'spidermonkey-platform' in run:
env['SPIDERMONKEY_PLATFORM'] = run['spidermonkey-platform']
env['SPIDERMONKEY_PLATFORM'] = run.pop('spidermonkey-platform')
script = "build-sm.sh"
if run['using'] == 'spidermonkey-package':
@ -123,17 +121,8 @@ def generic_worker_spidermonkey(config, job, taskdesc):
# Don't allow untested configurations yet
raise Exception("spidermonkey-rust-bindings is not a supported configuration")
hg_command = generic_worker_hg_commands(
'https://hg.mozilla.org/mozilla-unified',
env['GECKO_HEAD_REPOSITORY'],
env['GECKO_HEAD_REV'],
r'.\src',
)[0]
run['using'] = 'run-task'
run['command'] = ['c:\\mozilla-build\\msys\\bin\\bash.exe ' # string concat
'"./src/taskcluster/scripts/builder/%s"' % script]
command = ['c:\\mozilla-build\\msys\\bin\\bash.exe ' # string concat
'"./src/taskcluster/scripts/builder/%s"' % script]
worker['command'] = [
hg_command,
' '.join(command),
]
configure_taskdesc_for_run(config, job, taskdesc, worker['implementation'])