]> git.proxmox.com Git - mirror_qemu.git/blame - .travis.yml
travis: stop redefining the script commands
[mirror_qemu.git] / .travis.yml
CommitLineData
044722d5
AB
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
197be697 4
692d162c 5sudo: false
044722d5 6dist: trusty
fe863ab9
AB
7language: c
8python:
8e73a3c5 9 - "2.6"
fe863ab9
AB
10compiler:
11 - gcc
4c33d42d 12cache: ccache
197be697
DB
13
14
692d162c
AB
15addons:
16 apt:
17 packages:
32265288 18 # Build dependencies
692d162c
AB
19 - libaio-dev
20 - libattr1-dev
21 - libbrlapi-dev
22 - libcap-ng-dev
7524a39d 23 - libgcc-4.8-dev
692d162c
AB
24 - libgnutls-dev
25 - libgtk-3-dev
26 - libiscsi-dev
27 - liblttng-ust-dev
28 - libncurses5-dev
d83414e1 29 - libnfs-dev
692d162c
AB
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
0708e647 44 - gcovr
91fa7dd1
AB
45 homebrew:
46 packages:
47 - libffi
48 - gettext
49 - glib
50 - pixman
692d162c 51
197be697 52
cb4c2536
PK
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"
39d16d29
AB
56notifications:
57 irc:
58 channels:
cb4c2536 59 - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
39d16d29
AB
60 on_success: change
61 on_failure: always
197be697
DB
62
63
fe863ab9
AB
64env:
65 global:
ebf2ff65
PMD
66 - SRC_DIR="."
67 - BUILD_DIR="."
9b29d049 68 - TEST_CMD="make check -j3"
197be697
DB
69
70
cb021cfe
AB
71git:
72 # we want to do this ourselves
73 submodules: false
197be697
DB
74
75
eebf2940 76before_script:
ebf2ff65
PMD
77 - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
78 - ${SRC_DIR}/configure ${CONFIG} || { cat config.log && exit 1; }
eebf2940 79script:
9b29d049 80 - make -j3 && ${TEST_CMD}
197be697
DB
81
82
fe863ab9 83matrix:
fe863ab9 84 include:
c21d7efc
DB
85 - env:
86 - CONFIG="--disable-system"
3e094234
DB
87
88
c21d7efc
DB
89 - env:
90 - CONFIG="--disable-user"
3e094234
DB
91
92
c21d7efc
DB
93 - env:
94 - CONFIG="--enable-debug --enable-debug-tcg"
3e094234
DB
95
96
c21d7efc
DB
97 - env:
98 - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb --disable-user"
3e094234
DB
99
100
c21d7efc
DB
101 - env:
102 - CONFIG="--enable-modules --disable-linux-user"
3e094234
DB
103
104
c21d7efc
DB
105 - env:
106 - CONFIG="--with-coroutine=ucontext --disable-linux-user"
3e094234
DB
107
108
c21d7efc
DB
109 - env:
110 - CONFIG="--with-coroutine=sigaltstack --disable-linux-user"
3e094234
DB
111
112
ebf2ff65 113 # Test out-of-tree builds
c21d7efc
DB
114 - env:
115 - CONFIG="--enable-debug --enable-debug-tcg"
116 - BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.."
197be697
DB
117
118
ae6d692d 119 # Test with Clang for compile portability (Travis uses clang-5.0)
c21d7efc
DB
120 - env:
121 - CONFIG="--disable-system"
ae6d692d 122 compiler: clang
197be697
DB
123
124
c21d7efc
DB
125 - env:
126 - CONFIG="--disable-user"
d9a6b013 127 compiler: clang
197be697
DB
128
129
6c933291 130 # gprof/gcov are GCC features
c21d7efc
DB
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"
0708e647
AB
133 after_success:
134 - ${SRC_DIR}/scripts/travis/coverage-summary.sh
fe863ab9 135 compiler: gcc
197be697
DB
136
137
6c933291 138 # We manually include builds which we disable "make check" for
c21d7efc
DB
139 - env:
140 - CONFIG="--enable-debug --enable-tcg-interpreter"
141 - TEST_CMD=""
fe863ab9 142 compiler: gcc
197be697
DB
143
144
f8309de9 145 # We don't need to exercise every backend with every front-end
c21d7efc
DB
146 - env:
147 - CONFIG="--enable-trace-backends=log,simple,syslog --disable-system"
148 - TEST_CMD=""
fe863ab9 149 compiler: gcc
197be697
DB
150
151
c21d7efc
DB
152 - env:
153 - CONFIG="--enable-trace-backends=ftrace --target-list=x86_64-softmmu"
154 - TEST_CMD=""
86c3b20a 155 compiler: gcc
197be697
DB
156
157
c21d7efc
DB
158 - env:
159 - CONFIG="--enable-trace-backends=ust --target-list=x86_64-softmmu"
160 - TEST_CMD=""
15552dbb 161 compiler: gcc
197be697
DB
162
163
c21d7efc
DB
164 - env:
165 - CONFIG="--disable-tcg"
166 - TEST_CMD=""
97837314 167 compiler: gcc
197be697
DB
168
169
adcf9683 170 # MacOSX builds
c21d7efc
DB
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"
1d002037 173 os: osx
adcf9683
AB
174 osx_image: xcode9.4
175 compiler: clang
197be697
DB
176
177
c21d7efc
DB
178 - env:
179 - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu"
adcf9683
AB
180 os: osx
181 osx_image: xcode10
1d002037 182 compiler: clang
197be697
DB
183
184
ae6d692d 185 # Python builds
c21d7efc
DB
186 - env:
187 - CONFIG="--target-list=x86_64-softmmu"
8e73a3c5
DB
188 python:
189 - "3.0"
197be697
DB
190
191
c21d7efc
DB
192 - env:
193 - CONFIG="--target-list=x86_64-softmmu"
8e73a3c5
DB
194 python:
195 - "3.6"
197be697
DB
196
197
aa983ff6 198 # Acceptance (Functional) tests
c21d7efc
DB
199 - env:
200 - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu"
201 - TEST_CMD="make AVOCADO_SHOW=app check-acceptance"
aa983ff6
CR
202 addons:
203 apt:
204 packages:
205 - python3-pip
206 - python3.4-venv
197be697
DB
207
208
32265288
AB
209 # Using newer GCC with sanitizers
210 - addons:
211 apt:
ac07ffc6 212 update: true
32265288
AB
213 sources:
214 # PPAs for newer toolchains
215 - ubuntu-toolchain-r-test
216 packages:
217 # Extra toolchains
ac07ffc6
AB
218 - gcc-7
219 - g++-7
32265288
AB
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:
ac07ffc6
AB
248 - COMPILER_NAME=gcc CXX=g++-7 CC=gcc-7
249 - CONFIG="--cc=gcc-7 --cxx=g++-7 --disable-pie --disable-linux-user"
32265288
AB
250 - TEST_CMD=""
251 before_script:
6a259f8d 252 - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || { cat config.log && exit 1; }
197be697
DB
253
254
65b26da4
AB
255 - env:
256 - CONFIG="--disable-system --disable-docs"
9b29d049 257 - TEST_CMD="make -j3 check-tcg"
65b26da4
AB
258 sudo: required
259 dist: trusty
260 compiler: gcc