]> git.proxmox.com Git - mirror_qemu.git/blob - .travis.yml
travis: stop redefining the script commands
[mirror_qemu.git] / .travis.yml
1 # The current Travis default is a container based 14.04 Trust on EC2
2 # Additional builds with specific requirements for a full VM need to
3 # be added as additional matrix: entries later on
4
5 sudo: false
6 dist: trusty
7 language: c
8 python:
9 - "2.6"
10 compiler:
11 - gcc
12 cache: ccache
13
14
15 addons:
16 apt:
17 packages:
18 # Build dependencies
19 - libaio-dev
20 - libattr1-dev
21 - libbrlapi-dev
22 - libcap-ng-dev
23 - libgcc-4.8-dev
24 - libgnutls-dev
25 - libgtk-3-dev
26 - libiscsi-dev
27 - liblttng-ust-dev
28 - libncurses5-dev
29 - libnfs-dev
30 - libnss3-dev
31 - libpixman-1-dev
32 - libpng12-dev
33 - librados-dev
34 - libsdl1.2-dev
35 - libseccomp-dev
36 - libspice-protocol-dev
37 - libspice-server-dev
38 - libssh2-1-dev
39 - liburcu-dev
40 - libusb-1.0-0-dev
41 - libvte-2.90-dev
42 - sparse
43 - uuid-dev
44 - gcovr
45 homebrew:
46 packages:
47 - libffi
48 - gettext
49 - glib
50 - pixman
51
52
53 # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu
54 # to prevent IRC notifications from forks. This was created using:
55 # $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu"
56 notifications:
57 irc:
58 channels:
59 - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
60 on_success: change
61 on_failure: always
62
63
64 env:
65 global:
66 - SRC_DIR="."
67 - BUILD_DIR="."
68 - TEST_CMD="make check -j3"
69
70
71 git:
72 # we want to do this ourselves
73 submodules: false
74
75
76 before_script:
77 - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
78 - ${SRC_DIR}/configure ${CONFIG} || { cat config.log && exit 1; }
79 script:
80 - make -j3 && ${TEST_CMD}
81
82
83 matrix:
84 include:
85 - env:
86 - CONFIG="--disable-system"
87
88
89 - env:
90 - CONFIG="--disable-user"
91
92
93 - env:
94 - CONFIG="--enable-debug --enable-debug-tcg"
95
96
97 - env:
98 - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb --disable-user"
99
100
101 - env:
102 - CONFIG="--enable-modules --disable-linux-user"
103
104
105 - env:
106 - CONFIG="--with-coroutine=ucontext --disable-linux-user"
107
108
109 - env:
110 - CONFIG="--with-coroutine=sigaltstack --disable-linux-user"
111
112
113 # Test out-of-tree builds
114 - env:
115 - CONFIG="--enable-debug --enable-debug-tcg"
116 - BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.."
117
118
119 # Test with Clang for compile portability (Travis uses clang-5.0)
120 - env:
121 - CONFIG="--disable-system"
122 compiler: clang
123
124
125 - env:
126 - CONFIG="--disable-user"
127 compiler: clang
128
129
130 # gprof/gcov are GCC features
131 - env:
132 - CONFIG="--enable-gprof --enable-gcov --disable-pie --target-list=aarch64-softmmu,arm-softmmu,i386-softmmu,mips-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
133 after_success:
134 - ${SRC_DIR}/scripts/travis/coverage-summary.sh
135 compiler: gcc
136
137
138 # We manually include builds which we disable "make check" for
139 - env:
140 - CONFIG="--enable-debug --enable-tcg-interpreter"
141 - TEST_CMD=""
142 compiler: gcc
143
144
145 # We don't need to exercise every backend with every front-end
146 - env:
147 - CONFIG="--enable-trace-backends=log,simple,syslog --disable-system"
148 - TEST_CMD=""
149 compiler: gcc
150
151
152 - env:
153 - CONFIG="--enable-trace-backends=ftrace --target-list=x86_64-softmmu"
154 - TEST_CMD=""
155 compiler: gcc
156
157
158 - env:
159 - CONFIG="--enable-trace-backends=ust --target-list=x86_64-softmmu"
160 - TEST_CMD=""
161 compiler: gcc
162
163
164 - env:
165 - CONFIG="--disable-tcg"
166 - TEST_CMD=""
167 compiler: gcc
168
169
170 # MacOSX builds
171 - env:
172 - CONFIG="--target-list=aarch64-softmmu,arm-softmmu,i386-softmmu,mips-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
173 os: osx
174 osx_image: xcode9.4
175 compiler: clang
176
177
178 - env:
179 - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu"
180 os: osx
181 osx_image: xcode10
182 compiler: clang
183
184
185 # Python builds
186 - env:
187 - CONFIG="--target-list=x86_64-softmmu"
188 python:
189 - "3.0"
190
191
192 - env:
193 - CONFIG="--target-list=x86_64-softmmu"
194 python:
195 - "3.6"
196
197
198 # Acceptance (Functional) tests
199 - env:
200 - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu"
201 - TEST_CMD="make AVOCADO_SHOW=app check-acceptance"
202 addons:
203 apt:
204 packages:
205 - python3-pip
206 - python3.4-venv
207
208
209 # Using newer GCC with sanitizers
210 - addons:
211 apt:
212 update: true
213 sources:
214 # PPAs for newer toolchains
215 - ubuntu-toolchain-r-test
216 packages:
217 # Extra toolchains
218 - gcc-7
219 - g++-7
220 # Build dependencies
221 - libaio-dev
222 - libattr1-dev
223 - libbrlapi-dev
224 - libcap-ng-dev
225 - libgnutls-dev
226 - libgtk-3-dev
227 - libiscsi-dev
228 - liblttng-ust-dev
229 - libnfs-dev
230 - libncurses5-dev
231 - libnss3-dev
232 - libpixman-1-dev
233 - libpng12-dev
234 - librados-dev
235 - libsdl1.2-dev
236 - libseccomp-dev
237 - libspice-protocol-dev
238 - libspice-server-dev
239 - libssh2-1-dev
240 - liburcu-dev
241 - libusb-1.0-0-dev
242 - libvte-2.90-dev
243 - sparse
244 - uuid-dev
245 language: generic
246 compiler: none
247 env:
248 - COMPILER_NAME=gcc CXX=g++-7 CC=gcc-7
249 - CONFIG="--cc=gcc-7 --cxx=g++-7 --disable-pie --disable-linux-user"
250 - TEST_CMD=""
251 before_script:
252 - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || { cat config.log && exit 1; }
253
254
255 - env:
256 - CONFIG="--disable-system --disable-docs"
257 - TEST_CMD="make -j3 check-tcg"
258 sudo: required
259 dist: trusty
260 compiler: gcc