gecko-dev/taskcluster/ci/spidermonkey/linux.yml
Chris Fallin 227741192b Bug 1649928: add CI jobs for Cranelift/aarch64 Wasm backend using simulator. r=sfink
This adds a new job variant `arm64-cranelift-sim` to the SpiderMonkey
build configurations, and adds a Taskherder CI configuration to run it.
The job uses the aarch64 simulator support built-in to SpiderMonkey, so
it does not need to run on native aarch64 hardware.

A few tests needed to be added to the "slow tests" list as they time out
under the simulator otherwise.

This also fixes an issue with an error message in `build-sm.sh` in which
the overloading of the backtick's meaning (code-quotes in
Markdown-world, and command interpolation in shell scripts) led to an
amusing attempt to execute parts of the error message.

Finally, this fixes an error that seems unrelated to Cranelift or
WebAssembly in a GC jit-test, wherein its way of measuring maximum stack
recursion depth was failing.

Differential Revision: https://phabricator.services.mozilla.com/D86131
2020-08-07 18:17:37 +00:00

280 lines
7.1 KiB
YAML

# 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/.
---
job-defaults:
worker:
max-run-time: 36000
docker-image: {in-tree: debian8-amd64-build}
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
MOZ_AUTOMATION_UPLOAD: "0"
run:
tooltool-downloads: public
sm-package-linux64/opt:
description: "Spidermonkey source package and test"
index:
job-name: sm-package-linux64-opt
treeherder:
symbol: SM(pkg)
platform: linux64/opt
run:
using: spidermonkey-package
spidermonkey-variant: plain
sm-mozjs-sys-linux64/debug:
description: "Build js/src as the mozjs_sys Rust crate"
index:
job-name: sm-mozjs-sys-linux64-debug
treeherder:
platform: linux64/debug
symbol: SM(mozjs-crate)
run:
using: spidermonkey-mozjs-crate
spidermonkey-variant: plaindebug
run-on-projects: ['integration', 'release']
sm-rust-bindings-linux64/debug:
description: "Build and test the Rust bindings for SpiderMonkey"
index:
job-name: sm-rust-bindings-linux64-debug
treeherder:
symbol: SM(rust)
tier: 2
platform: linux64/debug
worker:
docker-image: {in-tree: debian8-mozjs-rust-build}
run:
using: spidermonkey-rust-bindings
spidermonkey-variant: plaindebug
run-on-projects: ['integration', 'release']
sm-plain-linux64/debug:
description: "Spidermonkey Plain"
index:
job-name: sm-plain-linux64-debug
treeherder:
platform: linux64/debug
symbol: SM(p)
run:
spidermonkey-variant: plaindebug
sm-plain-linux64/opt:
description: "Spidermonkey Plain"
index:
job-name: sm-plain-linux64-opt
treeherder:
symbol: SM(p)
platform: linux64/opt
run:
spidermonkey-variant: plain
sm-smoosh-linux64/debug:
description: "Spidermonkey SmooshMonkey"
index:
job-name: sm-smoosh-linux64-debug
treeherder:
platform: linux64/debug
symbol: SM(smoosh)
tier: 3
run:
spidermonkey-variant: smooshdebug
fetches:
toolchain:
- linux64-clang
- linux64-gcc
- linux64-rust
- linux64-cbindgen
run-on-projects: ['mozilla-central']
sm-smoosh-linux64/opt:
description: "Spidermonkey SmooshMonkey"
index:
job-name: sm-smoosh-linux64-opt
treeherder:
symbol: SM(smoosh)
platform: linux64/opt
tier: 3
run:
spidermonkey-variant: smoosh
fetches:
toolchain:
- linux64-clang
- linux64-gcc
- linux64-rust
- linux64-cbindgen
run-on-projects: ['mozilla-central']
sm-warp-linux64/debug:
description: "Spidermonkey WarpBuilder"
index:
job-name: sm-warp-linux64-debug
treeherder:
platform: linux64/debug
symbol: SM(warp)
tier: 2
run:
spidermonkey-variant: warpdebug
run-on-projects: ['mozilla-central']
sm-nojit-linux64/opt:
description: "Spidermonkey no JIT"
index:
job-name: sm-nojit-linux64-opt
treeherder:
symbol: SM(nojit)
platform: linux64/opt
run:
spidermonkey-variant: nojit
sm-arm-sim-linux32/debug:
description: "Spidermonkey ARM sim"
index:
job-name: sm-arm-sim-linux32-debug
treeherder:
platform: linux32/debug
symbol: SM(arm)
worker:
docker-image: {in-tree: debian8-i386-build}
run:
spidermonkey-variant: arm-sim
sm-arm64-sim-linux64/debug:
description: "Spidermonkey ARM64 sim"
index:
job-name: sm-arm64-sim-linux64-debug
treeherder:
platform: linux64/debug
symbol: SM(arm64)
run:
spidermonkey-variant: arm64-sim
sm-arm64-sim-cranelift-linux64/debug:
description: "Spidermonkey ARM64 sim with Cranelift Wasm backend"
index:
job-name: sm-arm64-sim-cranelift-linux64-debug
treeherder:
platform: linux64/debug
symbol: SM(arm64cl)
run:
spidermonkey-variant: arm64-cranelift-sim
fetches:
toolchain:
- linux64-binutils
- linux64-clang
- linux64-gcc
- linux64-rust
- linux64-rust-size
- linux64-cbindgen
run-on-projects: ['mozilla-central']
sm-asan-linux64/opt:
description: "Spidermonkey Address Sanitizer"
index:
job-name: sm-asan-linux64-opt
treeherder:
symbol: SM(asan)
platform: linux64/opt
worker:
env:
MOZ_AUTOMATION_UPLOAD: "1"
run:
spidermonkey-variant: asan
sm-compacting-linux64/debug:
description: "Spidermonkey Compacting"
index:
job-name: sm-compacting-linux64-debug
treeherder:
platform: linux64/debug
symbol: SM(cgc)
run:
spidermonkey-variant: compacting
sm-msan-linux64/opt:
description: "Spidermonkey Memory Sanitizer"
index:
job-name: sm-msan-linux64-opt
treeherder:
symbol: SM(msan)
platform: linux64/opt
tier: 3
worker:
env:
MOZ_AUTOMATION_UPLOAD: "1"
run:
spidermonkey-variant: msan
# Disable by default by allow try pushes to explicitly request.
run-on-projects: []
sm-tsan-linux64/opt:
description: "Spidermonkey Thread Sanitizer"
index:
job-name: sm-tsan-linux64-opt
treeherder:
symbol: SM(tsan)
platform: linux64/opt
worker:
env:
MOZ_AUTOMATION_UPLOAD: "1"
run:
spidermonkey-variant: tsan
fetches:
toolchain:
- linux64-binutils
- linux64-clang
- linux64-rust
sm-rootanalysis-linux64/debug:
description: "Spidermonkey Root Analysis"
index:
job-name: sm-rootanalysis-linux64-debug
treeherder:
platform: linux64/debug
symbol: SM(r)
run:
spidermonkey-variant: rootanalysis
sm-nonunified-linux64/debug:
description: "Spidermonkey Non-Unified Debug"
index:
job-name: sm-nonunified-linux64-debug
treeherder:
platform: linux64/debug
symbol: SM(nu)
run:
spidermonkey-variant: nonunified
fetches:
toolchain:
- linux64-clang
- linux64-gcc
- linux64-rust
- linux64-cbindgen
sm-fuzzing-linux64/opt:
description: "Spidermonkey Fuzzing"
index:
job-name: sm-fuzzing-linux64
treeherder:
platform: linux64/opt
symbol: SM(f)
worker:
env:
MOZ_AUTOMATION_UPLOAD: "1"
run:
spidermonkey-variant: fuzzing
sm-gdb-linux64/debug:
description: "Spidermonkey GDB Pretty-printers"
index:
job-name: sm-gdb-linux64
worker:
docker-image: {in-tree: gdb-test}
treeherder:
platform: linux64/debug
tier: 2
symbol: SM(gdb)
run:
spidermonkey-variant: gdb