mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-08 16:58:38 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
86
taskcluster/taskgraph/transforms/job/spidermonkey.py
Normal file
86
taskcluster/taskgraph/transforms/job/spidermonkey.py
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
"""
|
||||
Support for running spidermonkey jobs via dedicated scripts
|
||||
"""
|
||||
|
||||
from __future__ import absolute_import, print_function, unicode_literals
|
||||
|
||||
from voluptuous import Schema, Required, Optional, Any
|
||||
|
||||
from taskgraph.transforms.job import run_job_using
|
||||
from taskgraph.transforms.job.common import (
|
||||
docker_worker_add_public_artifacts,
|
||||
docker_worker_support_vcs_checkout,
|
||||
)
|
||||
|
||||
sm_run_schema = Schema({
|
||||
Required('using'): Any('spidermonkey', 'spidermonkey-package', 'spidermonkey-mozjs-crate'),
|
||||
|
||||
# The SPIDERMONKEY_VARIANT
|
||||
Required('spidermonkey-variant'): basestring,
|
||||
|
||||
# The tooltool manifest to use; default from sm-tooltool-config.sh is used
|
||||
# if omitted
|
||||
Optional('tooltool-manifest'): basestring,
|
||||
})
|
||||
|
||||
|
||||
@run_job_using("docker-worker", "spidermonkey")
|
||||
@run_job_using("docker-worker", "spidermonkey-package")
|
||||
@run_job_using("docker-worker", "spidermonkey-mozjs-crate")
|
||||
def docker_worker_spidermonkey(config, job, taskdesc, schema=sm_run_schema):
|
||||
run = job['run']
|
||||
|
||||
worker = taskdesc['worker']
|
||||
worker['artifacts'] = []
|
||||
worker['caches'] = []
|
||||
|
||||
if int(config.params['level']) > 1:
|
||||
worker['caches'].append({
|
||||
'type': 'persistent',
|
||||
'name': 'level-{}-{}-build-spidermonkey-workspace'.format(
|
||||
config.params['level'], config.params['project']),
|
||||
'mount-point': "/home/worker/workspace",
|
||||
})
|
||||
|
||||
docker_worker_add_public_artifacts(config, job, taskdesc)
|
||||
|
||||
env = worker['env']
|
||||
env.update({
|
||||
'MOZHARNESS_DISABLE': 'true',
|
||||
'SPIDERMONKEY_VARIANT': run['spidermonkey-variant'],
|
||||
'MOZ_BUILD_DATE': config.params['moz_build_date'],
|
||||
'MOZ_SCM_LEVEL': config.params['level'],
|
||||
})
|
||||
|
||||
# tooltool downloads; note that this script downloads using the API
|
||||
# endpoiint directly, rather than via relengapi-proxy
|
||||
worker['caches'].append({
|
||||
'type': 'persistent',
|
||||
'name': 'tooltool-cache',
|
||||
'mount-point': '/home/worker/tooltool-cache',
|
||||
})
|
||||
env['TOOLTOOL_CACHE'] = '/home/worker/tooltool-cache'
|
||||
if run.get('tooltool-manifest'):
|
||||
env['TOOLTOOL_MANIFEST'] = run['tooltool-manifest']
|
||||
|
||||
docker_worker_support_vcs_checkout(config, job, taskdesc)
|
||||
|
||||
script = "build-sm.sh"
|
||||
if run['using'] == 'spidermonkey-package':
|
||||
script = "build-sm-package.sh"
|
||||
elif run['using'] == 'spidermonkey-mozjs-crate':
|
||||
script = "build-sm-mozjs-crate.sh"
|
||||
|
||||
worker['command'] = [
|
||||
'/home/worker/bin/run-task',
|
||||
'--chown-recursive', '/home/worker/workspace',
|
||||
'--chown-recursive', '/home/worker/tooltool-cache',
|
||||
'--vcs-checkout', '/home/worker/workspace/build/src',
|
||||
'--',
|
||||
'/bin/bash',
|
||||
'-c',
|
||||
'cd /home/worker && workspace/build/src/taskcluster/scripts/builder/%s' % script
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue