Alex Bennée | 9531057 | 2019-01-09 10:42:00 +0000 | [diff] [blame^] | 1 | # 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 |
| 4 | dist: xenial |
Alex Bennée | fe863ab | 2013-11-06 10:43:37 +0000 | [diff] [blame] | 5 | language: c |
Alex Bennée | fe863ab | 2013-11-06 10:43:37 +0000 | [diff] [blame] | 6 | compiler: |
| 7 | - gcc |
Alex Bennée | 4c33d42 | 2016-01-31 17:29:46 +0000 | [diff] [blame] | 8 | cache: ccache |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 9 | |
| 10 | |
Alex Bennée | 692d162 | 2016-01-14 19:21:16 +0000 | [diff] [blame] | 11 | addons: |
| 12 | apt: |
| 13 | packages: |
Alex Bennée | 3226528 | 2016-09-30 22:31:03 +0100 | [diff] [blame] | 14 | # Build dependencies |
Alex Bennée | 692d162 | 2016-01-14 19:21:16 +0000 | [diff] [blame] | 15 | - libaio-dev |
| 16 | - libattr1-dev |
| 17 | - libbrlapi-dev |
| 18 | - libcap-ng-dev |
Philippe Mathieu-Daudé | 7524a39 | 2018-02-12 15:46:50 -0300 | [diff] [blame] | 19 | - libgcc-4.8-dev |
Alex Bennée | 692d162 | 2016-01-14 19:21:16 +0000 | [diff] [blame] | 20 | - libgnutls-dev |
| 21 | - libgtk-3-dev |
| 22 | - libiscsi-dev |
| 23 | - liblttng-ust-dev |
| 24 | - libncurses5-dev |
Marc-André Lureau | d83414e | 2018-01-16 16:11:52 +0100 | [diff] [blame] | 25 | - libnfs-dev |
Alex Bennée | 692d162 | 2016-01-14 19:21:16 +0000 | [diff] [blame] | 26 | - libnss3-dev |
| 27 | - libpixman-1-dev |
| 28 | - libpng12-dev |
| 29 | - librados-dev |
| 30 | - libsdl1.2-dev |
| 31 | - libseccomp-dev |
| 32 | - libspice-protocol-dev |
| 33 | - libspice-server-dev |
| 34 | - libssh2-1-dev |
| 35 | - liburcu-dev |
| 36 | - libusb-1.0-0-dev |
Alex Bennée | 9531057 | 2019-01-09 10:42:00 +0000 | [diff] [blame^] | 37 | - libvte-2.91-dev |
Alex Bennée | 692d162 | 2016-01-14 19:21:16 +0000 | [diff] [blame] | 38 | - sparse |
| 39 | - uuid-dev |
Alex Bennée | 0708e64 | 2018-06-20 12:00:07 +0100 | [diff] [blame] | 40 | - gcovr |
Alex Bennée | 91fa7dd | 2019-01-09 14:20:54 +0000 | [diff] [blame] | 41 | homebrew: |
| 42 | packages: |
| 43 | - libffi |
| 44 | - gettext |
| 45 | - glib |
| 46 | - pixman |
Alex Bennée | 692d162 | 2016-01-14 19:21:16 +0000 | [diff] [blame] | 47 | |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 48 | |
Pranith Kumar | cb4c253 | 2016-06-27 14:13:22 -0400 | [diff] [blame] | 49 | # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu |
| 50 | # to prevent IRC notifications from forks. This was created using: |
| 51 | # $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu" |
Alex Bennée | 39d16d2 | 2014-03-12 14:13:53 +0000 | [diff] [blame] | 52 | notifications: |
| 53 | irc: |
| 54 | channels: |
Pranith Kumar | cb4c253 | 2016-06-27 14:13:22 -0400 | [diff] [blame] | 55 | - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM=" |
Alex Bennée | 39d16d2 | 2014-03-12 14:13:53 +0000 | [diff] [blame] | 56 | on_success: change |
| 57 | on_failure: always |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 58 | |
| 59 | |
Alex Bennée | fe863ab | 2013-11-06 10:43:37 +0000 | [diff] [blame] | 60 | env: |
| 61 | global: |
Philippe Mathieu-Daudé | ebf2ff6 | 2018-06-21 09:26:37 -0300 | [diff] [blame] | 62 | - SRC_DIR="." |
| 63 | - BUILD_DIR="." |
Daniel P. Berrangé | e2576f9 | 2019-01-09 16:31:13 +0000 | [diff] [blame] | 64 | - TEST_CMD="make check -j3 V=1" |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 65 | |
| 66 | |
Alex Bennée | cb021cf | 2014-09-24 11:13:55 +0100 | [diff] [blame] | 67 | git: |
| 68 | # we want to do this ourselves |
| 69 | submodules: false |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 70 | |
| 71 | |
Alex Bennée | eebf294 | 2014-09-24 11:13:54 +0100 | [diff] [blame] | 72 | before_script: |
Philippe Mathieu-Daudé | ebf2ff6 | 2018-06-21 09:26:37 -0300 | [diff] [blame] | 73 | - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} |
| 74 | - ${SRC_DIR}/configure ${CONFIG} || { cat config.log && exit 1; } |
Alex Bennée | eebf294 | 2014-09-24 11:13:54 +0100 | [diff] [blame] | 75 | script: |
Daniel P. Berrangé | 9b29d04 | 2019-01-09 16:31:11 +0000 | [diff] [blame] | 76 | - make -j3 && ${TEST_CMD} |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 77 | |
| 78 | |
Alex Bennée | fe863ab | 2013-11-06 10:43:37 +0000 | [diff] [blame] | 79 | matrix: |
Alex Bennée | fe863ab | 2013-11-06 10:43:37 +0000 | [diff] [blame] | 80 | include: |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 81 | - env: |
| 82 | - CONFIG="--disable-system" |
Daniel P. Berrangé | 3e09423 | 2019-01-09 16:31:07 +0000 | [diff] [blame] | 83 | |
| 84 | |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 85 | - env: |
| 86 | - CONFIG="--disable-user" |
Daniel P. Berrangé | 3e09423 | 2019-01-09 16:31:07 +0000 | [diff] [blame] | 87 | |
| 88 | |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 89 | - env: |
| 90 | - CONFIG="--enable-debug --enable-debug-tcg" |
Daniel P. Berrangé | 3e09423 | 2019-01-09 16:31:07 +0000 | [diff] [blame] | 91 | |
| 92 | |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 93 | - env: |
| 94 | - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb --disable-user" |
Daniel P. Berrangé | 3e09423 | 2019-01-09 16:31:07 +0000 | [diff] [blame] | 95 | |
| 96 | |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 97 | - env: |
| 98 | - CONFIG="--enable-modules --disable-linux-user" |
Daniel P. Berrangé | 3e09423 | 2019-01-09 16:31:07 +0000 | [diff] [blame] | 99 | |
| 100 | |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 101 | - env: |
| 102 | - CONFIG="--with-coroutine=ucontext --disable-linux-user" |
Daniel P. Berrangé | 3e09423 | 2019-01-09 16:31:07 +0000 | [diff] [blame] | 103 | |
| 104 | |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 105 | - env: |
| 106 | - CONFIG="--with-coroutine=sigaltstack --disable-linux-user" |
Daniel P. Berrangé | 3e09423 | 2019-01-09 16:31:07 +0000 | [diff] [blame] | 107 | |
| 108 | |
Philippe Mathieu-Daudé | ebf2ff6 | 2018-06-21 09:26:37 -0300 | [diff] [blame] | 109 | # Test out-of-tree builds |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 110 | - env: |
| 111 | - CONFIG="--enable-debug --enable-debug-tcg" |
| 112 | - BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.." |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 113 | |
| 114 | |
Alex Bennée | ae6d692 | 2018-05-29 18:14:04 +0100 | [diff] [blame] | 115 | # Test with Clang for compile portability (Travis uses clang-5.0) |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 116 | - env: |
| 117 | - CONFIG="--disable-system" |
Alex Bennée | ae6d692 | 2018-05-29 18:14:04 +0100 | [diff] [blame] | 118 | compiler: clang |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 119 | |
| 120 | |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 121 | - env: |
| 122 | - CONFIG="--disable-user" |
Daniel P. Berrange | d9a6b01 | 2016-10-27 15:23:45 +0200 | [diff] [blame] | 123 | compiler: clang |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 124 | |
| 125 | |
Alex Bennée | 6c93329 | 2016-03-15 16:12:58 +0000 | [diff] [blame] | 126 | # gprof/gcov are GCC features |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 127 | - env: |
| 128 | - 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" |
Alex Bennée | 0708e64 | 2018-06-20 12:00:07 +0100 | [diff] [blame] | 129 | after_success: |
| 130 | - ${SRC_DIR}/scripts/travis/coverage-summary.sh |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 131 | |
| 132 | |
Alex Bennée | 6c93329 | 2016-03-15 16:12:58 +0000 | [diff] [blame] | 133 | # We manually include builds which we disable "make check" for |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 134 | - env: |
| 135 | - CONFIG="--enable-debug --enable-tcg-interpreter" |
| 136 | - TEST_CMD="" |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 137 | |
| 138 | |
Alex Bennée | f8309de | 2018-06-14 11:28:20 +0100 | [diff] [blame] | 139 | # We don't need to exercise every backend with every front-end |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 140 | - env: |
| 141 | - CONFIG="--enable-trace-backends=log,simple,syslog --disable-system" |
| 142 | - TEST_CMD="" |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 143 | |
| 144 | |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 145 | - env: |
| 146 | - CONFIG="--enable-trace-backends=ftrace --target-list=x86_64-softmmu" |
| 147 | - TEST_CMD="" |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 148 | |
| 149 | |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 150 | - env: |
| 151 | - CONFIG="--enable-trace-backends=ust --target-list=x86_64-softmmu" |
| 152 | - TEST_CMD="" |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 153 | |
| 154 | |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 155 | - env: |
| 156 | - CONFIG="--disable-tcg" |
| 157 | - TEST_CMD="" |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 158 | |
| 159 | |
Alex Bennée | adcf968 | 2018-10-08 11:56:13 +0100 | [diff] [blame] | 160 | # MacOSX builds |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 161 | - env: |
| 162 | - CONFIG="--target-list=aarch64-softmmu,arm-softmmu,i386-softmmu,mips-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu" |
Alex Bennée | 1d00203 | 2016-03-21 19:54:57 +0000 | [diff] [blame] | 163 | os: osx |
Alex Bennée | adcf968 | 2018-10-08 11:56:13 +0100 | [diff] [blame] | 164 | osx_image: xcode9.4 |
| 165 | compiler: clang |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 166 | |
| 167 | |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 168 | - env: |
| 169 | - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu" |
Alex Bennée | adcf968 | 2018-10-08 11:56:13 +0100 | [diff] [blame] | 170 | os: osx |
| 171 | osx_image: xcode10 |
Alex Bennée | 1d00203 | 2016-03-21 19:54:57 +0000 | [diff] [blame] | 172 | compiler: clang |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 173 | |
| 174 | |
Alex Bennée | ae6d692 | 2018-05-29 18:14:04 +0100 | [diff] [blame] | 175 | # Python builds |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 176 | - env: |
| 177 | - CONFIG="--target-list=x86_64-softmmu" |
Daniel P. Berrange | 8e73a3c | 2018-01-16 13:42:16 +0000 | [diff] [blame] | 178 | python: |
| 179 | - "3.0" |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 180 | |
| 181 | |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 182 | - env: |
| 183 | - CONFIG="--target-list=x86_64-softmmu" |
Daniel P. Berrange | 8e73a3c | 2018-01-16 13:42:16 +0000 | [diff] [blame] | 184 | python: |
| 185 | - "3.6" |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 186 | |
| 187 | |
Cleber Rosa | aa983ff | 2018-10-18 11:31:34 -0400 | [diff] [blame] | 188 | # Acceptance (Functional) tests |
Daniel P. Berrangé | c21d7ef | 2019-01-09 16:31:08 +0000 | [diff] [blame] | 189 | - env: |
| 190 | - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu" |
| 191 | - TEST_CMD="make AVOCADO_SHOW=app check-acceptance" |
Cleber Rosa | aa983ff | 2018-10-18 11:31:34 -0400 | [diff] [blame] | 192 | addons: |
| 193 | apt: |
| 194 | packages: |
| 195 | - python3-pip |
Alex Bennée | 9531057 | 2019-01-09 10:42:00 +0000 | [diff] [blame^] | 196 | - python3.5-venv |
Alex Bennée | 3226528 | 2016-09-30 22:31:03 +0100 | [diff] [blame] | 197 | # Using newer GCC with sanitizers |
| 198 | - addons: |
| 199 | apt: |
Alex Bennée | ac07ffc | 2018-05-30 09:09:31 +0100 | [diff] [blame] | 200 | update: true |
Alex Bennée | 3226528 | 2016-09-30 22:31:03 +0100 | [diff] [blame] | 201 | sources: |
| 202 | # PPAs for newer toolchains |
| 203 | - ubuntu-toolchain-r-test |
| 204 | packages: |
| 205 | # Extra toolchains |
Alex Bennée | ac07ffc | 2018-05-30 09:09:31 +0100 | [diff] [blame] | 206 | - gcc-7 |
| 207 | - g++-7 |
Alex Bennée | 3226528 | 2016-09-30 22:31:03 +0100 | [diff] [blame] | 208 | # Build dependencies |
| 209 | - libaio-dev |
| 210 | - libattr1-dev |
| 211 | - libbrlapi-dev |
| 212 | - libcap-ng-dev |
| 213 | - libgnutls-dev |
| 214 | - libgtk-3-dev |
| 215 | - libiscsi-dev |
| 216 | - liblttng-ust-dev |
| 217 | - libnfs-dev |
| 218 | - libncurses5-dev |
| 219 | - libnss3-dev |
| 220 | - libpixman-1-dev |
| 221 | - libpng12-dev |
| 222 | - librados-dev |
| 223 | - libsdl1.2-dev |
| 224 | - libseccomp-dev |
| 225 | - libspice-protocol-dev |
| 226 | - libspice-server-dev |
| 227 | - libssh2-1-dev |
| 228 | - liburcu-dev |
| 229 | - libusb-1.0-0-dev |
Alex Bennée | 9531057 | 2019-01-09 10:42:00 +0000 | [diff] [blame^] | 230 | - libvte-2.91-dev |
Alex Bennée | 3226528 | 2016-09-30 22:31:03 +0100 | [diff] [blame] | 231 | - sparse |
| 232 | - uuid-dev |
| 233 | language: generic |
| 234 | compiler: none |
| 235 | env: |
Alex Bennée | ac07ffc | 2018-05-30 09:09:31 +0100 | [diff] [blame] | 236 | - COMPILER_NAME=gcc CXX=g++-7 CC=gcc-7 |
| 237 | - CONFIG="--cc=gcc-7 --cxx=g++-7 --disable-pie --disable-linux-user" |
Alex Bennée | 3226528 | 2016-09-30 22:31:03 +0100 | [diff] [blame] | 238 | - TEST_CMD="" |
| 239 | before_script: |
Daniel P. Berrangé | 6a259f8 | 2018-06-12 09:28:23 +0100 | [diff] [blame] | 240 | - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || { cat config.log && exit 1; } |
Daniel P. Berrangé | 197be69 | 2019-01-09 16:31:06 +0000 | [diff] [blame] | 241 | |
| 242 | |
Alex Bennée | 65b26da | 2018-04-18 16:55:37 +0100 | [diff] [blame] | 243 | - env: |
| 244 | - CONFIG="--disable-system --disable-docs" |
Daniel P. Berrangé | e2576f9 | 2019-01-09 16:31:13 +0000 | [diff] [blame] | 245 | - TEST_CMD="make -j3 check-tcg V=1" |