1044722d5SAlex Bennée# The current Travis default is a container based 14.04 Trust on EC2 2044722d5SAlex Bennée# Additional builds with specific requirements for a full VM need to 3044722d5SAlex Bennée# be added as additional matrix: entries later on 4692d162cSAlex Bennéesudo: false 5044722d5SAlex Bennéedist: trusty 6fe863ab9SAlex Bennéelanguage: c 7fe863ab9SAlex Bennéepython: 88e73a3c5SDaniel P. Berrange - "2.6" 9fe863ab9SAlex Bennéecompiler: 10fe863ab9SAlex Bennée - gcc 114c33d42dSAlex Bennéecache: ccache 12692d162cSAlex Bennéeaddons: 13692d162cSAlex Bennée apt: 14692d162cSAlex Bennée packages: 1532265288SAlex Bennée # Build dependencies 16692d162cSAlex Bennée - libaio-dev 17692d162cSAlex Bennée - libattr1-dev 18692d162cSAlex Bennée - libbrlapi-dev 19692d162cSAlex Bennée - libcap-ng-dev 207524a39dSPhilippe Mathieu-Daudé - libgcc-4.8-dev 21692d162cSAlex Bennée - libgnutls-dev 22692d162cSAlex Bennée - libgtk-3-dev 23692d162cSAlex Bennée - libiscsi-dev 24692d162cSAlex Bennée - liblttng-ust-dev 25692d162cSAlex Bennée - libncurses5-dev 26d83414e1SMarc-André Lureau - libnfs-dev 27692d162cSAlex Bennée - libnss3-dev 28692d162cSAlex Bennée - libpixman-1-dev 29692d162cSAlex Bennée - libpng12-dev 30692d162cSAlex Bennée - librados-dev 31692d162cSAlex Bennée - libsdl1.2-dev 32692d162cSAlex Bennée - libseccomp-dev 33692d162cSAlex Bennée - libspice-protocol-dev 34692d162cSAlex Bennée - libspice-server-dev 35692d162cSAlex Bennée - libssh2-1-dev 36692d162cSAlex Bennée - liburcu-dev 37692d162cSAlex Bennée - libusb-1.0-0-dev 38692d162cSAlex Bennée - libvte-2.90-dev 39692d162cSAlex Bennée - sparse 40692d162cSAlex Bennée - uuid-dev 41*0708e647SAlex Bennée - gcovr 42692d162cSAlex Bennée 43cb4c2536SPranith Kumar# The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu 44cb4c2536SPranith Kumar# to prevent IRC notifications from forks. This was created using: 45cb4c2536SPranith Kumar# $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu" 4639d16d29SAlex Bennéenotifications: 4739d16d29SAlex Bennée irc: 4839d16d29SAlex Bennée channels: 49cb4c2536SPranith Kumar - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM=" 5039d16d29SAlex Bennée on_success: change 5139d16d29SAlex Bennée on_failure: always 52fe863ab9SAlex Bennéeenv: 53fe863ab9SAlex Bennée global: 54ebf2ff65SPhilippe Mathieu-Daudé - SRC_DIR="." 55ebf2ff65SPhilippe Mathieu-Daudé - BUILD_DIR="." 5601337fbdSAlex Bennée - TEST_CMD="make check" 57f4089dc8SPaolo Bonzini - MAKEFLAGS="-j3" 58fe863ab9SAlex Bennée matrix: 59ad20a090SAlex Bennée - CONFIG="--disable-system" 60ad20a090SAlex Bennée - CONFIG="--disable-user" 6152dd1967SAlex Bennée - CONFIG="--enable-debug --enable-debug-tcg" 620b438fa6SAlex Bennée - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb --disable-user" 6304200a16SAlex Bennée - CONFIG="--enable-modules --disable-linux-user" 6404200a16SAlex Bennée - CONFIG="--with-coroutine=ucontext --disable-linux-user" 6504200a16SAlex Bennée - CONFIG="--with-coroutine=sigaltstack --disable-linux-user" 66cb021cfeSAlex Bennéegit: 67cb021cfeSAlex Bennée # we want to do this ourselves 68cb021cfeSAlex Bennée submodules: false 69fe863ab9SAlex Bennéebefore_install: 701d002037SAlex Bennée - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update ; fi 711d002037SAlex Bennée - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install libffi gettext glib pixman ; fi 72ebdfb610SPhilippe Mathieu-Daudé - git submodule update --init --recursive capstone dtc ui/keycodemapdb 73eebf2940SAlex Bennéebefore_script: 74ebf2ff65SPhilippe Mathieu-Daudé - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} 75ebf2ff65SPhilippe Mathieu-Daudé - ${SRC_DIR}/configure ${CONFIG} || { cat config.log && exit 1; } 76eebf2940SAlex Bennéescript: 77f4089dc8SPaolo Bonzini - make ${MAKEFLAGS} && ${TEST_CMD} 78fe863ab9SAlex Bennéematrix: 79fe863ab9SAlex Bennée include: 80ebf2ff65SPhilippe Mathieu-Daudé # Test out-of-tree builds 81ebf2ff65SPhilippe Mathieu-Daudé - env: CONFIG="--enable-debug --enable-debug-tcg" 82ebf2ff65SPhilippe Mathieu-Daudé BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.." 83ae6d692dSAlex Bennée # Test with Clang for compile portability (Travis uses clang-5.0) 84ae6d692dSAlex Bennée - env: CONFIG="--disable-system" 85ae6d692dSAlex Bennée compiler: clang 86ae6d692dSAlex Bennée - env: CONFIG="--disable-user" 87d9a6b013SDaniel P. Berrange compiler: clang 886c933291SAlex Bennée # gprof/gcov are GCC features 8973d99c11SAlex Bennée - 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" 90*0708e647SAlex Bennée after_success: 91*0708e647SAlex Bennée - ${SRC_DIR}/scripts/travis/coverage-summary.sh 926c933291SAlex Bennée compiler: gcc 936c933291SAlex Bennée # We manually include builds which we disable "make check" for 946c933291SAlex Bennée - env: CONFIG="--enable-debug --enable-tcg-interpreter" 9501337fbdSAlex Bennée TEST_CMD="" 96fe863ab9SAlex Bennée compiler: gcc 97f8309de9SAlex Bennée # We don't need to exercise every backend with every front-end 98f8309de9SAlex Bennée - env: CONFIG="--enable-trace-backends=log,simple,syslog --disable-system" 9901337fbdSAlex Bennée TEST_CMD="" 100fe863ab9SAlex Bennée compiler: gcc 101f8309de9SAlex Bennée - env: CONFIG="--enable-trace-backends=ftrace --target-list=x86_64-softmmu" 10201337fbdSAlex Bennée TEST_CMD="" 103fe863ab9SAlex Bennée compiler: gcc 104f8309de9SAlex Bennée - env: CONFIG="--enable-trace-backends=ust --target-list=x86_64-softmmu" 10501337fbdSAlex Bennée TEST_CMD="" 10686c3b20aSAlex Bennée compiler: gcc 10797837314SPaolo Bonzini - env: CONFIG="--disable-tcg" 10897837314SPaolo Bonzini TEST_CMD="" 10997837314SPaolo Bonzini compiler: gcc 1101d002037SAlex Bennée - env: CONFIG="" 1111d002037SAlex Bennée os: osx 1121d002037SAlex Bennée compiler: clang 113ae6d692dSAlex Bennée # Python builds 114ae6d692dSAlex Bennée - env: CONFIG="--target-list=x86_64-softmmu" 1158e73a3c5SDaniel P. Berrange python: 1168e73a3c5SDaniel P. Berrange - "3.0" 117ae6d692dSAlex Bennée - env: CONFIG="--target-list=x86_64-softmmu" 1188e73a3c5SDaniel P. Berrange python: 1198e73a3c5SDaniel P. Berrange - "3.6" 12032265288SAlex Bennée # Using newer GCC with sanitizers 12132265288SAlex Bennée - addons: 12232265288SAlex Bennée apt: 123ac07ffc6SAlex Bennée update: true 12432265288SAlex Bennée sources: 12532265288SAlex Bennée # PPAs for newer toolchains 12632265288SAlex Bennée - ubuntu-toolchain-r-test 12732265288SAlex Bennée packages: 12832265288SAlex Bennée # Extra toolchains 129ac07ffc6SAlex Bennée - gcc-7 130ac07ffc6SAlex Bennée - g++-7 13132265288SAlex Bennée # Build dependencies 13232265288SAlex Bennée - libaio-dev 13332265288SAlex Bennée - libattr1-dev 13432265288SAlex Bennée - libbrlapi-dev 13532265288SAlex Bennée - libcap-ng-dev 13632265288SAlex Bennée - libgnutls-dev 13732265288SAlex Bennée - libgtk-3-dev 13832265288SAlex Bennée - libiscsi-dev 13932265288SAlex Bennée - liblttng-ust-dev 14032265288SAlex Bennée - libnfs-dev 14132265288SAlex Bennée - libncurses5-dev 14232265288SAlex Bennée - libnss3-dev 14332265288SAlex Bennée - libpixman-1-dev 14432265288SAlex Bennée - libpng12-dev 14532265288SAlex Bennée - librados-dev 14632265288SAlex Bennée - libsdl1.2-dev 14732265288SAlex Bennée - libseccomp-dev 14832265288SAlex Bennée - libspice-protocol-dev 14932265288SAlex Bennée - libspice-server-dev 15032265288SAlex Bennée - libssh2-1-dev 15132265288SAlex Bennée - liburcu-dev 15232265288SAlex Bennée - libusb-1.0-0-dev 15332265288SAlex Bennée - libvte-2.90-dev 15432265288SAlex Bennée - sparse 15532265288SAlex Bennée - uuid-dev 15632265288SAlex Bennée language: generic 15732265288SAlex Bennée compiler: none 15832265288SAlex Bennée env: 159ac07ffc6SAlex Bennée - COMPILER_NAME=gcc CXX=g++-7 CC=gcc-7 160ac07ffc6SAlex Bennée - CONFIG="--cc=gcc-7 --cxx=g++-7 --disable-pie --disable-linux-user" 16132265288SAlex Bennée - TEST_CMD="" 16232265288SAlex Bennée before_script: 1636a259f8dSDaniel P. Berrangé - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || { cat config.log && exit 1; } 16465b26da4SAlex Bennée - env: 16565b26da4SAlex Bennée - CONFIG="--disable-system --disable-docs" 16665b26da4SAlex Bennée - TEST_CMD="make check-tcg" 16765b26da4SAlex Bennée script: 16865b26da4SAlex Bennée - make ${MAKEFLAGS} && ${TEST_CMD} ${MAKEFLAGS} 16965b26da4SAlex Bennée sudo: required 17065b26da4SAlex Bennée dist: trusty 17165b26da4SAlex Bennée compiler: gcc 172