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 84bc629b2SPhilippe Mathieu-Daudécache: 95ef9c53cSPhilippe Mathieu-Daudé # There is one cache per branch and compiler version. 105ef9c53cSPhilippe Mathieu-Daudé # characteristics of each job are used to identify the cache: 115ef9c53cSPhilippe Mathieu-Daudé # - OS name (currently, linux, osx, or windows) 125ef9c53cSPhilippe Mathieu-Daudé # - OS distribution (for Linux, xenial, trusty, or precise) 135ef9c53cSPhilippe Mathieu-Daudé # - macOS image name (e.g., xcode7.2) 145ef9c53cSPhilippe Mathieu-Daudé # - Names and values of visible environment variables set in .travis.yml or Settings panel 15731cbb64SPhilippe Mathieu-Daudé timeout: 1200 164bc629b2SPhilippe Mathieu-Daudé ccache: true 176e189d78SPhilippe Mathieu-Daudé pip: true 18c1073e44SPhilippe Mathieu-Daudé directories: 19c1073e44SPhilippe Mathieu-Daudé - $HOME/avocado/data/cache 20197be697SDaniel P. Berrangé 21197be697SDaniel P. Berrangé 22692d162cSAlex Bennéeaddons: 23692d162cSAlex Bennée apt: 24692d162cSAlex Bennée packages: 2532265288SAlex Bennée # Build dependencies 26692d162cSAlex Bennée - libaio-dev 27692d162cSAlex Bennée - libattr1-dev 28692d162cSAlex Bennée - libbrlapi-dev 29692d162cSAlex Bennée - libcap-ng-dev 307524a39dSPhilippe Mathieu-Daudé - libgcc-4.8-dev 313c7a8b41SThomas Huth - libgnutls28-dev 32692d162cSAlex Bennée - libgtk-3-dev 33692d162cSAlex Bennée - libiscsi-dev 34692d162cSAlex Bennée - liblttng-ust-dev 35692d162cSAlex Bennée - libncurses5-dev 36d83414e1SMarc-André Lureau - libnfs-dev 37692d162cSAlex Bennée - libnss3-dev 38692d162cSAlex Bennée - libpixman-1-dev 393c7a8b41SThomas Huth - libpng-dev 40692d162cSAlex Bennée - librados-dev 41241e7955SThomas Huth - libsdl2-dev 42241e7955SThomas Huth - libsdl2-image-dev 43692d162cSAlex Bennée - libseccomp-dev 44692d162cSAlex Bennée - libspice-protocol-dev 45692d162cSAlex Bennée - libspice-server-dev 46b10d49d7SPino Toscano - libssh-dev 47692d162cSAlex Bennée - liburcu-dev 48692d162cSAlex Bennée - libusb-1.0-0-dev 497c1dd4d1SThomas Huth - libvdeplug-dev 5095310576SAlex Bennée - libvte-2.91-dev 51692d162cSAlex Bennée - sparse 52692d162cSAlex Bennée - uuid-dev 530708e647SAlex Bennée - gcovr 5458a1e5b6SWainer dos Santos Moschetta # Tests dependencies 5558a1e5b6SWainer dos Santos Moschetta - genisoimage 56692d162cSAlex Bennée 57197be697SDaniel P. Berrangé 58cb4c2536SPranith Kumar# The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu 59cb4c2536SPranith Kumar# to prevent IRC notifications from forks. This was created using: 60cb4c2536SPranith Kumar# $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu" 6139d16d29SAlex Bennéenotifications: 6239d16d29SAlex Bennée irc: 6339d16d29SAlex Bennée channels: 64cb4c2536SPranith Kumar - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM=" 6539d16d29SAlex Bennée on_success: change 6639d16d29SAlex Bennée on_failure: always 67197be697SDaniel P. Berrangé 68197be697SDaniel P. Berrangé 69fe863ab9SAlex Bennéeenv: 70fe863ab9SAlex Bennée global: 71bc4486fbSPaolo Bonzini - SRC_DIR=".." 72bc4486fbSPaolo Bonzini - BUILD_DIR="build" 73570f3c77SAlex Bennée - BASE_CONFIG="--disable-docs --disable-tools" 7405273a43SAlex Bennée - TEST_CMD="make check V=1" 758c3daf97SAlex Bennée # This is broadly a list of "mainline" softmmu targets which have support across the major distros 766e988880SAlex Bennée - MAIN_SOFTMMU_TARGETS="aarch64-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu" 77bcfbf0d5SPhilippe Mathieu-Daudé - CCACHE_SLOPPINESS="include_file_ctime,include_file_mtime" 78bcfbf0d5SPhilippe Mathieu-Daudé - CCACHE_MAXSIZE=1G 79bcfbf0d5SPhilippe Mathieu-Daudé 80197be697SDaniel P. Berrangé 81cb021cfeSAlex Bennéegit: 82cb021cfeSAlex Bennée # we want to do this ourselves 83cb021cfeSAlex Bennée submodules: false 84197be697SDaniel P. Berrangé 85197be697SDaniel P. Berrangé 86eebf2940SAlex Bennéebefore_script: 87312995c2SThomas Huth - if command -v ccache ; then ccache --zero-stats ; fi 88ebf2ff65SPhilippe Mathieu-Daudé - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} 89570f3c77SAlex Bennée - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; } 90eebf2940SAlex Bennéescript: 913b353883SWainer dos Santos Moschetta - BUILD_RC=0 && make -j3 || BUILD_RC=$? 923b353883SWainer dos Santos Moschetta - if [ "$BUILD_RC" -eq 0 ] ; then travis_retry ${TEST_CMD} ; else $(exit $BUILD_RC); fi 93bcfbf0d5SPhilippe Mathieu-Daudéafter_script: 94312995c2SThomas Huth - if command -v ccache ; then ccache --show-stats ; fi 95197be697SDaniel P. Berrangé 96197be697SDaniel P. Berrangé 97fe863ab9SAlex Bennéematrix: 98fe863ab9SAlex Bennée include: 99c21d7efcSDaniel P. Berrangé - env: 100c3c1874aSAlex Bennée - CONFIG="--disable-system --static" 1017d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 1023e094234SDaniel P. Berrangé 1033e094234SDaniel P. Berrangé 1048c3daf97SAlex Bennée # we split the system builds as it takes a while to build them all 105c21d7efcSDaniel P. Berrangé - env: 1068c3daf97SAlex Bennée - CONFIG="--disable-user --target-list=${MAIN_SOFTMMU_TARGETS}" 1077d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 1088c3daf97SAlex Bennée 1098c3daf97SAlex Bennée 1108c3daf97SAlex Bennée - env: 1118c3daf97SAlex Bennée - CONFIG="--disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}" 1127d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 1133e094234SDaniel P. Berrangé 1143e094234SDaniel P. Berrangé 115df2bb38eSAlex Bennée # Just build tools and run minimal unit and softfloat checks 116df2bb38eSAlex Bennée - env: 117df2bb38eSAlex Bennée - BASE_CONFIG="--enable-tools" 118df2bb38eSAlex Bennée - CONFIG="--disable-user --disable-system" 119df2bb38eSAlex Bennée - TEST_CMD="make check-unit check-softfloat -j3" 1207d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 1217d183c54SPhilippe Mathieu-Daudé 122df2bb38eSAlex Bennée 123138382c6SAlex Bennée # --enable-debug implies --enable-debug-tcg, also runs quite a bit slower 124c21d7efcSDaniel P. Berrangé - env: 125138382c6SAlex Bennée - CONFIG="--enable-debug --target-list=${MAIN_SOFTMMU_TARGETS}" 1268fb90e3dSPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug" 1274e6e7df6SAlex Bennée 1284e6e7df6SAlex Bennée 129138382c6SAlex Bennée # TCG debug can be run just on its own and is mostly agnostic to user/softmmu distinctions 1304e6e7df6SAlex Bennée - env: 1314e6e7df6SAlex Bennée - CONFIG="--enable-debug-tcg --disable-system" 13219633df8SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" 1333e094234SDaniel P. Berrangé 1343e094234SDaniel P. Berrangé 135c21d7efcSDaniel P. Berrangé - env: 136aec2927dSAlex Bennée - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-libusb --disable-replication --target-list=${MAIN_SOFTMMU_TARGETS}" 1373e094234SDaniel P. Berrangé 1383e094234SDaniel P. Berrangé 1392f6c2526SAlex Bennée # Module builds are mostly of interest to major distros 140c21d7efcSDaniel P. Berrangé - env: 1418c3daf97SAlex Bennée - CONFIG="--enable-modules --target-list=${MAIN_SOFTMMU_TARGETS}" 1427d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 1433e094234SDaniel P. Berrangé 1443e094234SDaniel P. Berrangé 145f3908ff7SAlex Bennée # Alternate coroutines implementations are only really of interest to KVM users 146f3908ff7SAlex Bennée # However we can't test against KVM on Travis so we can only run unit tests 147c21d7efcSDaniel P. Berrangé - env: 148f3908ff7SAlex Bennée - CONFIG="--with-coroutine=ucontext --disable-tcg" 149f3908ff7SAlex Bennée - TEST_CMD="make check-unit -j3 V=1" 1503e094234SDaniel P. Berrangé 1513e094234SDaniel P. Berrangé 152c21d7efcSDaniel P. Berrangé - env: 153f3908ff7SAlex Bennée - CONFIG="--with-coroutine=sigaltstack --disable-tcg" 154f3908ff7SAlex Bennée - TEST_CMD="make check-unit -j3 V=1" 1553e094234SDaniel P. Berrangé 1563e094234SDaniel P. Berrangé 157956d4506SAlex Bennée # Check we can build docs and tools (out of tree) 158570f3c77SAlex Bennée - env: 159956d4506SAlex Bennée - BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.." 160570f3c77SAlex Bennée - BASE_CONFIG="--enable-tools --enable-docs" 161570f3c77SAlex Bennée - CONFIG="--target-list=x86_64-softmmu,aarch64-linux-user" 1627d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 163570f3c77SAlex Bennée addons: 164570f3c77SAlex Bennée apt: 165570f3c77SAlex Bennée packages: 166570f3c77SAlex Bennée - python-sphinx 167570f3c77SAlex Bennée - texinfo 168570f3c77SAlex Bennée - perl 169570f3c77SAlex Bennée 170197be697SDaniel P. Berrangé 171ae6d692dSAlex Bennée # Test with Clang for compile portability (Travis uses clang-5.0) 172c21d7efcSDaniel P. Berrangé - env: 173c21d7efcSDaniel P. Berrangé - CONFIG="--disable-system" 174e2bef011SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default" 175ae6d692dSAlex Bennée compiler: clang 176197be697SDaniel P. Berrangé 177197be697SDaniel P. Berrangé 178c21d7efcSDaniel P. Berrangé - env: 1797831147eSAlex Bennée - CONFIG="--target-list=${MAIN_SOFTMMU_TARGETS} " 180b08c2ae3SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-sanitize" 1817831147eSAlex Bennée compiler: clang 1827831147eSAlex Bennée before_script: 183bc4486fbSPaolo Bonzini - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} 184bc4486fbSPaolo Bonzini - ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-fsanitize=undefined -Werror" || { cat config.log && exit 1; } 1857831147eSAlex Bennée 1867831147eSAlex Bennée 1877831147eSAlex Bennée - env: 1888c3daf97SAlex Bennée - CONFIG="--disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}" 189e2bef011SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default" 190d9a6b013SDaniel P. Berrange compiler: clang 191197be697SDaniel P. Berrangé 192197be697SDaniel P. Berrangé 1936c933291SAlex Bennée # gprof/gcov are GCC features 194c21d7efcSDaniel P. Berrangé - env: 1958c3daf97SAlex Bennée - CONFIG="--enable-gprof --enable-gcov --disable-pie --target-list=${MAIN_SOFTMMU_TARGETS}" 1960708e647SAlex Bennée after_success: 1970708e647SAlex Bennée - ${SRC_DIR}/scripts/travis/coverage-summary.sh 198197be697SDaniel P. Berrangé 199197be697SDaniel P. Berrangé 2006c933291SAlex Bennée # We manually include builds which we disable "make check" for 201c21d7efcSDaniel P. Berrangé - env: 202386dc514SAlex Bennée - CONFIG="--without-default-devices --disable-user" 2037d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 20420885b5bSPaolo Bonzini - TEST_CMD="" 20520885b5bSPaolo Bonzini 20620885b5bSPaolo Bonzini 2073edaa995SThomas Huth # Check the TCG interpreter (TCI) 20820885b5bSPaolo Bonzini - env: 2093edaa995SThomas Huth - CONFIG="--enable-debug-tcg --enable-tcg-interpreter --disable-kvm --disable-containers 2103edaa995SThomas Huth --target-list=alpha-softmmu,arm-softmmu,hppa-softmmu,m68k-softmmu,microblaze-softmmu,moxie-softmmu,ppc-softmmu,s390x-softmmu,x86_64-softmmu" 2113edaa995SThomas Huth - TEST_CMD="make check-qtest check-tcg V=1" 212197be697SDaniel P. Berrangé 213197be697SDaniel P. Berrangé 214f8309de9SAlex Bennée # We don't need to exercise every backend with every front-end 215c21d7efcSDaniel P. Berrangé - env: 216c21d7efcSDaniel P. Berrangé - CONFIG="--enable-trace-backends=log,simple,syslog --disable-system" 217c21d7efcSDaniel P. Berrangé - TEST_CMD="" 218197be697SDaniel P. Berrangé 219197be697SDaniel P. Berrangé 220c21d7efcSDaniel P. Berrangé - env: 221c21d7efcSDaniel P. Berrangé - CONFIG="--enable-trace-backends=ftrace --target-list=x86_64-softmmu" 222c21d7efcSDaniel P. Berrangé - TEST_CMD="" 223197be697SDaniel P. Berrangé 224197be697SDaniel P. Berrangé 225c21d7efcSDaniel P. Berrangé - env: 226c21d7efcSDaniel P. Berrangé - CONFIG="--enable-trace-backends=ust --target-list=x86_64-softmmu" 227c21d7efcSDaniel P. Berrangé - TEST_CMD="" 228197be697SDaniel P. Berrangé 229197be697SDaniel P. Berrangé 230fb224688SAlex Bennée # MacOSX builds - cirrus.yml also tests some MacOS builds including latest Xcode 231197be697SDaniel P. Berrangé 232cd7507cbSPhilippe Mathieu-Daudé - env: 233cd7507cbSPhilippe Mathieu-Daudé - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu" 234cd7507cbSPhilippe Mathieu-Daudé os: osx 2350cb3e7baSAlex Bennée osx_image: xcode10.3 236cd7507cbSPhilippe Mathieu-Daudé compiler: clang 237289c8e59SAlex Bennée addons: 238289c8e59SAlex Bennée homebrew: 239289c8e59SAlex Bennée packages: 240289c8e59SAlex Bennée - ccache 241289c8e59SAlex Bennée - glib 242289c8e59SAlex Bennée - pixman 243289c8e59SAlex Bennée - gnu-sed 244289c8e59SAlex Bennée - python 245289c8e59SAlex Bennée update: true 2466e3bd8a0SAlex Bennée before_script: 247289c8e59SAlex Bennée - brew link --overwrite python 2486e3bd8a0SAlex Bennée - export PATH="/usr/local/opt/ccache/libexec:$PATH" 2496e3bd8a0SAlex Bennée - if command -v ccache ; then ccache --zero-stats ; fi 2506e3bd8a0SAlex Bennée - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} 2516e3bd8a0SAlex Bennée - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; } 252cd7507cbSPhilippe Mathieu-Daudé 253cd7507cbSPhilippe Mathieu-Daudé 254ae6d692dSAlex Bennée # Python builds 255c21d7efcSDaniel P. Berrangé - env: 256c21d7efcSDaniel P. Berrangé - CONFIG="--target-list=x86_64-softmmu" 2577d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 25853fefde4SCleber Rosa language: python 2598e73a3c5SDaniel P. Berrange python: 26049233804SEduardo Habkost - "3.5" 261197be697SDaniel P. Berrangé 262197be697SDaniel P. Berrangé 263c21d7efcSDaniel P. Berrangé - env: 264c21d7efcSDaniel P. Berrangé - CONFIG="--target-list=x86_64-softmmu" 2657d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 26653fefde4SCleber Rosa language: python 2678e73a3c5SDaniel P. Berrange python: 2688e73a3c5SDaniel P. Berrange - "3.6" 269197be697SDaniel P. Berrangé 270197be697SDaniel P. Berrangé 271aa983ff6SCleber Rosa # Acceptance (Functional) tests 272c21d7efcSDaniel P. Berrangé - env: 273*5311cb12SPhilippe Mathieu-Daudé - CONFIG="--target-list=x86_64-softmmu,mips-softmmu,mips64el-softmmu,aarch64-softmmu,arm-softmmu,s390x-softmmu,alpha-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,sparc-softmmu" 2740b98c20aSEduardo Habkost - TEST_CMD="make check-acceptance" 27567892c95SWainer dos Santos Moschetta after_script: 27667892c95SWainer dos Santos Moschetta - python3 -c 'import json; r = json.load(open("tests/results/latest/results.json")); [print(t["logfile"]) for t in r["tests"] if t["status"] not in ("PASS", "SKIP")]' | xargs cat 277aa983ff6SCleber Rosa addons: 278aa983ff6SCleber Rosa apt: 279aa983ff6SCleber Rosa packages: 28025311649SPhilippe Mathieu-Daudé - python3-pil 281aa983ff6SCleber Rosa - python3-pip 28295310576SAlex Bennée - python3.5-venv 28325311649SPhilippe Mathieu-Daudé - tesseract-ocr 28425311649SPhilippe Mathieu-Daudé - tesseract-ocr-eng 28525311649SPhilippe Mathieu-Daudé 28625311649SPhilippe Mathieu-Daudé 28732265288SAlex Bennée # Using newer GCC with sanitizers 28832265288SAlex Bennée - addons: 28932265288SAlex Bennée apt: 290ac07ffc6SAlex Bennée update: true 29132265288SAlex Bennée sources: 29232265288SAlex Bennée # PPAs for newer toolchains 29332265288SAlex Bennée - ubuntu-toolchain-r-test 29432265288SAlex Bennée packages: 29532265288SAlex Bennée # Extra toolchains 2963998c25eSAlex Bennée - gcc-9 2973998c25eSAlex Bennée - g++-9 29832265288SAlex Bennée # Build dependencies 29932265288SAlex Bennée - libaio-dev 30032265288SAlex Bennée - libattr1-dev 30132265288SAlex Bennée - libbrlapi-dev 30232265288SAlex Bennée - libcap-ng-dev 30332265288SAlex Bennée - libgnutls-dev 30432265288SAlex Bennée - libgtk-3-dev 30532265288SAlex Bennée - libiscsi-dev 30632265288SAlex Bennée - liblttng-ust-dev 30732265288SAlex Bennée - libnfs-dev 30832265288SAlex Bennée - libncurses5-dev 30932265288SAlex Bennée - libnss3-dev 31032265288SAlex Bennée - libpixman-1-dev 31132265288SAlex Bennée - libpng12-dev 31232265288SAlex Bennée - librados-dev 313241e7955SThomas Huth - libsdl2-dev 314241e7955SThomas Huth - libsdl2-image-dev 31532265288SAlex Bennée - libseccomp-dev 31632265288SAlex Bennée - libspice-protocol-dev 31732265288SAlex Bennée - libspice-server-dev 318b10d49d7SPino Toscano - libssh-dev 31932265288SAlex Bennée - liburcu-dev 32032265288SAlex Bennée - libusb-1.0-0-dev 32195310576SAlex Bennée - libvte-2.91-dev 32232265288SAlex Bennée - sparse 32332265288SAlex Bennée - uuid-dev 32432265288SAlex Bennée language: generic 32532265288SAlex Bennée compiler: none 32632265288SAlex Bennée env: 3273998c25eSAlex Bennée - COMPILER_NAME=gcc CXX=g++-9 CC=gcc-9 3283998c25eSAlex Bennée - CONFIG="--cc=gcc-9 --cxx=g++-9 --disable-pie --disable-linux-user" 32932265288SAlex Bennée - TEST_CMD="" 33032265288SAlex Bennée before_script: 331bc4486fbSPaolo Bonzini - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} 332db5adeaaSPaolo Bonzini - ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-g3 -O0 -Wno-error=stringop-truncation -fsanitize=thread" --extra-ldflags="-fuse-ld=gold" || { cat config.log && exit 1; } 333197be697SDaniel P. Berrangé 334197be697SDaniel P. Berrangé 335dab3a7c0SAlex Bennée # Run check-tcg against linux-user 33665b26da4SAlex Bennée - env: 3372efabbe1SAlex Bennée - CONFIG="--disable-system --enable-debug-tcg" 338e2576f9bSDaniel P. Berrangé - TEST_CMD="make -j3 check-tcg V=1" 33919633df8SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" 3407d183c54SPhilippe Mathieu-Daudé 341dab3a7c0SAlex Bennée 3424fbddb5dSAlex Bennée # Run check-tcg against linux-user (with plugins) 3434fbddb5dSAlex Bennée # we skip sparc64-linux-user until it has been fixed somewhat 3444fbddb5dSAlex Bennée - env: 34519633df8SAlex Bennée - CONFIG="--disable-system --enable-plugins --enable-debug-tcg --target-list-exclude=sparc64-linux-user" 3464fbddb5dSAlex Bennée - TEST_CMD="make -j3 check-tcg V=1" 34719633df8SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" 3489b29d049SDaniel P. Berrangé 349dab3a7c0SAlex Bennée 350dab3a7c0SAlex Bennée # Run check-tcg against softmmu targets 351dab3a7c0SAlex Bennée - env: 3522efabbe1SAlex Bennée - CONFIG="--enable-debug-tcg --target-list=xtensa-softmmu,arm-softmmu,aarch64-softmmu,alpha-softmmu" 353dab3a7c0SAlex Bennée - TEST_CMD="make -j3 check-tcg V=1" 35419633df8SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" 35561ac3dccSPhilippe Mathieu-Daudé 35661ac3dccSPhilippe Mathieu-Daudé 3574fbddb5dSAlex Bennée # Run check-tcg against softmmu targets (with plugins) 3584fbddb5dSAlex Bennée - env: 35919633df8SAlex Bennée - CONFIG="--enable-plugins --enable-debug-tcg --target-list=xtensa-softmmu,arm-softmmu,aarch64-softmmu,alpha-softmmu" 3604fbddb5dSAlex Bennée - TEST_CMD="make -j3 check-tcg V=1" 36119633df8SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" 36261ac3dccSPhilippe Mathieu-Daudé 3639c5941a9SThomas Huth - arch: arm64 3649c5941a9SThomas Huth dist: xenial 3659c5941a9SThomas Huth addons: 3669c5941a9SThomas Huth apt_packages: 3679c5941a9SThomas Huth - libaio-dev 3689c5941a9SThomas Huth - libattr1-dev 3699c5941a9SThomas Huth - libbrlapi-dev 3709c5941a9SThomas Huth - libcap-ng-dev 3719c5941a9SThomas Huth - libgcrypt20-dev 3729c5941a9SThomas Huth - libgnutls28-dev 3739c5941a9SThomas Huth - libgtk-3-dev 3749c5941a9SThomas Huth - libiscsi-dev 3759c5941a9SThomas Huth - liblttng-ust-dev 3769c5941a9SThomas Huth - libncurses5-dev 3779c5941a9SThomas Huth - libnfs-dev 3789c5941a9SThomas Huth - libnss3-dev 3799c5941a9SThomas Huth - libpixman-1-dev 3809c5941a9SThomas Huth - libpng-dev 3819c5941a9SThomas Huth - librados-dev 3829c5941a9SThomas Huth - libsdl2-dev 3839c5941a9SThomas Huth - libseccomp-dev 3849c5941a9SThomas Huth - liburcu-dev 3859c5941a9SThomas Huth - libusb-1.0-0-dev 3869c5941a9SThomas Huth - libvdeplug-dev 3879c5941a9SThomas Huth - libvte-2.91-dev 38858a1e5b6SWainer dos Santos Moschetta # Tests dependencies 38958a1e5b6SWainer dos Santos Moschetta - genisoimage 3909c5941a9SThomas Huth env: 3919c5941a9SThomas Huth - TEST_CMD="make check check-tcg V=1" 3929c5941a9SThomas Huth - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS}" 3939c5941a9SThomas Huth 3949c5941a9SThomas Huth - arch: ppc64le 3959c5941a9SThomas Huth dist: xenial 3969c5941a9SThomas Huth addons: 3979c5941a9SThomas Huth apt_packages: 3989c5941a9SThomas Huth - libaio-dev 3999c5941a9SThomas Huth - libattr1-dev 4009c5941a9SThomas Huth - libbrlapi-dev 4019c5941a9SThomas Huth - libcap-ng-dev 4029c5941a9SThomas Huth - libgcrypt20-dev 4039c5941a9SThomas Huth - libgnutls28-dev 4049c5941a9SThomas Huth - libgtk-3-dev 4059c5941a9SThomas Huth - libiscsi-dev 4069c5941a9SThomas Huth - liblttng-ust-dev 4079c5941a9SThomas Huth - libncurses5-dev 4089c5941a9SThomas Huth - libnfs-dev 4099c5941a9SThomas Huth - libnss3-dev 4109c5941a9SThomas Huth - libpixman-1-dev 4119c5941a9SThomas Huth - libpng-dev 4129c5941a9SThomas Huth - librados-dev 4139c5941a9SThomas Huth - libsdl2-dev 4149c5941a9SThomas Huth - libseccomp-dev 4159c5941a9SThomas Huth - liburcu-dev 4169c5941a9SThomas Huth - libusb-1.0-0-dev 4179c5941a9SThomas Huth - libvdeplug-dev 4189c5941a9SThomas Huth - libvte-2.91-dev 41958a1e5b6SWainer dos Santos Moschetta # Tests dependencies 42058a1e5b6SWainer dos Santos Moschetta - genisoimage 4219c5941a9SThomas Huth env: 4229c5941a9SThomas Huth - TEST_CMD="make check check-tcg V=1" 4239c5941a9SThomas Huth - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS},ppc64le-linux-user" 4249c5941a9SThomas Huth 4259c5941a9SThomas Huth - arch: s390x 4269c5941a9SThomas Huth dist: bionic 4279c5941a9SThomas Huth addons: 4289c5941a9SThomas Huth apt_packages: 4299c5941a9SThomas Huth - libaio-dev 4309c5941a9SThomas Huth - libattr1-dev 4319c5941a9SThomas Huth - libbrlapi-dev 4329c5941a9SThomas Huth - libcap-ng-dev 4339c5941a9SThomas Huth - libgcrypt20-dev 4349c5941a9SThomas Huth - libgnutls28-dev 4359c5941a9SThomas Huth - libgtk-3-dev 4369c5941a9SThomas Huth - libiscsi-dev 4379c5941a9SThomas Huth - liblttng-ust-dev 4389c5941a9SThomas Huth - libncurses5-dev 4399c5941a9SThomas Huth - libnfs-dev 4409c5941a9SThomas Huth - libnss3-dev 4419c5941a9SThomas Huth - libpixman-1-dev 4429c5941a9SThomas Huth - libpng-dev 4439c5941a9SThomas Huth - librados-dev 4449c5941a9SThomas Huth - libsdl2-dev 4459c5941a9SThomas Huth - libseccomp-dev 4469c5941a9SThomas Huth - liburcu-dev 4479c5941a9SThomas Huth - libusb-1.0-0-dev 4489c5941a9SThomas Huth - libvdeplug-dev 4499c5941a9SThomas Huth - libvte-2.91-dev 45058a1e5b6SWainer dos Santos Moschetta # Tests dependencies 45158a1e5b6SWainer dos Santos Moschetta - genisoimage 4529c5941a9SThomas Huth env: 4539c5941a9SThomas Huth - TEST_CMD="make check check-tcg V=1" 4549c5941a9SThomas Huth - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS},s390x-linux-user" 45561ac3dccSPhilippe Mathieu-Daudé 45661ac3dccSPhilippe Mathieu-Daudé # Release builds 45761ac3dccSPhilippe Mathieu-Daudé # The make-release script expect a QEMU version, so our tag must start with a 'v'. 45861ac3dccSPhilippe Mathieu-Daudé # This is the case when release candidate tags are created. 45961ac3dccSPhilippe Mathieu-Daudé - if: tag IS present AND tag =~ /^v\d+\.\d+(\.\d+)?(-\S*)?$/ 46061ac3dccSPhilippe Mathieu-Daudé env: 46161ac3dccSPhilippe Mathieu-Daudé # We want to build from the release tarball 46261ac3dccSPhilippe Mathieu-Daudé - BUILD_DIR="release/build/dir" SRC_DIR="../../.." 46361ac3dccSPhilippe Mathieu-Daudé - BASE_CONFIG="--prefix=$PWD/dist" 46461ac3dccSPhilippe Mathieu-Daudé - CONFIG="--target-list=x86_64-softmmu,aarch64-softmmu,armeb-linux-user,ppc-linux-user" 46561ac3dccSPhilippe Mathieu-Daudé - TEST_CMD="make install -j3" 46661ac3dccSPhilippe Mathieu-Daudé - QEMU_VERSION="${TRAVIS_TAG:1}" 46761ac3dccSPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 46861ac3dccSPhilippe Mathieu-Daudé before_script: 46961ac3dccSPhilippe Mathieu-Daudé - command -v ccache && ccache --zero-stats 47061ac3dccSPhilippe Mathieu-Daudé - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} 47161ac3dccSPhilippe Mathieu-Daudé script: 47261ac3dccSPhilippe Mathieu-Daudé - make -C ${SRC_DIR} qemu-${QEMU_VERSION}.tar.bz2 47361ac3dccSPhilippe Mathieu-Daudé - ls -l ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2 47461ac3dccSPhilippe Mathieu-Daudé - tar -xf ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2 && cd qemu-${QEMU_VERSION} 475bc4486fbSPaolo Bonzini - mkdir -p release-build && cd release-build 476bc4486fbSPaolo Bonzini - ../configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; } 47761ac3dccSPhilippe Mathieu-Daudé - make install 478