blob: 5f1dea873ec3d4083da3be59a944552e6abaadc2 [file] [log] [blame]
Alex Bennée95310572019-01-09 10:42:00 +00001# The current Travis default is a VM based 16.04 Xenial on GCE
2# Additional builds with specific requirements for a full VM need to
3# be added as additional matrix: entries later on
Wainer dos Santos Moschetta321e6ea2020-02-25 12:46:57 +00004os: linux
Thomas Huthe7699052020-09-25 16:40:18 +01005dist: focal
Alex Bennéefe863ab2013-11-06 10:43:37 +00006language: c
Alex Bennéefe863ab2013-11-06 10:43:37 +00007compiler:
8 - gcc
Philippe Mathieu-Daudé4bc629b2019-09-03 15:26:40 +02009cache:
Philippe Mathieu-Daudé5ef9c532019-09-03 15:26:46 +020010 # There is one cache per branch and compiler version.
11 # characteristics of each job are used to identify the cache:
Alex Bennée22a23192020-05-01 12:15:03 +010012 # - OS name (currently only linux)
Thomas Huthe7699052020-09-25 16:40:18 +010013 # - OS distribution (for Linux, bionic or focal)
Philippe Mathieu-Daudé5ef9c532019-09-03 15:26:46 +020014 # - Names and values of visible environment variables set in .travis.yml or Settings panel
Philippe Mathieu-Daudé731cbb62019-09-03 15:26:41 +020015 timeout: 1200
Philippe Mathieu-Daudé4bc629b2019-09-03 15:26:40 +020016 ccache: true
Philippe Mathieu-Daudé6e189d72019-09-03 15:26:42 +020017 pip: true
Philippe Mathieu-Daudéc1073e42019-09-03 15:26:43 +020018 directories:
19 - $HOME/avocado/data/cache
Daniel P. Berrangé197be692019-01-09 16:31:06 +000020
21
Alex Bennée692d1622016-01-14 19:21:16 +000022addons:
23 apt:
24 packages:
Alex Bennée32265282016-09-30 22:31:03 +010025 # Build dependencies
Alex Bennée692d1622016-01-14 19:21:16 +000026 - libaio-dev
27 - libattr1-dev
28 - libbrlapi-dev
29 - libcap-ng-dev
Thomas Huthe7699052020-09-25 16:40:18 +010030 - libgcc-7-dev
Thomas Huth3c7a8b42019-10-09 19:06:59 +020031 - libgnutls28-dev
Alex Bennée692d1622016-01-14 19:21:16 +000032 - libgtk-3-dev
33 - libiscsi-dev
34 - liblttng-ust-dev
35 - libncurses5-dev
Marc-André Lureaud83414e2018-01-16 16:11:52 +010036 - libnfs-dev
Alex Bennée692d1622016-01-14 19:21:16 +000037 - libnss3-dev
38 - libpixman-1-dev
Thomas Huth3c7a8b42019-10-09 19:06:59 +020039 - libpng-dev
Alex Bennée692d1622016-01-14 19:21:16 +000040 - librados-dev
Thomas Huth241e7952019-10-09 19:06:58 +020041 - libsdl2-dev
42 - libsdl2-image-dev
Alex Bennée692d1622016-01-14 19:21:16 +000043 - libseccomp-dev
44 - libspice-protocol-dev
45 - libspice-server-dev
Pino Toscanob10d49d2019-06-20 22:08:40 +020046 - libssh-dev
Alex Bennée692d1622016-01-14 19:21:16 +000047 - liburcu-dev
48 - libusb-1.0-0-dev
Thomas Huth7c1dd4d2019-10-09 19:06:57 +020049 - libvdeplug-dev
Alex Bennée95310572019-01-09 10:42:00 +000050 - libvte-2.91-dev
Juan Quintela3a678482019-12-17 21:15:24 +010051 - libzstd-dev
Paolo Bonzini345d7052020-08-13 09:58:50 -040052 - ninja-build
Alex Bennée692d1622016-01-14 19:21:16 +000053 - sparse
54 - uuid-dev
Alex Bennée0708e642018-06-20 12:00:07 +010055 - gcovr
Wainer dos Santos Moschetta58a1e5b2020-02-03 09:09:19 +000056 # Tests dependencies
57 - genisoimage
Alex Bennée692d1622016-01-14 19:21:16 +000058
Daniel P. Berrangé197be692019-01-09 16:31:06 +000059
Pranith Kumarcb4c2532016-06-27 14:13:22 -040060# The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu
61# to prevent IRC notifications from forks. This was created using:
62# $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu"
Alex Bennée39d16d22014-03-12 14:13:53 +000063notifications:
64 irc:
65 channels:
Pranith Kumarcb4c2532016-06-27 14:13:22 -040066 - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
Alex Bennée39d16d22014-03-12 14:13:53 +000067 on_success: change
68 on_failure: always
Daniel P. Berrangé197be692019-01-09 16:31:06 +000069
70
Alex Bennéefe863ab2013-11-06 10:43:37 +000071env:
72 global:
Paolo Bonzinibc4486f2019-12-11 15:33:49 +010073 - SRC_DIR=".."
74 - BUILD_DIR="build"
Alex Bennée570f3c72019-02-01 17:12:29 +000075 - BASE_CONFIG="--disable-docs --disable-tools"
Alex Bennée4f46afd2020-02-03 09:09:29 +000076 - TEST_BUILD_CMD=""
Alex Bennée05273a42019-11-07 10:47:03 +000077 - TEST_CMD="make check V=1"
Alex Bennée8c3daf92019-03-19 12:09:49 +000078 # This is broadly a list of "mainline" softmmu targets which have support across the major distros
Alex Bennée6e988882019-11-12 18:31:19 +000079 - MAIN_SOFTMMU_TARGETS="aarch64-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
Philippe Mathieu-Daudébcfbf0d2019-09-03 15:26:44 +020080 - CCACHE_SLOPPINESS="include_file_ctime,include_file_mtime"
81 - CCACHE_MAXSIZE=1G
Philippe Mathieu-Daudé2dbd39c2020-03-16 17:21:32 +000082 - G_MESSAGES_DEBUG=error
Philippe Mathieu-Daudébcfbf0d2019-09-03 15:26:44 +020083
Daniel P. Berrangé197be692019-01-09 16:31:06 +000084
Alex Bennéecb021cf2014-09-24 11:13:55 +010085git:
86 # we want to do this ourselves
87 submodules: false
Daniel P. Berrangé197be692019-01-09 16:31:06 +000088
Alex Bennéeb3165c82020-02-03 09:09:25 +000089# Common first phase for all steps
90before_install:
Thomas Huth312995c2019-10-09 19:07:00 +020091 - if command -v ccache ; then ccache --zero-stats ; fi
Alex Bennée0a7c0ae2020-02-03 09:09:26 +000092 - export JOBS=$(($(getconf _NPROCESSORS_ONLN) + 1))
93 - echo "=== Using ${JOBS} simultaneous jobs ==="
Alex Bennéeb3165c82020-02-03 09:09:25 +000094
95# Configure step - may be overridden
96before_script:
Philippe Mathieu-Daudéebf2ff62018-06-21 09:26:37 -030097 - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
Paolo Bonzinic47110d2020-10-16 05:49:28 -040098 - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log meson-logs/meson-log.txt && exit 1; }
Alex Bennéeb3165c82020-02-03 09:09:25 +000099
100# Main build & test - rarely overridden - controlled by TEST_CMD
Alex Bennéeeebf2942014-09-24 11:13:54 +0100101script:
Alex Bennée0a7c0ae2020-02-03 09:09:26 +0000102 - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
Alex Bennée4f46afd2020-02-03 09:09:29 +0000103 - |
104 if [ "$BUILD_RC" -eq 0 ] && [ -n "$TEST_BUILD_CMD" ]; then
105 ${TEST_BUILD_CMD} || BUILD_RC=$?
106 else
107 $(exit $BUILD_RC);
108 fi
Alex Bennéeec49faa2020-02-03 09:09:30 +0000109 - |
110 if [ "$BUILD_RC" -eq 0 ] ; then
111 ${TEST_CMD} ;
112 else
113 $(exit $BUILD_RC);
114 fi
Philippe Mathieu-Daudébcfbf0d2019-09-03 15:26:44 +0200115after_script:
Alex Bennée4f8bde52020-05-01 12:15:02 +0100116 - df -h
Thomas Huth312995c2019-10-09 19:07:00 +0200117 - if command -v ccache ; then ccache --show-stats ; fi
Daniel P. Berrangé197be692019-01-09 16:31:06 +0000118
119
Wainer dos Santos Moschetta321e6ea2020-02-25 12:46:57 +0000120jobs:
Alex Bennéefe863ab2013-11-06 10:43:37 +0000121 include:
Alex Bennée138382c2019-10-02 11:23:29 +0100122 # --enable-debug implies --enable-debug-tcg, also runs quite a bit slower
Philippe Mathieu-Daudé097aebd2020-02-03 09:09:23 +0000123 - name: "GCC debug (main-softmmu)"
124 env:
Alex Bennée138382c2019-10-02 11:23:29 +0100125 - CONFIG="--enable-debug --target-list=${MAIN_SOFTMMU_TARGETS}"
Philippe Mathieu-Daudé8fb90e32019-09-03 15:26:47 +0200126 - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug"
Alex Bennée4e6e7df2019-02-20 11:28:25 +0000127
128
Alex Bennée138382c2019-10-02 11:23:29 +0100129 # TCG debug can be run just on its own and is mostly agnostic to user/softmmu distinctions
Philippe Mathieu-Daudé097aebd2020-02-03 09:09:23 +0000130 - name: "GCC debug (user)"
131 env:
Alex Bennée4e6e7df2019-02-20 11:28:25 +0000132 - CONFIG="--enable-debug-tcg --disable-system"
Alex Bennée19633df2019-10-24 17:02:09 +0100133 - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg"
Daniel P. Berrangé3e094232019-01-09 16:31:07 +0000134
Alex Bennée2f6c2522019-03-08 15:52:13 +0000135 # Module builds are mostly of interest to major distros
Philippe Mathieu-Daudé097aebd2020-02-03 09:09:23 +0000136 - name: "GCC modules (main-softmmu)"
137 env:
Alex Bennée8c3daf92019-03-19 12:09:49 +0000138 - CONFIG="--enable-modules --target-list=${MAIN_SOFTMMU_TARGETS}"
Philippe Mathieu-Daudé7d183c52019-09-03 15:26:48 +0200139 - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
Daniel P. Berrangé3e094232019-01-09 16:31:07 +0000140
141
Alex Bennéeae6d6922018-05-29 18:14:04 +0100142 # Test with Clang for compile portability (Travis uses clang-5.0)
Philippe Mathieu-Daudé097aebd2020-02-03 09:09:23 +0000143 - name: "Clang (user)"
144 env:
Thomas Huth6f83cf82020-05-20 15:05:29 +0100145 - CONFIG="--disable-system --host-cc=clang --cxx=clang++"
Philippe Mathieu-Daudée2bef012019-09-03 15:26:49 +0200146 - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default"
Alex Bennéeae6d6922018-05-29 18:14:04 +0100147 compiler: clang
Daniel P. Berrangé197be692019-01-09 16:31:06 +0000148
149
Philippe Mathieu-Daudé097aebd2020-02-03 09:09:23 +0000150 - name: "Clang (main-softmmu)"
151 env:
Thomas Huth6f83cf82020-05-20 15:05:29 +0100152 - CONFIG="--target-list=${MAIN_SOFTMMU_TARGETS}
153 --host-cc=clang --cxx=clang++"
Alex Bennéeb08c2ae2019-10-22 14:07:40 +0100154 - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-sanitize"
Alex Bennée78311472019-05-28 19:21:19 +0100155 compiler: clang
156 before_script:
Paolo Bonzinibc4486f2019-12-11 15:33:49 +0100157 - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
Paolo Bonzinic47110d2020-10-16 05:49:28 -0400158 - ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-fsanitize=undefined -Werror" || { cat config.log meson-logs/meson-log.txt && exit 1; }
Alex Bennée78311472019-05-28 19:21:19 +0100159
160
Philippe Mathieu-Daudé097aebd2020-02-03 09:09:23 +0000161 - name: "Clang (other-softmmu)"
162 env:
Thomas Huth6f83cf82020-05-20 15:05:29 +0100163 - CONFIG="--disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}
164 --host-cc=clang --cxx=clang++"
Philippe Mathieu-Daudée2bef012019-09-03 15:26:49 +0200165 - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default"
Daniel P. Berranged9a6b012016-10-27 15:23:45 +0200166 compiler: clang
Daniel P. Berrangé197be692019-01-09 16:31:06 +0000167
168
Alex Bennée6c933292016-03-15 16:12:58 +0000169 # gprof/gcov are GCC features
Philippe Mathieu-Daudé097aebd2020-02-03 09:09:23 +0000170 - name: "GCC gprof/gcov"
Thomas Huthe7699052020-09-25 16:40:18 +0100171 dist: bionic
Paolo Bonzini345d7052020-08-13 09:58:50 -0400172 addons:
173 apt:
174 packages:
175 - ninja-build
Philippe Mathieu-Daudé097aebd2020-02-03 09:09:23 +0000176 env:
Thomas Huthe7699052020-09-25 16:40:18 +0100177 - CONFIG="--enable-gprof --enable-gcov --disable-libssh
178 --target-list=${MAIN_SOFTMMU_TARGETS}"
Alex Bennée0708e642018-06-20 12:00:07 +0100179 after_success:
180 - ${SRC_DIR}/scripts/travis/coverage-summary.sh
Daniel P. Berrangé197be692019-01-09 16:31:06 +0000181
182
Alex Bennée32265282016-09-30 22:31:03 +0100183 # Using newer GCC with sanitizers
Philippe Mathieu-Daudé097aebd2020-02-03 09:09:23 +0000184 - name: "GCC9 with sanitizers (softmmu)"
Thomas Huthe7699052020-09-25 16:40:18 +0100185 dist: bionic
Philippe Mathieu-Daudé097aebd2020-02-03 09:09:23 +0000186 addons:
Alex Bennée32265282016-09-30 22:31:03 +0100187 apt:
Alex Bennéeac07ffc2018-05-30 09:09:31 +0100188 update: true
Alex Bennée32265282016-09-30 22:31:03 +0100189 sources:
190 # PPAs for newer toolchains
191 - ubuntu-toolchain-r-test
192 packages:
193 # Extra toolchains
Alex Bennée3998c252019-05-28 19:13:08 +0100194 - gcc-9
195 - g++-9
Alex Bennée32265282016-09-30 22:31:03 +0100196 # Build dependencies
197 - libaio-dev
198 - libattr1-dev
199 - libbrlapi-dev
200 - libcap-ng-dev
Thomas Huthe7699052020-09-25 16:40:18 +0100201 - libgnutls28-dev
Alex Bennée32265282016-09-30 22:31:03 +0100202 - libgtk-3-dev
203 - libiscsi-dev
204 - liblttng-ust-dev
205 - libnfs-dev
206 - libncurses5-dev
207 - libnss3-dev
208 - libpixman-1-dev
Thomas Huthe7699052020-09-25 16:40:18 +0100209 - libpng-dev
Alex Bennée32265282016-09-30 22:31:03 +0100210 - librados-dev
Thomas Huth241e7952019-10-09 19:06:58 +0200211 - libsdl2-dev
212 - libsdl2-image-dev
Alex Bennée32265282016-09-30 22:31:03 +0100213 - libseccomp-dev
214 - libspice-protocol-dev
215 - libspice-server-dev
Alex Bennée32265282016-09-30 22:31:03 +0100216 - liburcu-dev
217 - libusb-1.0-0-dev
Alex Bennée95310572019-01-09 10:42:00 +0000218 - libvte-2.91-dev
Paolo Bonzini345d7052020-08-13 09:58:50 -0400219 - ninja-build
Alex Bennée32265282016-09-30 22:31:03 +0100220 - sparse
221 - uuid-dev
222 language: generic
223 compiler: none
224 env:
Alex Bennée3998c252019-05-28 19:13:08 +0100225 - COMPILER_NAME=gcc CXX=g++-9 CC=gcc-9
Thomas Huthe7699052020-09-25 16:40:18 +0100226 - CONFIG="--cc=gcc-9 --cxx=g++-9 --disable-linux-user"
Alex Bennée32265282016-09-30 22:31:03 +0100227 - TEST_CMD=""
228 before_script:
Paolo Bonzinibc4486f2019-12-11 15:33:49 +0100229 - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
Paolo Bonzinic47110d2020-10-16 05:49:28 -0400230 - ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread" || { cat config.log meson-logs/meson-log.txt && exit 1; }
Daniel P. Berrangé197be692019-01-09 16:31:06 +0000231
232
Philippe Mathieu-Daudé097aebd2020-02-03 09:09:23 +0000233 - name: "[aarch64] GCC check-tcg"
234 arch: arm64
Thomas Huthe7699052020-09-25 16:40:18 +0100235 dist: focal
Thomas Huth9c5941a2019-12-04 16:46:18 +0100236 addons:
237 apt_packages:
238 - libaio-dev
239 - libattr1-dev
240 - libbrlapi-dev
241 - libcap-ng-dev
242 - libgcrypt20-dev
243 - libgnutls28-dev
244 - libgtk-3-dev
245 - libiscsi-dev
246 - liblttng-ust-dev
247 - libncurses5-dev
248 - libnfs-dev
249 - libnss3-dev
250 - libpixman-1-dev
251 - libpng-dev
252 - librados-dev
253 - libsdl2-dev
254 - libseccomp-dev
255 - liburcu-dev
256 - libusb-1.0-0-dev
257 - libvdeplug-dev
258 - libvte-2.91-dev
Paolo Bonzini345d7052020-08-13 09:58:50 -0400259 - ninja-build
Wainer dos Santos Moschetta58a1e5b2020-02-03 09:09:19 +0000260 # Tests dependencies
261 - genisoimage
Thomas Huth9c5941a2019-12-04 16:46:18 +0100262 env:
263 - TEST_CMD="make check check-tcg V=1"
264 - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS}"
Alex Bennée1de8e4c2020-06-05 16:49:20 +0100265 - UNRELIABLE=true
Thomas Huth9c5941a2019-12-04 16:46:18 +0100266
Philippe Mathieu-Daudé097aebd2020-02-03 09:09:23 +0000267 - name: "[ppc64] GCC check-tcg"
268 arch: ppc64le
Thomas Huthe7699052020-09-25 16:40:18 +0100269 dist: focal
Thomas Huth9c5941a2019-12-04 16:46:18 +0100270 addons:
271 apt_packages:
272 - libaio-dev
273 - libattr1-dev
274 - libbrlapi-dev
275 - libcap-ng-dev
276 - libgcrypt20-dev
277 - libgnutls28-dev
278 - libgtk-3-dev
279 - libiscsi-dev
280 - liblttng-ust-dev
281 - libncurses5-dev
282 - libnfs-dev
283 - libnss3-dev
284 - libpixman-1-dev
285 - libpng-dev
286 - librados-dev
287 - libsdl2-dev
288 - libseccomp-dev
289 - liburcu-dev
290 - libusb-1.0-0-dev
291 - libvdeplug-dev
292 - libvte-2.91-dev
Paolo Bonzini345d7052020-08-13 09:58:50 -0400293 - ninja-build
Wainer dos Santos Moschetta58a1e5b2020-02-03 09:09:19 +0000294 # Tests dependencies
295 - genisoimage
Thomas Huth9c5941a2019-12-04 16:46:18 +0100296 env:
297 - TEST_CMD="make check check-tcg V=1"
Alex Bennéedaee97f2020-05-01 12:15:05 +0100298 - CONFIG="--disable-containers --target-list=ppc64-softmmu,ppc64le-linux-user"
Thomas Huth9c5941a2019-12-04 16:46:18 +0100299
Philippe Mathieu-Daudé097aebd2020-02-03 09:09:23 +0000300 - name: "[s390x] GCC check-tcg"
301 arch: s390x
Thomas Huth9c5941a2019-12-04 16:46:18 +0100302 dist: bionic
303 addons:
304 apt_packages:
305 - libaio-dev
306 - libattr1-dev
307 - libbrlapi-dev
308 - libcap-ng-dev
309 - libgcrypt20-dev
310 - libgnutls28-dev
311 - libgtk-3-dev
312 - libiscsi-dev
313 - liblttng-ust-dev
314 - libncurses5-dev
315 - libnfs-dev
316 - libnss3-dev
317 - libpixman-1-dev
318 - libpng-dev
319 - librados-dev
320 - libsdl2-dev
321 - libseccomp-dev
322 - liburcu-dev
323 - libusb-1.0-0-dev
324 - libvdeplug-dev
325 - libvte-2.91-dev
Paolo Bonzini345d7052020-08-13 09:58:50 -0400326 - ninja-build
Wainer dos Santos Moschetta58a1e5b2020-02-03 09:09:19 +0000327 # Tests dependencies
328 - genisoimage
Thomas Huth9c5941a2019-12-04 16:46:18 +0100329 env:
330 - TEST_CMD="make check check-tcg V=1"
331 - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS},s390x-linux-user"
Alex Bennée1de8e4c2020-06-05 16:49:20 +0100332 - UNRELIABLE=true
Thomas Huth31c8cc42020-02-25 12:46:56 +0000333 script:
Thomas Huth31c8cc42020-02-25 12:46:56 +0000334 - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
335 - |
336 if [ "$BUILD_RC" -eq 0 ] ; then
337 mv pc-bios/s390-ccw/*.img pc-bios/ ;
338 ${TEST_CMD} ;
339 else
340 $(exit $BUILD_RC);
341 fi
Philippe Mathieu-Daudé61ac3dc2019-10-07 18:04:49 +0200342
Thomas Huth100a5ef2020-06-08 13:40:49 +0200343 - name: "[s390x] GCC (other-softmmu)"
344 arch: s390x
345 dist: bionic
346 addons:
347 apt_packages:
348 - libaio-dev
349 - libattr1-dev
350 - libcap-ng-dev
351 - libgnutls28-dev
352 - libiscsi-dev
353 - liblttng-ust-dev
354 - liblzo2-dev
355 - libncurses-dev
356 - libnfs-dev
357 - libnss3-dev
358 - libpixman-1-dev
359 - libsdl2-dev
360 - libsdl2-image-dev
361 - libseccomp-dev
362 - libsnappy-dev
363 - libzstd-dev
364 - nettle-dev
365 - xfslibs-dev
Paolo Bonzini345d7052020-08-13 09:58:50 -0400366 - ninja-build
Thomas Huth100a5ef2020-06-08 13:40:49 +0200367 # Tests dependencies
368 - genisoimage
369 env:
370 - CONFIG="--disable-containers --audio-drv-list=sdl --disable-user
371 --target-list-exclude=${MAIN_SOFTMMU_TARGETS}"
372
373 - name: "[s390x] GCC (user)"
374 arch: s390x
375 dist: bionic
376 addons:
377 apt_packages:
378 - libgcrypt20-dev
379 - libgnutls28-dev
Paolo Bonzini345d7052020-08-13 09:58:50 -0400380 - ninja-build
Thomas Huth100a5ef2020-06-08 13:40:49 +0200381 env:
382 - CONFIG="--disable-containers --disable-system"
383
Thomas Huthaae8b872020-05-13 18:51:26 +0100384 - name: "[s390x] Clang (disable-tcg)"
Philippe Mathieu-Daudé41e1f0e2020-03-23 16:15:14 +0000385 arch: s390x
386 dist: bionic
Thomas Huthaae8b872020-05-13 18:51:26 +0100387 compiler: clang
Philippe Mathieu-Daudé41e1f0e2020-03-23 16:15:14 +0000388 addons:
389 apt_packages:
390 - libaio-dev
391 - libattr1-dev
392 - libbrlapi-dev
393 - libcap-ng-dev
394 - libgcrypt20-dev
395 - libgnutls28-dev
396 - libgtk-3-dev
397 - libiscsi-dev
398 - liblttng-ust-dev
399 - libncurses5-dev
400 - libnfs-dev
401 - libnss3-dev
402 - libpixman-1-dev
403 - libpng-dev
404 - librados-dev
405 - libsdl2-dev
406 - libseccomp-dev
407 - liburcu-dev
408 - libusb-1.0-0-dev
409 - libvdeplug-dev
410 - libvte-2.91-dev
Paolo Bonzini345d7052020-08-13 09:58:50 -0400411 - ninja-build
Philippe Mathieu-Daudé41e1f0e2020-03-23 16:15:14 +0000412 env:
413 - TEST_CMD="make check-unit"
Thomas Huthaae8b872020-05-13 18:51:26 +0100414 - CONFIG="--disable-containers --disable-tcg --enable-kvm
415 --disable-tools --host-cc=clang --cxx=clang++"
Alex Bennée1de8e4c2020-06-05 16:49:20 +0100416 - UNRELIABLE=true
Philippe Mathieu-Daudé41e1f0e2020-03-23 16:15:14 +0000417
Philippe Mathieu-Daudé61ac3dc2019-10-07 18:04:49 +0200418 # Release builds
419 # The make-release script expect a QEMU version, so our tag must start with a 'v'.
420 # This is the case when release candidate tags are created.
Philippe Mathieu-Daudé097aebd2020-02-03 09:09:23 +0000421 - name: "Release tarball"
422 if: tag IS present AND tag =~ /^v\d+\.\d+(\.\d+)?(-\S*)?$/
Philippe Mathieu-Daudé61ac3dc2019-10-07 18:04:49 +0200423 env:
424 # We want to build from the release tarball
425 - BUILD_DIR="release/build/dir" SRC_DIR="../../.."
426 - BASE_CONFIG="--prefix=$PWD/dist"
427 - CONFIG="--target-list=x86_64-softmmu,aarch64-softmmu,armeb-linux-user,ppc-linux-user"
Alex Bennée0a7c0ae2020-02-03 09:09:26 +0000428 - TEST_CMD="make install -j${JOBS}"
Philippe Mathieu-Daudé61ac3dc2019-10-07 18:04:49 +0200429 - QEMU_VERSION="${TRAVIS_TAG:1}"
430 - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
Philippe Mathieu-Daudé61ac3dc2019-10-07 18:04:49 +0200431 script:
432 - make -C ${SRC_DIR} qemu-${QEMU_VERSION}.tar.bz2
433 - ls -l ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2
434 - tar -xf ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2 && cd qemu-${QEMU_VERSION}
Paolo Bonzinibc4486f2019-12-11 15:33:49 +0100435 - mkdir -p release-build && cd release-build
Paolo Bonzinic47110d2020-10-16 05:49:28 -0400436 - ../configure ${BASE_CONFIG} ${CONFIG} || { cat config.log meson-logs/meson-log.txt && exit 1; }
Philippe Mathieu-Daudé61ac3dc2019-10-07 18:04:49 +0200437 - make install
Alex Bennée1de8e4c2020-06-05 16:49:20 +0100438 allow_failures:
439 - env: UNRELIABLE=true