1
1
language : c
2
2
3
- # Default test platform: Ubuntu Trusty with sudo support .
3
+ # Default environment: Container-based (sudo-less) Ubuntu Trusty 14.04 .
4
4
os : linux
5
5
dist : trusty
6
- sudo : required
6
+ sudo : false
7
7
8
- # Default dependency installation step #1: install dependencies for linux.
9
- # Other platforms can change this by redefining the 'before_install' stage in
10
- # the matrix below.
11
- before_install : tools/apt-get-install-deps.sh
12
-
13
- # Default dependency installation step #2: nop intentionally.
14
- # Jobs can add their own dependencies on top of 'before_install' by redefinig
15
- # the 'install' stage in the matrix below.
8
+ # Default dependency installation step: nop intentionally.
9
+ # Jobs can add their own dependencies by redefinig the 'install' stage in the matrix below.
16
10
install : true
17
11
18
12
# Default job task: run tests as defined in the $OPT environment variable.
@@ -22,23 +16,88 @@ script: tools/run-tests.py $OPTS
22
16
# All the job definitions in the matrix.
23
17
matrix :
24
18
include :
25
- - env : OPTS="--check-signed-off=travis --check-cppcheck --check-doxygen --check-vera --check-license --check-magic-strings --check-pylint"
19
+ - env :
20
+ - JOBNAME="Checks"
21
+ - OPTS="--check-signed-off=travis --check-cppcheck --check-doxygen --check-vera --check-license --check-magic-strings --check-pylint"
26
22
install : pip install --user pylint==1.6.5
27
- - env : OPTS="--jerry-debugger"
28
- - env : OPTS="--quiet --jerry-tests --jerry-test-suite"
29
- - env : OPTS="--quiet --jerry-tests --jerry-test-suite --toolchain=cmake/toolchain_linux_armv7l.cmake" TIMEOUT=300
30
- install : tools/apt-get-install-qemu-arm.sh
31
- - env : OPTS="--buildoption-test"
32
- - env : OPTS="--quiet --jerry-tests --jerry-test-suite --buildoptions=--jerry-libc=off,--compile-flag=-m32,--cpointer-32bit=on"
33
- - env : OPTS="--unittests"
34
- - env : OPTS="--unittests --buildoptions=--cmake-param=-DFEATURE_INIT_FINI=ON"
35
- - env : OPTS="--test262"
36
- install : sudo timedatectl set-timezone America/Los_Angeles
37
- - os : osx
38
- before_install : tools/brew-install-deps.sh
39
- env : OPTS="--quiet --jerry-tests --jerry-test-suite --unittests"
40
- - install : echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
41
- env :
23
+ addons :
24
+ apt :
25
+ packages : [doxygen, cppcheck, vera++]
26
+
27
+ - env :
28
+ - JOBNAME="Linux/x86-64 Build & Correctness Tests"
29
+ - OPTS="--quiet --jerry-tests --jerry-test-suite"
30
+
31
+ - env :
32
+ - JOBNAME="Linux/x86 (cpointer-32bit) Build & Correctness Tests"
33
+ - OPTS="--quiet --jerry-tests --jerry-test-suite --buildoptions=--jerry-libc=off,--compile-flag=-m32,--cpointer-32bit=on"
34
+ addons :
35
+ apt :
36
+ packages : [gcc-multilib]
37
+
38
+ - env :
39
+ - JOBNAME="Linux/ARM Build & Correctness Tests"
40
+ - OPTS="--quiet --jerry-tests --jerry-test-suite --toolchain=cmake/toolchain_linux_armv7l.cmake"
41
+ - TIMEOUT=300
42
+ sudo : true # keep on sudo-enabled VM to allow qemu to register itself to binfmt_misc
43
+ addons :
44
+ apt :
45
+ packages : [gcc-arm-linux-gnueabihf, libc6-dev-armhf-cross, qemu-user-static]
46
+
47
+ - env :
48
+ - JOBNAME="OSX/x86-64 Build, Correctness & Unit Tests"
49
+ - OPTS="--quiet --jerry-tests --jerry-test-suite --unittests"
50
+ os : osx
51
+ install : tools/brew-install-deps.sh
52
+
53
+ - env :
54
+ - JOBNAME="Build Tests"
55
+ - OPTS="--buildoption-test"
56
+ addons :
57
+ apt :
58
+ packages : [gcc-multilib]
59
+
60
+ - env :
61
+ - JOBNAME="Unit Tests"
62
+ - OPTS="--unittests"
63
+
64
+ - env :
65
+ - JOBNAME="Unit Tests (INIT_FINI)"
66
+ - OPTS="--unittests --buildoptions=--cmake-param=-DFEATURE_INIT_FINI=ON"
67
+
68
+ - env :
69
+ - JOBNAME="Debugger Tests"
70
+ - OPTS="--jerry-debugger"
71
+
72
+ - env :
73
+ - JOBNAME="Conformance Tests"
74
+ - OPTS="--test262"
75
+ - TZ=America/Los_Angeles
76
+
77
+ - env :
78
+ - JOBNAME="ASAN Tests"
79
+ - OPTS="--quiet --jerry-tests --jerry-test-suite --skip-list=parser-oom.js --buildoptions=--compile-flag=-fsanitize=address,--compile-flag=-m32,--compile-flag=-fno-omit-frame-pointer,--compile-flag=-fno-common,--compile-flag=-O2,--debug,--jerry-libc=off,--static-link=off,--system-allocator=on,--linker-flag=-fuse-ld=gold"
80
+ - ASAN_OPTIONS=detect_stack_use_after_return=1:check_initialization_order=true:strict_init_order=true
81
+ - TIMEOUT=600
82
+ compiler : gcc-5
83
+ addons :
84
+ apt :
85
+ sources : ubuntu-toolchain-r-test
86
+ packages : [gcc-5, gcc-5-multilib]
87
+
88
+ - env :
89
+ - JOBNAME="UBSAN Tests"
90
+ - OPTS="--quiet --jerry-tests --jerry-test-suite --skip-list=parser-oom.js --buildoptions=--compile-flag=-fsanitize=undefined,--compile-flag=-m32,--compile-flag=-fno-omit-frame-pointer,--compile-flag=-fno-common,--debug,--jerry-libc=off,--static-link=off,--system-allocator=on,--linker-flag=-fuse-ld=gold"
91
+ - UBSAN_OPTIONS=print_stacktrace=1
92
+ - TIMEOUT=600
93
+ compiler : gcc-5
94
+ addons :
95
+ apt :
96
+ sources : ubuntu-toolchain-r-test
97
+ packages : [gcc-5, gcc-5-multilib]
98
+
99
+ - env :
100
+ - JOBNAME="Coverity Scan"
42
101
# Declaration of the encrypted COVERITY_SCAN_TOKEN, created via the
43
102
# "travis encrypt" command using the project repo's public key.
44
103
- secure : " V7BdXv3FCVkFGEfKfWto6I+Sytou1zTCGyn49xurkBfKNsG/3vbkXfsbK1m6lCZxmY7W/1odpfjixpAPZgy2L4FgPZK6/UyVvC8pIFjDOubcEniN48haleSvm/ZFPLDifxDL2+VVFtK1oRYPtDBzzSoUCcfwovgk+Wy+tSBnhnyRLqO/WaI6PqFof7ECYMTRlJVjioZARVP4YmkBruIPmGDdR/3EvwowlxfuiFoPheix61ug4x3tpTBW2qWgvFjDyCZXFz4pJrBQPTAIbyKMxHcBykJjl9eR+dWAOsvE1Uw48tFOJxjKDfUttVQUPsyKFllmcCVS0fDYB5pzZOmRUPxJmox1jt8J1FY85Ri1PGY0THBPM2H7to4Yf2418Y3539epbN8p+79dwaM7e2OiJ2owukbWI7PoNqIz5DV5zxpIKsOQfeWuNLJOgsBePEIU7lz133Si/2d5W/7If46B1d+hZRBJfSYksgDqDU6G/voZkPf0K5bKe2O2BxiIW1DYk4yQ1ecZAkqGjZ8jG3zYGMG3mSF4VyuU4UGFG1Pg8fw7Ap5zuHxSVY1H9dtu4T6JQG3aj/x1omlzfw48DjgkwxVhf7Xvl3yfR7pzydYheLX3MZYtcVo7rWnglZFZoUjWDK1StbmzsvPftvwWtoDTWlzo4xeSXhahSJvJyc4U8Wc="
@@ -51,24 +110,7 @@ matrix:
51
110
build_command : " tools/build.py --clean"
52
111
branch_pattern : master
53
112
script : true # Changed to nop, Coverity Scan has already built the project by the time 'script' stage is reached.
54
- - compiler : gcc-5
55
- addons :
56
- apt :
57
- sources :
58
- - ubuntu-toolchain-r-test
59
- packages :
60
- - gcc-5
61
- - gcc-5-multilib
62
- env : OPTS="--quiet --jerry-tests --jerry-test-suite --skip-list=parser-oom.js --buildoptions=--compile-flag=-fsanitize=address,--compile-flag=-m32,--compile-flag=-fno-omit-frame-pointer,--compile-flag=-fno-common,--compile-flag=-O2,--debug,--jerry-libc=off,--static-link=off,--system-allocator=on,--linker-flag=-fuse-ld=gold" ASAN_OPTIONS=detect_stack_use_after_return=1:check_initialization_order=true:strict_init_order=true TIMEOUT=600
63
- - compiler : gcc-5
64
- addons :
65
- apt :
66
- sources :
67
- - ubuntu-toolchain-r-test
68
- packages :
69
- - gcc-5
70
- - gcc-5-multilib
71
- env : OPTS="--quiet --jerry-tests --jerry-test-suite --skip-list=parser-oom.js --buildoptions=--compile-flag=-fsanitize=undefined,--compile-flag=-m32,--compile-flag=-fno-omit-frame-pointer,--compile-flag=-fno-common,--debug,--jerry-libc=off,--static-link=off,--system-allocator=on,--linker-flag=-fuse-ld=gold" UBSAN_OPTIONS=print_stacktrace=1 TIMEOUT=600
113
+
72
114
- env : JOBNAME="SonarQube"
73
115
addons :
74
116
sonarcloud :
@@ -87,49 +129,63 @@ matrix:
87
129
cache :
88
130
directories :
89
131
- ' ${HOME}/.sonar/cache'
132
+
90
133
- env : JOBNAME="ESP8266 Build Test"
91
134
cache : ccache
92
- install : make -f ./targets/esp8266/Makefile.travis install
135
+ install : make -f ./targets/esp8266/Makefile.travis install-noapt
93
136
script : make -f ./targets/esp8266/Makefile.travis script
137
+ addons :
138
+ apt :
139
+ packages : [gperf, texinfo, wget]
140
+
94
141
- env : JOBNAME="Mbed/K64F Build Test"
95
142
addons :
96
143
apt :
97
144
sources :
98
145
- sourceline : ppa:team-gcc-arm-embedded/ppa
99
- packages :
100
- - gcc-arm-embedded
101
- install : make -f ./targets/mbed/Makefile.travis install
146
+ packages : [gcc-arm-embedded, ninja-build, libffi-dev, libssl-dev]
147
+ install : make -f ./targets/mbed/Makefile.travis install-noapt
102
148
script : make -f ./targets/mbed/Makefile.travis script
149
+
103
150
- env : JOBNAME="Mbed OS 5/K64F Build Test"
104
151
addons :
105
152
apt :
106
153
sources :
107
154
- sourceline : ppa:team-gcc-arm-embedded/ppa
108
- packages :
109
- - gcc-arm-embedded
155
+ packages : [gcc-arm-embedded]
110
156
install : make -f ./targets/mbedos5/Makefile.travis install
111
157
script : make -f ./targets/mbedos5/Makefile.travis script
158
+
112
159
- env : JOBNAME="NuttX/STM32F4 Build Test"
113
- install : make -f targets/nuttx-stm32f4/Makefile.travis install
160
+ install : make -f targets/nuttx-stm32f4/Makefile.travis install-noapt
114
161
script : make -f targets/nuttx-stm32f4/Makefile.travis script
162
+ addons :
163
+ apt :
164
+ packages : [gcc-arm-none-eabi, libnewlib-arm-none-eabi, gperf]
165
+
115
166
- env : JOBNAME="RIOT/STM32F4 Build Test"
116
- install : make -f ./targets/riot-stm32f4/Makefile.travis install
167
+ install : make -f ./targets/riot-stm32f4/Makefile.travis install-noapt
117
168
script : make -f ./targets/riot-stm32f4/Makefile.travis script
169
+ addons :
170
+ apt :
171
+ packages : [gcc-arm-none-eabi, libnewlib-arm-none-eabi]
172
+
118
173
- env : JOBNAME="Tizen RT/Artik053 Build Test"
119
174
addons :
120
175
apt :
121
176
sources :
122
177
- sourceline : ppa:team-gcc-arm-embedded/ppa
123
- packages :
124
- - gcc-arm-embedded
178
+ packages : [gcc-arm-embedded]
125
179
install : make -f ./targets/tizenrt-artik053/Makefile.travis install
126
180
script : make -f ./targets/tizenrt-artik053/Makefile.travis script
181
+
127
182
- env : JOBNAME="Zephyr/Arduino 101 Build Test"
128
- install : make -f ./targets/zephyr/Makefile.travis install
183
+ install : make -f ./targets/zephyr/Makefile.travis install-noapt
129
184
script : make -f ./targets/zephyr/Makefile.travis script
130
- allow_failures :
131
- - env : JOBNAME="Mbed/K64F Build Test"
132
- - env : JOBNAME="Zephyr/Arduino 101 Build Test"
185
+ addons :
186
+ apt :
187
+ packages : [gperf, dfu-util, device-tree-compiler, python3-ply, python3-pip]
188
+
133
189
fast_finish : true
134
190
135
191
# The channel name "chat.freenode.net#jerryscript"
0 commit comments