Alex Bennée | 044722d | 2018-05-30 09:04:04 +0100 | [diff] [blame] | 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 |
Alex Bennée | 692d162 | 2016-01-14 19:21:16 +0000 | [diff] [blame] | 4 | sudo: false |
Alex Bennée | 044722d | 2018-05-30 09:04:04 +0100 | [diff] [blame] | 5 | dist: trusty |
Alex Bennée | fe863ab | 2013-11-06 10:43:37 +0000 | [diff] [blame] | 6 | language: c |
| 7 | python: |
Daniel P. Berrange | 8e73a3c | 2018-01-16 13:42:16 +0000 | [diff] [blame] | 8 | - "2.6" |
Alex Bennée | fe863ab | 2013-11-06 10:43:37 +0000 | [diff] [blame] | 9 | compiler: |
| 10 | - gcc |
Alex Bennée | 4c33d42 | 2016-01-31 17:29:46 +0000 | [diff] [blame] | 11 | cache: ccache |
Alex Bennée | 692d162 | 2016-01-14 19:21:16 +0000 | [diff] [blame] | 12 | addons: |
| 13 | apt: |
| 14 | packages: |
Alex Bennée | 3226528 | 2016-09-30 22:31:03 +0100 | [diff] [blame] | 15 | # Build dependencies |
Alex Bennée | 692d162 | 2016-01-14 19:21:16 +0000 | [diff] [blame] | 16 | - libaio-dev |
| 17 | - libattr1-dev |
| 18 | - libbrlapi-dev |
| 19 | - libcap-ng-dev |
Philippe Mathieu-Daudé | 7524a39 | 2018-02-12 15:46:50 -0300 | [diff] [blame] | 20 | - libgcc-4.8-dev |
Alex Bennée | 692d162 | 2016-01-14 19:21:16 +0000 | [diff] [blame] | 21 | - libgnutls-dev |
| 22 | - libgtk-3-dev |
| 23 | - libiscsi-dev |
| 24 | - liblttng-ust-dev |
| 25 | - libncurses5-dev |
Marc-André Lureau | d83414e | 2018-01-16 16:11:52 +0100 | [diff] [blame] | 26 | - libnfs-dev |
Alex Bennée | 692d162 | 2016-01-14 19:21:16 +0000 | [diff] [blame] | 27 | - libnss3-dev |
| 28 | - libpixman-1-dev |
| 29 | - libpng12-dev |
| 30 | - librados-dev |
| 31 | - libsdl1.2-dev |
| 32 | - libseccomp-dev |
| 33 | - libspice-protocol-dev |
| 34 | - libspice-server-dev |
| 35 | - libssh2-1-dev |
| 36 | - liburcu-dev |
| 37 | - libusb-1.0-0-dev |
| 38 | - libvte-2.90-dev |
| 39 | - sparse |
| 40 | - uuid-dev |
Alex Bennée | 0708e64 | 2018-06-20 12:00:07 +0100 | [diff] [blame] | 41 | - gcovr |
Alex Bennée | 692d162 | 2016-01-14 19:21:16 +0000 | [diff] [blame] | 42 | |
Pranith Kumar | cb4c253 | 2016-06-27 14:13:22 -0400 | [diff] [blame] | 43 | # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu |
| 44 | # to prevent IRC notifications from forks. This was created using: |
| 45 | # $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu" |
Alex Bennée | 39d16d2 | 2014-03-12 14:13:53 +0000 | [diff] [blame] | 46 | notifications: |
| 47 | irc: |
| 48 | channels: |
Pranith Kumar | cb4c253 | 2016-06-27 14:13:22 -0400 | [diff] [blame] | 49 | - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM=" |
Alex Bennée | 39d16d2 | 2014-03-12 14:13:53 +0000 | [diff] [blame] | 50 | on_success: change |
| 51 | on_failure: always |
Alex Bennée | fe863ab | 2013-11-06 10:43:37 +0000 | [diff] [blame] | 52 | env: |
| 53 | global: |
Philippe Mathieu-Daudé | ebf2ff6 | 2018-06-21 09:26:37 -0300 | [diff] [blame] | 54 | - SRC_DIR="." |
| 55 | - BUILD_DIR="." |
Alex Bennée | 01337fb | 2016-01-28 10:21:15 +0000 | [diff] [blame] | 56 | - TEST_CMD="make check" |
Paolo Bonzini | f4089dc | 2017-07-17 21:31:30 -0300 | [diff] [blame] | 57 | - MAKEFLAGS="-j3" |
Alex Bennée | fe863ab | 2013-11-06 10:43:37 +0000 | [diff] [blame] | 58 | matrix: |
Alex Bennée | ad20a09 | 2018-03-13 14:20:55 +0000 | [diff] [blame] | 59 | - CONFIG="--disable-system" |
| 60 | - CONFIG="--disable-user" |
Alex Bennée | 52dd196 | 2018-03-13 14:18:06 +0000 | [diff] [blame] | 61 | - CONFIG="--enable-debug --enable-debug-tcg" |
Alex Bennée | 0b438fa | 2018-03-13 15:24:22 +0000 | [diff] [blame] | 62 | - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb --disable-user" |
Alex Bennée | 04200a1 | 2018-02-07 15:19:25 +0000 | [diff] [blame] | 63 | - CONFIG="--enable-modules --disable-linux-user" |
| 64 | - CONFIG="--with-coroutine=ucontext --disable-linux-user" |
| 65 | - CONFIG="--with-coroutine=sigaltstack --disable-linux-user" |
Alex Bennée | cb021cf | 2014-09-24 11:13:55 +0100 | [diff] [blame] | 66 | git: |
| 67 | # we want to do this ourselves |
| 68 | submodules: false |
Alex Bennée | fe863ab | 2013-11-06 10:43:37 +0000 | [diff] [blame] | 69 | before_install: |
Alex Bennée | 1d00203 | 2016-03-21 19:54:57 +0000 | [diff] [blame] | 70 | - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update ; fi |
| 71 | - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install libffi gettext glib pixman ; fi |
Philippe Mathieu-Daudé | ebdfb61 | 2018-06-21 23:15:46 -0300 | [diff] [blame] | 72 | - git submodule update --init --recursive capstone dtc ui/keycodemapdb |
Alex Bennée | eebf294 | 2014-09-24 11:13:54 +0100 | [diff] [blame] | 73 | before_script: |
Philippe Mathieu-Daudé | ebf2ff6 | 2018-06-21 09:26:37 -0300 | [diff] [blame] | 74 | - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} |
| 75 | - ${SRC_DIR}/configure ${CONFIG} || { cat config.log && exit 1; } |
Alex Bennée | eebf294 | 2014-09-24 11:13:54 +0100 | [diff] [blame] | 76 | script: |
Paolo Bonzini | f4089dc | 2017-07-17 21:31:30 -0300 | [diff] [blame] | 77 | - make ${MAKEFLAGS} && ${TEST_CMD} |
Alex Bennée | fe863ab | 2013-11-06 10:43:37 +0000 | [diff] [blame] | 78 | matrix: |
Alex Bennée | fe863ab | 2013-11-06 10:43:37 +0000 | [diff] [blame] | 79 | include: |
Philippe Mathieu-Daudé | ebf2ff6 | 2018-06-21 09:26:37 -0300 | [diff] [blame] | 80 | # Test out-of-tree builds |
| 81 | - env: CONFIG="--enable-debug --enable-debug-tcg" |
| 82 | BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.." |
Alex Bennée | ae6d692 | 2018-05-29 18:14:04 +0100 | [diff] [blame] | 83 | # Test with Clang for compile portability (Travis uses clang-5.0) |
| 84 | - env: CONFIG="--disable-system" |
| 85 | compiler: clang |
| 86 | - env: CONFIG="--disable-user" |
Daniel P. Berrange | d9a6b01 | 2016-10-27 15:23:45 +0200 | [diff] [blame] | 87 | compiler: clang |
Alex Bennée | 6c93329 | 2016-03-15 16:12:58 +0000 | [diff] [blame] | 88 | # gprof/gcov are GCC features |
Alex Bennée | 73d99c1 | 2018-06-12 14:24:20 +0100 | [diff] [blame] | 89 | - env: 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] | 90 | after_success: |
| 91 | - ${SRC_DIR}/scripts/travis/coverage-summary.sh |
Alex Bennée | 6c93329 | 2016-03-15 16:12:58 +0000 | [diff] [blame] | 92 | compiler: gcc |
| 93 | # We manually include builds which we disable "make check" for |
| 94 | - env: CONFIG="--enable-debug --enable-tcg-interpreter" |
Alex Bennée | 01337fb | 2016-01-28 10:21:15 +0000 | [diff] [blame] | 95 | TEST_CMD="" |
Alex Bennée | fe863ab | 2013-11-06 10:43:37 +0000 | [diff] [blame] | 96 | compiler: gcc |
Alex Bennée | f8309de | 2018-06-14 11:28:20 +0100 | [diff] [blame] | 97 | # We don't need to exercise every backend with every front-end |
| 98 | - env: CONFIG="--enable-trace-backends=log,simple,syslog --disable-system" |
Alex Bennée | 01337fb | 2016-01-28 10:21:15 +0000 | [diff] [blame] | 99 | TEST_CMD="" |
Alex Bennée | fe863ab | 2013-11-06 10:43:37 +0000 | [diff] [blame] | 100 | compiler: gcc |
Alex Bennée | f8309de | 2018-06-14 11:28:20 +0100 | [diff] [blame] | 101 | - env: CONFIG="--enable-trace-backends=ftrace --target-list=x86_64-softmmu" |
Alex Bennée | 01337fb | 2016-01-28 10:21:15 +0000 | [diff] [blame] | 102 | TEST_CMD="" |
Alex Bennée | fe863ab | 2013-11-06 10:43:37 +0000 | [diff] [blame] | 103 | compiler: gcc |
Alex Bennée | f8309de | 2018-06-14 11:28:20 +0100 | [diff] [blame] | 104 | - env: CONFIG="--enable-trace-backends=ust --target-list=x86_64-softmmu" |
Alex Bennée | 01337fb | 2016-01-28 10:21:15 +0000 | [diff] [blame] | 105 | TEST_CMD="" |
Alex Bennée | 86c3b20 | 2014-03-12 14:13:51 +0000 | [diff] [blame] | 106 | compiler: gcc |
Paolo Bonzini | 9783731 | 2017-07-14 11:30:16 +0200 | [diff] [blame] | 107 | - env: CONFIG="--disable-tcg" |
| 108 | TEST_CMD="" |
| 109 | compiler: gcc |
Alex Bennée | 1d00203 | 2016-03-21 19:54:57 +0000 | [diff] [blame] | 110 | - env: CONFIG="" |
| 111 | os: osx |
| 112 | compiler: clang |
Alex Bennée | ae6d692 | 2018-05-29 18:14:04 +0100 | [diff] [blame] | 113 | # Python builds |
| 114 | - env: CONFIG="--target-list=x86_64-softmmu" |
Daniel P. Berrange | 8e73a3c | 2018-01-16 13:42:16 +0000 | [diff] [blame] | 115 | python: |
| 116 | - "3.0" |
Alex Bennée | ae6d692 | 2018-05-29 18:14:04 +0100 | [diff] [blame] | 117 | - env: CONFIG="--target-list=x86_64-softmmu" |
Daniel P. Berrange | 8e73a3c | 2018-01-16 13:42:16 +0000 | [diff] [blame] | 118 | python: |
| 119 | - "3.6" |
Alex Bennée | 3226528 | 2016-09-30 22:31:03 +0100 | [diff] [blame] | 120 | # Using newer GCC with sanitizers |
| 121 | - addons: |
| 122 | apt: |
Alex Bennée | ac07ffc | 2018-05-30 09:09:31 +0100 | [diff] [blame] | 123 | update: true |
Alex Bennée | 3226528 | 2016-09-30 22:31:03 +0100 | [diff] [blame] | 124 | sources: |
| 125 | # PPAs for newer toolchains |
| 126 | - ubuntu-toolchain-r-test |
| 127 | packages: |
| 128 | # Extra toolchains |
Alex Bennée | ac07ffc | 2018-05-30 09:09:31 +0100 | [diff] [blame] | 129 | - gcc-7 |
| 130 | - g++-7 |
Alex Bennée | 3226528 | 2016-09-30 22:31:03 +0100 | [diff] [blame] | 131 | # Build dependencies |
| 132 | - libaio-dev |
| 133 | - libattr1-dev |
| 134 | - libbrlapi-dev |
| 135 | - libcap-ng-dev |
| 136 | - libgnutls-dev |
| 137 | - libgtk-3-dev |
| 138 | - libiscsi-dev |
| 139 | - liblttng-ust-dev |
| 140 | - libnfs-dev |
| 141 | - libncurses5-dev |
| 142 | - libnss3-dev |
| 143 | - libpixman-1-dev |
| 144 | - libpng12-dev |
| 145 | - librados-dev |
| 146 | - libsdl1.2-dev |
| 147 | - libseccomp-dev |
| 148 | - libspice-protocol-dev |
| 149 | - libspice-server-dev |
| 150 | - libssh2-1-dev |
| 151 | - liburcu-dev |
| 152 | - libusb-1.0-0-dev |
| 153 | - libvte-2.90-dev |
| 154 | - sparse |
| 155 | - uuid-dev |
| 156 | language: generic |
| 157 | compiler: none |
| 158 | env: |
Alex Bennée | ac07ffc | 2018-05-30 09:09:31 +0100 | [diff] [blame] | 159 | - COMPILER_NAME=gcc CXX=g++-7 CC=gcc-7 |
| 160 | - 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] | 161 | - TEST_CMD="" |
| 162 | before_script: |
Daniel P. Berrangé | 6a259f8 | 2018-06-12 09:28:23 +0100 | [diff] [blame] | 163 | - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || { cat config.log && exit 1; } |
Alex Bennée | 65b26da | 2018-04-18 16:55:37 +0100 | [diff] [blame] | 164 | - env: |
| 165 | - CONFIG="--disable-system --disable-docs" |
| 166 | - TEST_CMD="make check-tcg" |
| 167 | script: |
| 168 | - make ${MAKEFLAGS} && ${TEST_CMD} ${MAKEFLAGS} |
| 169 | sudo: required |
| 170 | dist: trusty |
| 171 | compiler: gcc |