mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 12:25:53 +00:00
Bug 1277338 - Part 10: Add the SM-tc(rust) taskcluster task; r=sfink
This adds a new SpiderMonkey taskcluster test task that builds and tests the js/rust crate.
This commit is contained in:
parent
8ea43ad861
commit
f9b4712e86
@ -35,6 +35,7 @@ job-defaults:
|
||||
- intl/icu/**
|
||||
- js/moz.configure
|
||||
- js/public/**
|
||||
- js/rust/**
|
||||
- js/src/**
|
||||
- layout/tools/reftest/reftest/**
|
||||
- Makefile.in
|
||||
@ -95,6 +96,23 @@ jobs:
|
||||
spidermonkey-variant: plain
|
||||
run-on-projects: ['integration', 'release', 'try']
|
||||
|
||||
sm-rust-bindings/debug:
|
||||
description: "Build and test the Rust bindings for SpiderMonkey"
|
||||
index:
|
||||
job-name: sm-rust-bindings-debug
|
||||
treeherder:
|
||||
symbol: SM-tc(rust)
|
||||
tier: 2
|
||||
worker:
|
||||
max-run-time: 36000
|
||||
docker-image: {in-tree: desktop-build}
|
||||
env:
|
||||
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/releng.manifest"
|
||||
run:
|
||||
using: spidermonkey-rust-bindings
|
||||
spidermonkey-variant: plain
|
||||
run-on-projects: ['integration', 'release', 'try']
|
||||
|
||||
sm-plain/debug:
|
||||
description: "Spidermonkey Plain"
|
||||
index:
|
||||
|
@ -142,7 +142,7 @@ following ``run-using`` are available
|
||||
* ``mozharness``
|
||||
* ``mozharness-test``
|
||||
* ``run-task``
|
||||
* ``spidermonkey`` or ``spidermonkey-package`` or ``spidermonkey-mozjs-crate``
|
||||
* ``spidermonkey`` or ``spidermonkey-package`` or ``spidermonkey-mozjs-crate`` or ``spidermonkey-rust-bindings``
|
||||
* ``toolchain-script``
|
||||
|
||||
|
||||
|
18
taskcluster/scripts/builder/build-sm-rust-bindings.sh
Executable file
18
taskcluster/scripts/builder/build-sm-rust-bindings.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -xe
|
||||
|
||||
source $(dirname $0)/sm-tooltool-config.sh
|
||||
|
||||
# Ensure that we have a .config/cargo that points us to our vendored crates
|
||||
# rather than to crates.io.
|
||||
cd "$SRCDIR/.cargo"
|
||||
sed -e "s|@top_srcdir@|$SRCDIR|" < config.in | tee config
|
||||
|
||||
cd "$SRCDIR/js/rust"
|
||||
|
||||
# Enable backtraces if we panic.
|
||||
export RUST_BACKTRACE=1
|
||||
|
||||
cargo test --verbose --frozen --features debugmozjs
|
||||
cargo test --verbose --frozen
|
@ -47,3 +47,8 @@ BROWSER_PLATFORM=$PLATFORM_OS$BITS
|
||||
export TOOLTOOL_CHECKOUT
|
||||
|
||||
(cd $TOOLTOOL_CHECKOUT && ${SRCDIR}/mach artifact toolchain -v --tooltool-url $TOOLTOOL_SERVER --tooltool-manifest $SRCDIR/$TOOLTOOL_MANIFEST ${TOOLTOOL_CACHE:+ --cache-dir $TOOLTOOL_CACHE}${MOZ_TOOLCHAINS:+ ${MOZ_TOOLCHAINS}})
|
||||
|
||||
# Add all the tooltool binaries to our $PATH.
|
||||
for bin in ls $TOOLTOOL_CHECKOUT/*/bin; do
|
||||
export PATH="$bin:$PATH"
|
||||
done
|
||||
|
@ -88,6 +88,7 @@ JOB_NAME_WHITELIST = set([
|
||||
'sm-plaindebug-debug',
|
||||
'sm-win-plaindebug-debug',
|
||||
'sm-rootanalysis-debug',
|
||||
'sm-rust-bindings-debug',
|
||||
'sm-tsan-opt',
|
||||
'win32-add-on-devel',
|
||||
'win32-clang-tidy',
|
||||
|
@ -20,7 +20,7 @@ from taskgraph.transforms.job.common import (
|
||||
)
|
||||
|
||||
sm_run_schema = Schema({
|
||||
Required('using'): Any('spidermonkey', 'spidermonkey-package', 'spidermonkey-mozjs-crate'),
|
||||
Required('using'): Any('spidermonkey', 'spidermonkey-package', 'spidermonkey-mozjs-crate', 'spidermonkey-rust-bindings'),
|
||||
|
||||
# The SPIDERMONKEY_VARIANT
|
||||
Required('spidermonkey-variant'): basestring,
|
||||
@ -31,6 +31,8 @@ sm_run_schema = Schema({
|
||||
@run_job_using("docker-worker", "spidermonkey-package", schema=sm_run_schema)
|
||||
@run_job_using("docker-worker", "spidermonkey-mozjs-crate",
|
||||
schema=sm_run_schema)
|
||||
@run_job_using("docker-worker", "spidermonkey-rust-bindings",
|
||||
schema=sm_run_schema)
|
||||
def docker_worker_spidermonkey(config, job, taskdesc):
|
||||
run = job['run']
|
||||
|
||||
@ -62,6 +64,8 @@ def docker_worker_spidermonkey(config, job, taskdesc):
|
||||
script = "build-sm-package.sh"
|
||||
elif run['using'] == 'spidermonkey-mozjs-crate':
|
||||
script = "build-sm-mozjs-crate.sh"
|
||||
elif run['using'] == 'spidermonkey-rust-bindings':
|
||||
script = "build-sm-rust-bindings.sh"
|
||||
|
||||
worker['command'] = [
|
||||
'/builds/worker/bin/run-task',
|
||||
@ -104,7 +108,11 @@ def generic_worker_spidermonkey(config, job, taskdesc):
|
||||
elif run['using'] == 'spidermonkey-mozjs-crate':
|
||||
script = "build-sm-mozjs-crate.sh"
|
||||
# Don't allow untested configurations yet
|
||||
raise Exception("spidermonkey-mozhs-crate is not a supported configuration")
|
||||
raise Exception("spidermonkey-mozjs-crate is not a supported configuration")
|
||||
elif run['using'] == 'spidermonkey-rust-bindings':
|
||||
script = "build-sm-rust-bindings.sh"
|
||||
# Don't allow untested configurations yet
|
||||
raise Exception("spidermonkey-rust-bindings is not a supported configuration")
|
||||
|
||||
hg_command = ['"c:\\Program Files\\Mercurial\\hg.exe"']
|
||||
hg_command.append('robustcheckout')
|
||||
|
@ -167,6 +167,7 @@ RIDEALONG_BUILDS = {
|
||||
'sm-mozjs-sys',
|
||||
'sm-msan',
|
||||
'sm-fuzzing',
|
||||
'sm-rust-bindings',
|
||||
],
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user