195310576SAlex Bennée# The current Travis default is a VM based 16.04 Xenial on GCE 295310576SAlex Bennée# Additional builds with specific requirements for a full VM need to 395310576SAlex Bennée# be added as additional matrix: entries later on 495310576SAlex Bennéedist: xenial 5fe863ab9SAlex Bennéelanguage: c 6fe863ab9SAlex Bennéecompiler: 7fe863ab9SAlex Bennée - gcc 84c33d42dSAlex Bennéecache: ccache 9197be697SDaniel P. Berrangé 10197be697SDaniel P. Berrangé 11692d162cSAlex Bennéeaddons: 12692d162cSAlex Bennée apt: 13692d162cSAlex Bennée packages: 1432265288SAlex Bennée # Build dependencies 15692d162cSAlex Bennée - libaio-dev 16692d162cSAlex Bennée - libattr1-dev 17692d162cSAlex Bennée - libbrlapi-dev 18692d162cSAlex Bennée - libcap-ng-dev 197524a39dSPhilippe Mathieu-Daudé - libgcc-4.8-dev 20692d162cSAlex Bennée - libgnutls-dev 21692d162cSAlex Bennée - libgtk-3-dev 22692d162cSAlex Bennée - libiscsi-dev 23692d162cSAlex Bennée - liblttng-ust-dev 24692d162cSAlex Bennée - libncurses5-dev 25d83414e1SMarc-André Lureau - libnfs-dev 26692d162cSAlex Bennée - libnss3-dev 27692d162cSAlex Bennée - libpixman-1-dev 28692d162cSAlex Bennée - libpng12-dev 29692d162cSAlex Bennée - librados-dev 30692d162cSAlex Bennée - libsdl1.2-dev 31692d162cSAlex Bennée - libseccomp-dev 32692d162cSAlex Bennée - libspice-protocol-dev 33692d162cSAlex Bennée - libspice-server-dev 34692d162cSAlex Bennée - libssh2-1-dev 35692d162cSAlex Bennée - liburcu-dev 36692d162cSAlex Bennée - libusb-1.0-0-dev 3795310576SAlex Bennée - libvte-2.91-dev 38692d162cSAlex Bennée - sparse 39692d162cSAlex Bennée - uuid-dev 400708e647SAlex Bennée - gcovr 4191fa7dd1SAlex Bennée homebrew: 4291fa7dd1SAlex Bennée packages: 4391fa7dd1SAlex Bennée - glib 4491fa7dd1SAlex Bennée - pixman 45692d162cSAlex Bennée 46197be697SDaniel P. Berrangé 47cb4c2536SPranith Kumar# The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu 48cb4c2536SPranith Kumar# to prevent IRC notifications from forks. This was created using: 49cb4c2536SPranith Kumar# $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu" 5039d16d29SAlex Bennéenotifications: 5139d16d29SAlex Bennée irc: 5239d16d29SAlex Bennée channels: 53cb4c2536SPranith Kumar - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM=" 5439d16d29SAlex Bennée on_success: change 5539d16d29SAlex Bennée on_failure: always 56197be697SDaniel P. Berrangé 57197be697SDaniel P. Berrangé 58fe863ab9SAlex Bennéeenv: 59fe863ab9SAlex Bennée global: 60ebf2ff65SPhilippe Mathieu-Daudé - SRC_DIR="." 61ebf2ff65SPhilippe Mathieu-Daudé - BUILD_DIR="." 62570f3c77SAlex Bennée - BASE_CONFIG="--disable-docs --disable-tools" 63e2576f9bSDaniel P. Berrangé - TEST_CMD="make check -j3 V=1" 64197be697SDaniel P. Berrangé 65197be697SDaniel P. Berrangé 66cb021cfeSAlex Bennéegit: 67cb021cfeSAlex Bennée # we want to do this ourselves 68cb021cfeSAlex Bennée submodules: false 69197be697SDaniel P. Berrangé 70197be697SDaniel P. Berrangé 71eebf2940SAlex Bennéebefore_script: 72ebf2ff65SPhilippe Mathieu-Daudé - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} 73570f3c77SAlex Bennée - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; } 74eebf2940SAlex Bennéescript: 759b29d049SDaniel P. Berrangé - make -j3 && ${TEST_CMD} 76197be697SDaniel P. Berrangé 77197be697SDaniel P. Berrangé 78fe863ab9SAlex Bennéematrix: 79fe863ab9SAlex Bennée include: 80c21d7efcSDaniel P. Berrangé - env: 81c21d7efcSDaniel P. Berrangé - CONFIG="--disable-system" 823e094234SDaniel P. Berrangé 833e094234SDaniel P. Berrangé 84c21d7efcSDaniel P. Berrangé - env: 85c21d7efcSDaniel P. Berrangé - CONFIG="--disable-user" 863e094234SDaniel P. Berrangé 873e094234SDaniel P. Berrangé 88*df2bb38eSAlex Bennée # Just build tools and run minimal unit and softfloat checks 89*df2bb38eSAlex Bennée - env: 90*df2bb38eSAlex Bennée - BASE_CONFIG="--enable-tools" 91*df2bb38eSAlex Bennée - CONFIG="--disable-user --disable-system" 92*df2bb38eSAlex Bennée - TEST_CMD="make check-unit check-softfloat -j3" 93*df2bb38eSAlex Bennée 94c21d7efcSDaniel P. Berrangé - env: 954e6e7df6SAlex Bennée - CONFIG="--enable-debug --enable-debug-tcg --disable-user" 964e6e7df6SAlex Bennée 974e6e7df6SAlex Bennée 984e6e7df6SAlex Bennée # TCG debug can be run just on it's own and is mostly agnostic to user/softmmu distinctions 994e6e7df6SAlex Bennée - env: 1004e6e7df6SAlex Bennée - CONFIG="--enable-debug-tcg --disable-system" 1013e094234SDaniel P. Berrangé 1023e094234SDaniel P. Berrangé 103c21d7efcSDaniel P. Berrangé - env: 1044aeb5d24SDr. David Alan Gilbert - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-libusb --disable-user --disable-replication" 1053e094234SDaniel P. Berrangé 1063e094234SDaniel P. Berrangé 1072f6c2526SAlex Bennée # Module builds are mostly of interest to major distros 108c21d7efcSDaniel P. Berrangé - env: 1092f6c2526SAlex Bennée - CONFIG="--enable-modules --target-list=aarch64-softmmu,arm-softmmu,i386-softmmu,mips-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu" 1103e094234SDaniel P. Berrangé 1113e094234SDaniel P. Berrangé 112f3908ff7SAlex Bennée # Alternate coroutines implementations are only really of interest to KVM users 113f3908ff7SAlex Bennée # However we can't test against KVM on Travis so we can only run unit tests 114c21d7efcSDaniel P. Berrangé - env: 115f3908ff7SAlex Bennée - CONFIG="--with-coroutine=ucontext --disable-tcg" 116f3908ff7SAlex Bennée - TEST_CMD="make check-unit -j3 V=1" 1173e094234SDaniel P. Berrangé 1183e094234SDaniel P. Berrangé 119c21d7efcSDaniel P. Berrangé - env: 120f3908ff7SAlex Bennée - CONFIG="--with-coroutine=sigaltstack --disable-tcg" 121f3908ff7SAlex Bennée - TEST_CMD="make check-unit -j3 V=1" 1223e094234SDaniel P. Berrangé 1233e094234SDaniel P. Berrangé 124956d4506SAlex Bennée # Check we can build docs and tools (out of tree) 125570f3c77SAlex Bennée - env: 126956d4506SAlex Bennée - BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.." 127570f3c77SAlex Bennée - BASE_CONFIG="--enable-tools --enable-docs" 128570f3c77SAlex Bennée - CONFIG="--target-list=x86_64-softmmu,aarch64-linux-user" 129570f3c77SAlex Bennée addons: 130570f3c77SAlex Bennée apt: 131570f3c77SAlex Bennée packages: 132570f3c77SAlex Bennée - python-sphinx 133570f3c77SAlex Bennée - texinfo 134570f3c77SAlex Bennée - perl 135570f3c77SAlex Bennée 136197be697SDaniel P. Berrangé 137ae6d692dSAlex Bennée # Test with Clang for compile portability (Travis uses clang-5.0) 138c21d7efcSDaniel P. Berrangé - env: 139c21d7efcSDaniel P. Berrangé - CONFIG="--disable-system" 140ae6d692dSAlex Bennée compiler: clang 141197be697SDaniel P. Berrangé 142197be697SDaniel P. Berrangé 143c21d7efcSDaniel P. Berrangé - env: 144c21d7efcSDaniel P. Berrangé - CONFIG="--disable-user" 145d9a6b013SDaniel P. Berrange compiler: clang 146197be697SDaniel P. Berrangé 147197be697SDaniel P. Berrangé 1486c933291SAlex Bennée # gprof/gcov are GCC features 149c21d7efcSDaniel P. Berrangé - env: 150c21d7efcSDaniel P. Berrangé - 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" 1510708e647SAlex Bennée after_success: 1520708e647SAlex Bennée - ${SRC_DIR}/scripts/travis/coverage-summary.sh 153197be697SDaniel P. Berrangé 154197be697SDaniel P. Berrangé 1556c933291SAlex Bennée # We manually include builds which we disable "make check" for 156c21d7efcSDaniel P. Berrangé - env: 15720885b5bSPaolo Bonzini - CONFIG="--without-default-devices" 15820885b5bSPaolo Bonzini - TEST_CMD="" 15920885b5bSPaolo Bonzini 16020885b5bSPaolo Bonzini 16120885b5bSPaolo Bonzini # We manually include builds which we disable "make check" for 16220885b5bSPaolo Bonzini - env: 163c21d7efcSDaniel P. Berrangé - CONFIG="--enable-debug --enable-tcg-interpreter" 164c21d7efcSDaniel P. Berrangé - TEST_CMD="" 165197be697SDaniel P. Berrangé 166197be697SDaniel P. Berrangé 167f8309de9SAlex Bennée # We don't need to exercise every backend with every front-end 168c21d7efcSDaniel P. Berrangé - env: 169c21d7efcSDaniel P. Berrangé - CONFIG="--enable-trace-backends=log,simple,syslog --disable-system" 170c21d7efcSDaniel P. Berrangé - TEST_CMD="" 171197be697SDaniel P. Berrangé 172197be697SDaniel P. Berrangé 173c21d7efcSDaniel P. Berrangé - env: 174c21d7efcSDaniel P. Berrangé - CONFIG="--enable-trace-backends=ftrace --target-list=x86_64-softmmu" 175c21d7efcSDaniel P. Berrangé - TEST_CMD="" 176197be697SDaniel P. Berrangé 177197be697SDaniel P. Berrangé 178c21d7efcSDaniel P. Berrangé - env: 179c21d7efcSDaniel P. Berrangé - CONFIG="--enable-trace-backends=ust --target-list=x86_64-softmmu" 180c21d7efcSDaniel P. Berrangé - TEST_CMD="" 181197be697SDaniel P. Berrangé 182197be697SDaniel P. Berrangé 183adcf9683SAlex Bennée # MacOSX builds 184c21d7efcSDaniel P. Berrangé - env: 185c21d7efcSDaniel P. Berrangé - CONFIG="--target-list=aarch64-softmmu,arm-softmmu,i386-softmmu,mips-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu" 1861d002037SAlex Bennée os: osx 187adcf9683SAlex Bennée osx_image: xcode9.4 188adcf9683SAlex Bennée compiler: clang 189197be697SDaniel P. Berrangé 190197be697SDaniel P. Berrangé 191cd7507cbSPhilippe Mathieu-Daudé - env: 192cd7507cbSPhilippe Mathieu-Daudé - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu" 193cd7507cbSPhilippe Mathieu-Daudé os: osx 194cd7507cbSPhilippe Mathieu-Daudé osx_image: xcode10.2 195cd7507cbSPhilippe Mathieu-Daudé compiler: clang 196cd7507cbSPhilippe Mathieu-Daudé 197cd7507cbSPhilippe Mathieu-Daudé 198ae6d692dSAlex Bennée # Python builds 199c21d7efcSDaniel P. Berrangé - env: 200c21d7efcSDaniel P. Berrangé - CONFIG="--target-list=x86_64-softmmu" 20153fefde4SCleber Rosa language: python 2028e73a3c5SDaniel P. Berrange python: 20353fefde4SCleber Rosa - "3.4" 204197be697SDaniel P. Berrangé 205197be697SDaniel P. Berrangé 206c21d7efcSDaniel P. Berrangé - env: 207c21d7efcSDaniel P. Berrangé - CONFIG="--target-list=x86_64-softmmu" 20853fefde4SCleber Rosa language: python 2098e73a3c5SDaniel P. Berrange python: 2108e73a3c5SDaniel P. Berrange - "3.6" 211197be697SDaniel P. Berrangé 212197be697SDaniel P. Berrangé 213aa983ff6SCleber Rosa # Acceptance (Functional) tests 214c21d7efcSDaniel P. Berrangé - env: 215c21d7efcSDaniel P. Berrangé - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu" 216c21d7efcSDaniel P. Berrangé - TEST_CMD="make AVOCADO_SHOW=app check-acceptance" 217aa983ff6SCleber Rosa addons: 218aa983ff6SCleber Rosa apt: 219aa983ff6SCleber Rosa packages: 220aa983ff6SCleber Rosa - python3-pip 22195310576SAlex Bennée - python3.5-venv 22232265288SAlex Bennée # Using newer GCC with sanitizers 22332265288SAlex Bennée - addons: 22432265288SAlex Bennée apt: 225ac07ffc6SAlex Bennée update: true 22632265288SAlex Bennée sources: 22732265288SAlex Bennée # PPAs for newer toolchains 22832265288SAlex Bennée - ubuntu-toolchain-r-test 22932265288SAlex Bennée packages: 23032265288SAlex Bennée # Extra toolchains 231ac07ffc6SAlex Bennée - gcc-7 232ac07ffc6SAlex Bennée - g++-7 23332265288SAlex Bennée # Build dependencies 23432265288SAlex Bennée - libaio-dev 23532265288SAlex Bennée - libattr1-dev 23632265288SAlex Bennée - libbrlapi-dev 23732265288SAlex Bennée - libcap-ng-dev 23832265288SAlex Bennée - libgnutls-dev 23932265288SAlex Bennée - libgtk-3-dev 24032265288SAlex Bennée - libiscsi-dev 24132265288SAlex Bennée - liblttng-ust-dev 24232265288SAlex Bennée - libnfs-dev 24332265288SAlex Bennée - libncurses5-dev 24432265288SAlex Bennée - libnss3-dev 24532265288SAlex Bennée - libpixman-1-dev 24632265288SAlex Bennée - libpng12-dev 24732265288SAlex Bennée - librados-dev 24832265288SAlex Bennée - libsdl1.2-dev 24932265288SAlex Bennée - libseccomp-dev 25032265288SAlex Bennée - libspice-protocol-dev 25132265288SAlex Bennée - libspice-server-dev 25232265288SAlex Bennée - libssh2-1-dev 25332265288SAlex Bennée - liburcu-dev 25432265288SAlex Bennée - libusb-1.0-0-dev 25595310576SAlex Bennée - libvte-2.91-dev 25632265288SAlex Bennée - sparse 25732265288SAlex Bennée - uuid-dev 25832265288SAlex Bennée language: generic 25932265288SAlex Bennée compiler: none 26032265288SAlex Bennée env: 261ac07ffc6SAlex Bennée - COMPILER_NAME=gcc CXX=g++-7 CC=gcc-7 262ac07ffc6SAlex Bennée - CONFIG="--cc=gcc-7 --cxx=g++-7 --disable-pie --disable-linux-user" 26332265288SAlex Bennée - TEST_CMD="" 26432265288SAlex Bennée before_script: 2656a259f8dSDaniel P. Berrangé - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || { cat config.log && exit 1; } 266197be697SDaniel P. Berrangé 267197be697SDaniel P. Berrangé 26865b26da4SAlex Bennée - env: 269570f3c77SAlex Bennée - CONFIG="--disable-system" 270e2576f9bSDaniel P. Berrangé - TEST_CMD="make -j3 check-tcg V=1" 271