forked from Samsung/escargot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
143 lines (128 loc) · 6.3 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
language: cpp
compiler:
- gcc
matrix:
include:
- name: "linux.debug"
addons:
apt:
packages: [ autoconf, automake, libtool, ninja-build, libicu-dev, gcc-multilib g++-multilib, "libicu-dev:i386" ]
script:
- cmake -H. -Bout/linux/x64/debug -DESCARGOT_HOST=linux -DESCARGOT_ARCH=x64 -DESCARGOT_MODE=debug -DESCARGOT_OUTPUT=bin -GNinja
- ninja -Cout/linux/x64/debug
- cp ./out/linux/x64/debug/escargot ./escargot
- tools/run-tests.py --arch=x86_64 sunspider-js modifiedVendorTest regression-tests es2015 intl
- gcc -shared -fPIC -o backtrace-hooking.so tools/test/test262/backtrace-hooking.c
- export GC_FREE_SPACE_DIVISOR=1
- export ESCARGOT_LD_PRELOAD=${TRAVIS_BUILD_DIR}/backtrace-hooking.so
- travis_wait 30 tools/run-tests.py --arch=x86_64 test262
- unset GC_FREE_SPACE_DIVISOR
- unset ESCARGOT_LD_PRELOAD
- rm -rf ./out
- cmake -H. -Bout/linux/x86/debug -DESCARGOT_HOST=linux -DESCARGOT_ARCH=x86 -DESCARGOT_MODE=debug -DESCARGOT_OUTPUT=bin -GNinja
- ninja -Cout/linux/x86/debug
- cp ./out/linux/x86/debug/escargot ./escargot
- tools/run-tests.py --arch=x86 sunspider-js modifiedVendorTest regression-tests es2015 intl
- gcc -shared -m32 -fPIC -o backtrace-hooking.so tools/test/test262/backtrace-hooking.c
- export GC_FREE_SPACE_DIVISOR=1
- export ESCARGOT_LD_PRELOAD=${TRAVIS_BUILD_DIR}/backtrace-hooking.so
- travis_wait 30 tools/run-tests.py --arch=x86 test262
- name: "linux.x64.release"
addons:
apt:
packages: [ autoconf, automake, libtool, ninja-build, libicu-dev, npm ]
install:
- npm install
script:
- cmake -H. -Bout/linux/x64/release -DESCARGOT_HOST=linux -DESCARGOT_ARCH=x64 -DESCARGOT_MODE=release -DESCARGOT_OUTPUT=bin -DVENDORTEST=1 -GNinja
- ninja -Cout/linux/x64/release
- cp ./out/linux/x64/release/escargot ./escargot
- travis_wait 30 tools/run-tests.py --arch=x86_64 octane
- tools/run-tests.py --arch=x86_64 jetstream-only-cdjs sunspider-js modifiedVendorTest jsc-stress v8 spidermonkey regression-tests es2015 intl chakracore
- export GC_FREE_SPACE_DIVISOR=1
- travis_wait 40 tools/run-tests.py --arch=x86_64 test262
- name: "linux.x64.release.jetstream"
addons:
apt:
packages: [ autoconf, automake, libtool, ninja-build, libicu-dev, npm ]
install:
- npm install
script:
- cmake -H. -Bout/linux/x64/release -DESCARGOT_HOST=linux -DESCARGOT_ARCH=x64 -DESCARGOT_MODE=release -DESCARGOT_OUTPUT=bin -DVENDORTEST=1 -GNinja
- ninja -Cout/linux/x64/release
- cp ./out/linux/x64/release/escargot ./escargot
- travis_wait 30 tools/run-tests.py --arch=x86_64 jetstream-only-simple
- name: "linux.x86.release"
addons:
apt:
packages: [ autoconf, automake, libtool, ninja-build, gcc-multilib g++-multilib, "libicu-dev:i386", npm ]
install:
- npm install
script:
- cmake -H. -Bout/linux/x86/release -DESCARGOT_HOST=linux -DESCARGOT_ARCH=x86 -DESCARGOT_MODE=release -DESCARGOT_OUTPUT=bin -DVENDORTEST=1 -GNinja
- ninja -Cout/linux/x86/release
- cp ./out/linux/x86/release/escargot ./escargot
- travis_wait 30 tools/run-tests.py --arch=x86 octane
- tools/run-tests.py --arch=x86 jetstream-only-cdjs sunspider-js modifiedVendorTest jsc-stress v8 spidermonkey regression-tests es2015 intl chakracore
- export GC_FREE_SPACE_DIVISOR=1
- travis_wait 40 tools/run-tests.py --arch=x86 test262
- name: "linux.x86.release.jetstream"
addons:
apt:
packages: [ autoconf, automake, libtool, ninja-build, gcc-multilib g++-multilib, "libicu-dev:i386", npm ]
install:
- npm install
script:
- cmake -H. -Bout/linux/x86/release -DESCARGOT_HOST=linux -DESCARGOT_ARCH=x86 -DESCARGOT_MODE=release -DESCARGOT_OUTPUT=bin -DVENDORTEST=1 -GNinja
- ninja -Cout/linux/x86/release
- cp ./out/linux/x86/release/escargot ./escargot
- travis_wait 30 tools/run-tests.py --arch=x86 jetstream-only-simple
- name: "check"
addons:
apt:
packages: [ clang-format-3.9 ]
script:
- python tools/check_tidy.py
- name: "darwin.x64.release"
os: osx
addons:
homebrew:
update: true
packages: [ autoconf, automake, cmake, libtool, ninja, pkg-config, icu4c ]
install:
- npm install
env:
- PKG_CONFIG_PATH=/usr/local/opt/icu4c/lib/pkgconfig
script:
- cmake -H. -Bout/darwin/x64/release -DESCARGOT_HOST=darwin -DESCARGOT_ARCH=x64 -DESCARGOT_MODE=release -DESCARGOT_OUTPUT=bin -DVENDORTEST=1 -GNinja
- ninja -Cout/darwin/x64/release
- cp ./out/darwin/x64/release/escargot ./escargot
- tools/run-tests.py --arch=x86_64 jetstream-only-cdjs sunspider-js modifiedVendorTest jsc-stress regression-tests v8 es2015 intl
- tools/run-tests.py test262
# FIXME: jetstream-only-simple and octane takes too long running time on darwin
# jetstream-only-simple and octane are skipped now.
# - travis_wait 40 tools/run-tests.py --arch=x86_64 jetstream-only-simple octane
# FIXME: chakracore fails on darwin
# ChakraCore's test runner uses `readlink -f` to determine the test root directory.
# However, `readlink` has no `-f` option on macOS.
# FIXME: spidermonkey fails on darwin
# SpiderMonkey's ecma/String/15.5.4.12-3.js tests String.prototype.toUpperCase(),
# which relies on ICU. Recent ICU versions (installed on macOS) support Unicode 11.0,
# which returns upper case letters from the Gregorian Extended block (0x1C90-0x1CBF)
# for Gregorian letters (0x10D0-0x10FF). Unfortunately, the test case expects
# Unicode 1.0 compatible(?) behaviour, i.e., to return letters unmodified.
- name: "SonarQube"
addons:
apt:
packages: [ autoconf, automake, libtool, ninja-build, libicu-dev ]
sonarcloud:
organization: "lws-project"
cache:
directories:
- '$HOME/.sonar/cache'
script:
- ./tools/check_sonarqube.sh
allow_failures:
- name: "darwin.x64.release"
- name: "SonarQube"
fast_finish: true