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 5491fa7dd1SAlex Bennée homebrew: 5591fa7dd1SAlex Bennée packages: 560d8773c2SPhilippe Mathieu-Daudé - ccache 5791fa7dd1SAlex Bennée - glib 5891fa7dd1SAlex Bennée - pixman 59db2b95d5SThomas Huth - gnu-sed 6071451cffSAlex Bennée update: true 61692d162cSAlex Bennée 62197be697SDaniel P. Berrangé 63cb4c2536SPranith Kumar# The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu 64cb4c2536SPranith Kumar# to prevent IRC notifications from forks. This was created using: 65cb4c2536SPranith Kumar# $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu" 6639d16d29SAlex Bennéenotifications: 6739d16d29SAlex Bennée irc: 6839d16d29SAlex Bennée channels: 69cb4c2536SPranith Kumar - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM=" 7039d16d29SAlex Bennée on_success: change 7139d16d29SAlex Bennée on_failure: always 72197be697SDaniel P. Berrangé 73197be697SDaniel P. Berrangé 74fe863ab9SAlex Bennéeenv: 75fe863ab9SAlex Bennée global: 76ebf2ff65SPhilippe Mathieu-Daudé - SRC_DIR="." 77ebf2ff65SPhilippe Mathieu-Daudé - BUILD_DIR="." 78570f3c77SAlex Bennée - BASE_CONFIG="--disable-docs --disable-tools" 7905273a43SAlex Bennée - TEST_CMD="make check V=1" 808c3daf97SAlex Bennée # This is broadly a list of "mainline" softmmu targets which have support across the major distros 816e988880SAlex Bennée - MAIN_SOFTMMU_TARGETS="aarch64-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu" 82bcfbf0d5SPhilippe Mathieu-Daudé - CCACHE_SLOPPINESS="include_file_ctime,include_file_mtime" 83bcfbf0d5SPhilippe Mathieu-Daudé - CCACHE_MAXSIZE=1G 84bcfbf0d5SPhilippe Mathieu-Daudé 85197be697SDaniel P. Berrangé 86cb021cfeSAlex Bennéegit: 87cb021cfeSAlex Bennée # we want to do this ourselves 88cb021cfeSAlex Bennée submodules: false 89197be697SDaniel P. Berrangé 90197be697SDaniel P. Berrangé 91eebf2940SAlex Bennéebefore_script: 920d8773c2SPhilippe Mathieu-Daudé - if [ "$TRAVIS_OS_NAME" == "osx" ] ; then export PATH="/usr/local/opt/ccache/libexec:$PATH" ; fi 93312995c2SThomas Huth - if command -v ccache ; then ccache --zero-stats ; fi 94ebf2ff65SPhilippe Mathieu-Daudé - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} 95570f3c77SAlex Bennée - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; } 96eebf2940SAlex Bennéescript: 973a37c13fSAlex Bennée - make -j3 && travis_retry ${TEST_CMD} 98bcfbf0d5SPhilippe Mathieu-Daudéafter_script: 99312995c2SThomas Huth - if command -v ccache ; then ccache --show-stats ; fi 100197be697SDaniel P. Berrangé 101197be697SDaniel P. Berrangé 102fe863ab9SAlex Bennéematrix: 103fe863ab9SAlex Bennée include: 104c21d7efcSDaniel P. Berrangé - env: 105c3c1874aSAlex Bennée - CONFIG="--disable-system --static" 1067d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 1073e094234SDaniel P. Berrangé 1083e094234SDaniel P. Berrangé 1098c3daf97SAlex Bennée # we split the system builds as it takes a while to build them all 110c21d7efcSDaniel P. Berrangé - env: 1118c3daf97SAlex Bennée - CONFIG="--disable-user --target-list=${MAIN_SOFTMMU_TARGETS}" 1127d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 1138c3daf97SAlex Bennée 1148c3daf97SAlex Bennée 1158c3daf97SAlex Bennée - env: 1168c3daf97SAlex Bennée - CONFIG="--disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}" 1177d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 1183e094234SDaniel P. Berrangé 1193e094234SDaniel P. Berrangé 120df2bb38eSAlex Bennée # Just build tools and run minimal unit and softfloat checks 121df2bb38eSAlex Bennée - env: 122df2bb38eSAlex Bennée - BASE_CONFIG="--enable-tools" 123df2bb38eSAlex Bennée - CONFIG="--disable-user --disable-system" 124df2bb38eSAlex Bennée - TEST_CMD="make check-unit check-softfloat -j3" 1257d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 1267d183c54SPhilippe Mathieu-Daudé 127df2bb38eSAlex Bennée 128138382c6SAlex Bennée # --enable-debug implies --enable-debug-tcg, also runs quite a bit slower 129c21d7efcSDaniel P. Berrangé - env: 130138382c6SAlex Bennée - CONFIG="--enable-debug --target-list=${MAIN_SOFTMMU_TARGETS}" 1318fb90e3dSPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug" 1324e6e7df6SAlex Bennée 1334e6e7df6SAlex Bennée 134138382c6SAlex Bennée # TCG debug can be run just on its own and is mostly agnostic to user/softmmu distinctions 1354e6e7df6SAlex Bennée - env: 1364e6e7df6SAlex Bennée - CONFIG="--enable-debug-tcg --disable-system" 13719633df8SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" 1383e094234SDaniel P. Berrangé 1393e094234SDaniel P. Berrangé 140c21d7efcSDaniel P. Berrangé - env: 141aec2927dSAlex Bennée - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-libusb --disable-replication --target-list=${MAIN_SOFTMMU_TARGETS}" 1423e094234SDaniel P. Berrangé 1433e094234SDaniel P. Berrangé 1442f6c2526SAlex Bennée # Module builds are mostly of interest to major distros 145c21d7efcSDaniel P. Berrangé - env: 1468c3daf97SAlex Bennée - CONFIG="--enable-modules --target-list=${MAIN_SOFTMMU_TARGETS}" 1477d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 1483e094234SDaniel P. Berrangé 1493e094234SDaniel P. Berrangé 150f3908ff7SAlex Bennée # Alternate coroutines implementations are only really of interest to KVM users 151f3908ff7SAlex Bennée # However we can't test against KVM on Travis so we can only run unit tests 152c21d7efcSDaniel P. Berrangé - env: 153f3908ff7SAlex Bennée - CONFIG="--with-coroutine=ucontext --disable-tcg" 154f3908ff7SAlex Bennée - TEST_CMD="make check-unit -j3 V=1" 1553e094234SDaniel P. Berrangé 1563e094234SDaniel P. Berrangé 157c21d7efcSDaniel P. Berrangé - env: 158f3908ff7SAlex Bennée - CONFIG="--with-coroutine=sigaltstack --disable-tcg" 159f3908ff7SAlex Bennée - TEST_CMD="make check-unit -j3 V=1" 1603e094234SDaniel P. Berrangé 1613e094234SDaniel P. Berrangé 162956d4506SAlex Bennée # Check we can build docs and tools (out of tree) 163570f3c77SAlex Bennée - env: 164956d4506SAlex Bennée - BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.." 165570f3c77SAlex Bennée - BASE_CONFIG="--enable-tools --enable-docs" 166570f3c77SAlex Bennée - CONFIG="--target-list=x86_64-softmmu,aarch64-linux-user" 1677d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 168570f3c77SAlex Bennée addons: 169570f3c77SAlex Bennée apt: 170570f3c77SAlex Bennée packages: 171570f3c77SAlex Bennée - python-sphinx 172570f3c77SAlex Bennée - texinfo 173570f3c77SAlex Bennée - perl 174570f3c77SAlex Bennée 175197be697SDaniel P. Berrangé 176ae6d692dSAlex Bennée # Test with Clang for compile portability (Travis uses clang-5.0) 177c21d7efcSDaniel P. Berrangé - env: 178c21d7efcSDaniel P. Berrangé - CONFIG="--disable-system" 179e2bef011SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default" 180ae6d692dSAlex Bennée compiler: clang 181197be697SDaniel P. Berrangé 182197be697SDaniel P. Berrangé 183c21d7efcSDaniel P. Berrangé - env: 1848c3daf97SAlex Bennée - CONFIG="--disable-user --target-list=${MAIN_SOFTMMU_TARGETS}" 185e2bef011SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default" 1868c3daf97SAlex Bennée compiler: clang 1878c3daf97SAlex Bennée 1888c3daf97SAlex Bennée 1898c3daf97SAlex Bennée - env: 1907831147eSAlex Bennée - CONFIG="--target-list=${MAIN_SOFTMMU_TARGETS} " 191b08c2ae3SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-sanitize" 1927831147eSAlex Bennée compiler: clang 1937831147eSAlex Bennée before_script: 1947831147eSAlex Bennée - ./configure ${CONFIG} --extra-cflags="-fsanitize=undefined -Werror" || { cat config.log && exit 1; } 1957831147eSAlex Bennée 1967831147eSAlex Bennée 1977831147eSAlex Bennée - env: 1988c3daf97SAlex Bennée - CONFIG="--disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}" 199e2bef011SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default" 200d9a6b013SDaniel P. Berrange compiler: clang 201197be697SDaniel P. Berrangé 202197be697SDaniel P. Berrangé 2036c933291SAlex Bennée # gprof/gcov are GCC features 204c21d7efcSDaniel P. Berrangé - env: 2058c3daf97SAlex Bennée - CONFIG="--enable-gprof --enable-gcov --disable-pie --target-list=${MAIN_SOFTMMU_TARGETS}" 2060708e647SAlex Bennée after_success: 2070708e647SAlex Bennée - ${SRC_DIR}/scripts/travis/coverage-summary.sh 208197be697SDaniel P. Berrangé 209197be697SDaniel P. Berrangé 2106c933291SAlex Bennée # We manually include builds which we disable "make check" for 211c21d7efcSDaniel P. Berrangé - env: 212386dc514SAlex Bennée - CONFIG="--without-default-devices --disable-user" 2137d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 21420885b5bSPaolo Bonzini - TEST_CMD="" 21520885b5bSPaolo Bonzini 21620885b5bSPaolo Bonzini 2173edaa995SThomas Huth # Check the TCG interpreter (TCI) 21820885b5bSPaolo Bonzini - env: 2193edaa995SThomas Huth - CONFIG="--enable-debug-tcg --enable-tcg-interpreter --disable-kvm --disable-containers 2203edaa995SThomas Huth --target-list=alpha-softmmu,arm-softmmu,hppa-softmmu,m68k-softmmu,microblaze-softmmu,moxie-softmmu,ppc-softmmu,s390x-softmmu,x86_64-softmmu" 2213edaa995SThomas Huth - TEST_CMD="make check-qtest check-tcg V=1" 222197be697SDaniel P. Berrangé 223197be697SDaniel P. Berrangé 224f8309de9SAlex Bennée # We don't need to exercise every backend with every front-end 225c21d7efcSDaniel P. Berrangé - env: 226c21d7efcSDaniel P. Berrangé - CONFIG="--enable-trace-backends=log,simple,syslog --disable-system" 227c21d7efcSDaniel P. Berrangé - TEST_CMD="" 228197be697SDaniel P. Berrangé 229197be697SDaniel P. Berrangé 230c21d7efcSDaniel P. Berrangé - env: 231c21d7efcSDaniel P. Berrangé - CONFIG="--enable-trace-backends=ftrace --target-list=x86_64-softmmu" 232c21d7efcSDaniel P. Berrangé - TEST_CMD="" 233197be697SDaniel P. Berrangé 234197be697SDaniel P. Berrangé 235c21d7efcSDaniel P. Berrangé - env: 236c21d7efcSDaniel P. Berrangé - CONFIG="--enable-trace-backends=ust --target-list=x86_64-softmmu" 237c21d7efcSDaniel P. Berrangé - TEST_CMD="" 238197be697SDaniel P. Berrangé 239197be697SDaniel P. Berrangé 240fb224688SAlex Bennée # MacOSX builds - cirrus.yml also tests some MacOS builds including latest Xcode 241197be697SDaniel P. Berrangé 242cd7507cbSPhilippe Mathieu-Daudé - env: 243cd7507cbSPhilippe Mathieu-Daudé - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu" 244cd7507cbSPhilippe Mathieu-Daudé os: osx 2450cb3e7baSAlex Bennée osx_image: xcode10.3 246cd7507cbSPhilippe Mathieu-Daudé compiler: clang 247cd7507cbSPhilippe Mathieu-Daudé 248cd7507cbSPhilippe Mathieu-Daudé 249ae6d692dSAlex Bennée # Python builds 250c21d7efcSDaniel P. Berrangé - env: 251c21d7efcSDaniel P. Berrangé - CONFIG="--target-list=x86_64-softmmu" 2527d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 25353fefde4SCleber Rosa language: python 2548e73a3c5SDaniel P. Berrange python: 25553fefde4SCleber Rosa - "3.4" 256197be697SDaniel P. Berrangé 257197be697SDaniel P. Berrangé 258c21d7efcSDaniel P. Berrangé - env: 259c21d7efcSDaniel P. Berrangé - CONFIG="--target-list=x86_64-softmmu" 2607d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 26153fefde4SCleber Rosa language: python 2628e73a3c5SDaniel P. Berrange python: 2638e73a3c5SDaniel P. Berrange - "3.6" 264197be697SDaniel P. Berrangé 265197be697SDaniel P. Berrangé 266aa983ff6SCleber Rosa # Acceptance (Functional) tests 267c21d7efcSDaniel P. Berrangé - env: 26883703220SPhilippe Mathieu-Daudé - CONFIG="--python=/usr/bin/python3 --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" 2690b98c20aSEduardo Habkost - TEST_CMD="make check-acceptance" 270c21f30ebSCleber Rosa after_failure: 271c21f30ebSCleber Rosa - cat tests/results/latest/job.log 272aa983ff6SCleber Rosa addons: 273aa983ff6SCleber Rosa apt: 274aa983ff6SCleber Rosa packages: 27525311649SPhilippe Mathieu-Daudé - python3-pil 276aa983ff6SCleber Rosa - python3-pip 27795310576SAlex Bennée - python3.5-venv 27825311649SPhilippe Mathieu-Daudé - tesseract-ocr 27925311649SPhilippe Mathieu-Daudé - tesseract-ocr-eng 28025311649SPhilippe Mathieu-Daudé 28125311649SPhilippe Mathieu-Daudé 28232265288SAlex Bennée # Using newer GCC with sanitizers 28332265288SAlex Bennée - addons: 28432265288SAlex Bennée apt: 285ac07ffc6SAlex Bennée update: true 28632265288SAlex Bennée sources: 28732265288SAlex Bennée # PPAs for newer toolchains 28832265288SAlex Bennée - ubuntu-toolchain-r-test 28932265288SAlex Bennée packages: 29032265288SAlex Bennée # Extra toolchains 2913998c25eSAlex Bennée - gcc-9 2923998c25eSAlex Bennée - g++-9 29332265288SAlex Bennée # Build dependencies 29432265288SAlex Bennée - libaio-dev 29532265288SAlex Bennée - libattr1-dev 29632265288SAlex Bennée - libbrlapi-dev 29732265288SAlex Bennée - libcap-ng-dev 29832265288SAlex Bennée - libgnutls-dev 29932265288SAlex Bennée - libgtk-3-dev 30032265288SAlex Bennée - libiscsi-dev 30132265288SAlex Bennée - liblttng-ust-dev 30232265288SAlex Bennée - libnfs-dev 30332265288SAlex Bennée - libncurses5-dev 30432265288SAlex Bennée - libnss3-dev 30532265288SAlex Bennée - libpixman-1-dev 30632265288SAlex Bennée - libpng12-dev 30732265288SAlex Bennée - librados-dev 308241e7955SThomas Huth - libsdl2-dev 309241e7955SThomas Huth - libsdl2-image-dev 31032265288SAlex Bennée - libseccomp-dev 31132265288SAlex Bennée - libspice-protocol-dev 31232265288SAlex Bennée - libspice-server-dev 313b10d49d7SPino Toscano - libssh-dev 31432265288SAlex Bennée - liburcu-dev 31532265288SAlex Bennée - libusb-1.0-0-dev 31695310576SAlex Bennée - libvte-2.91-dev 31732265288SAlex Bennée - sparse 31832265288SAlex Bennée - uuid-dev 31932265288SAlex Bennée language: generic 32032265288SAlex Bennée compiler: none 32132265288SAlex Bennée env: 3223998c25eSAlex Bennée - COMPILER_NAME=gcc CXX=g++-9 CC=gcc-9 3233998c25eSAlex Bennée - CONFIG="--cc=gcc-9 --cxx=g++-9 --disable-pie --disable-linux-user" 32432265288SAlex Bennée - TEST_CMD="" 32532265288SAlex Bennée before_script: 3263998c25eSAlex Bennée - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -Wno-error=stringop-truncation -fsanitize=thread -fuse-ld=gold" || { cat config.log && exit 1; } 327197be697SDaniel P. Berrangé 328197be697SDaniel P. Berrangé 329dab3a7c0SAlex Bennée # Run check-tcg against linux-user 33065b26da4SAlex Bennée - env: 3312efabbe1SAlex Bennée - CONFIG="--disable-system --enable-debug-tcg" 332e2576f9bSDaniel P. Berrangé - TEST_CMD="make -j3 check-tcg V=1" 33319633df8SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" 3347d183c54SPhilippe Mathieu-Daudé 335dab3a7c0SAlex Bennée 3364fbddb5dSAlex Bennée # Run check-tcg against linux-user (with plugins) 3374fbddb5dSAlex Bennée # we skip sparc64-linux-user until it has been fixed somewhat 3384fbddb5dSAlex Bennée - env: 33919633df8SAlex Bennée - CONFIG="--disable-system --enable-plugins --enable-debug-tcg --target-list-exclude=sparc64-linux-user" 3404fbddb5dSAlex Bennée - TEST_CMD="make -j3 check-tcg V=1" 34119633df8SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" 3429b29d049SDaniel P. Berrangé 343dab3a7c0SAlex Bennée 344dab3a7c0SAlex Bennée # Run check-tcg against softmmu targets 345dab3a7c0SAlex Bennée - env: 3462efabbe1SAlex Bennée - CONFIG="--enable-debug-tcg --target-list=xtensa-softmmu,arm-softmmu,aarch64-softmmu,alpha-softmmu" 347dab3a7c0SAlex Bennée - TEST_CMD="make -j3 check-tcg V=1" 34819633df8SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" 34961ac3dccSPhilippe Mathieu-Daudé 35061ac3dccSPhilippe Mathieu-Daudé 3514fbddb5dSAlex Bennée # Run check-tcg against softmmu targets (with plugins) 3524fbddb5dSAlex Bennée - env: 35319633df8SAlex Bennée - CONFIG="--enable-plugins --enable-debug-tcg --target-list=xtensa-softmmu,arm-softmmu,aarch64-softmmu,alpha-softmmu" 3544fbddb5dSAlex Bennée - TEST_CMD="make -j3 check-tcg V=1" 35519633df8SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" 35661ac3dccSPhilippe Mathieu-Daudé 357*9c5941a9SThomas Huth - arch: arm64 358*9c5941a9SThomas Huth dist: xenial 359*9c5941a9SThomas Huth addons: 360*9c5941a9SThomas Huth apt_packages: 361*9c5941a9SThomas Huth - libaio-dev 362*9c5941a9SThomas Huth - libattr1-dev 363*9c5941a9SThomas Huth - libbrlapi-dev 364*9c5941a9SThomas Huth - libcap-ng-dev 365*9c5941a9SThomas Huth - libgcrypt20-dev 366*9c5941a9SThomas Huth - libgnutls28-dev 367*9c5941a9SThomas Huth - libgtk-3-dev 368*9c5941a9SThomas Huth - libiscsi-dev 369*9c5941a9SThomas Huth - liblttng-ust-dev 370*9c5941a9SThomas Huth - libncurses5-dev 371*9c5941a9SThomas Huth - libnfs-dev 372*9c5941a9SThomas Huth - libnss3-dev 373*9c5941a9SThomas Huth - libpixman-1-dev 374*9c5941a9SThomas Huth - libpng-dev 375*9c5941a9SThomas Huth - librados-dev 376*9c5941a9SThomas Huth - libsdl2-dev 377*9c5941a9SThomas Huth - libseccomp-dev 378*9c5941a9SThomas Huth - liburcu-dev 379*9c5941a9SThomas Huth - libusb-1.0-0-dev 380*9c5941a9SThomas Huth - libvdeplug-dev 381*9c5941a9SThomas Huth - libvte-2.91-dev 382*9c5941a9SThomas Huth env: 383*9c5941a9SThomas Huth - TEST_CMD="make check check-tcg V=1" 384*9c5941a9SThomas Huth - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS}" 385*9c5941a9SThomas Huth 386*9c5941a9SThomas Huth - arch: ppc64le 387*9c5941a9SThomas Huth dist: xenial 388*9c5941a9SThomas Huth addons: 389*9c5941a9SThomas Huth apt_packages: 390*9c5941a9SThomas Huth - libaio-dev 391*9c5941a9SThomas Huth - libattr1-dev 392*9c5941a9SThomas Huth - libbrlapi-dev 393*9c5941a9SThomas Huth - libcap-ng-dev 394*9c5941a9SThomas Huth - libgcrypt20-dev 395*9c5941a9SThomas Huth - libgnutls28-dev 396*9c5941a9SThomas Huth - libgtk-3-dev 397*9c5941a9SThomas Huth - libiscsi-dev 398*9c5941a9SThomas Huth - liblttng-ust-dev 399*9c5941a9SThomas Huth - libncurses5-dev 400*9c5941a9SThomas Huth - libnfs-dev 401*9c5941a9SThomas Huth - libnss3-dev 402*9c5941a9SThomas Huth - libpixman-1-dev 403*9c5941a9SThomas Huth - libpng-dev 404*9c5941a9SThomas Huth - librados-dev 405*9c5941a9SThomas Huth - libsdl2-dev 406*9c5941a9SThomas Huth - libseccomp-dev 407*9c5941a9SThomas Huth - liburcu-dev 408*9c5941a9SThomas Huth - libusb-1.0-0-dev 409*9c5941a9SThomas Huth - libvdeplug-dev 410*9c5941a9SThomas Huth - libvte-2.91-dev 411*9c5941a9SThomas Huth env: 412*9c5941a9SThomas Huth - TEST_CMD="make check check-tcg V=1" 413*9c5941a9SThomas Huth - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS},ppc64le-linux-user" 414*9c5941a9SThomas Huth 415*9c5941a9SThomas Huth - arch: s390x 416*9c5941a9SThomas Huth dist: bionic 417*9c5941a9SThomas Huth addons: 418*9c5941a9SThomas Huth apt_packages: 419*9c5941a9SThomas Huth - libaio-dev 420*9c5941a9SThomas Huth - libattr1-dev 421*9c5941a9SThomas Huth - libbrlapi-dev 422*9c5941a9SThomas Huth - libcap-ng-dev 423*9c5941a9SThomas Huth - libgcrypt20-dev 424*9c5941a9SThomas Huth - libgnutls28-dev 425*9c5941a9SThomas Huth - libgtk-3-dev 426*9c5941a9SThomas Huth - libiscsi-dev 427*9c5941a9SThomas Huth - liblttng-ust-dev 428*9c5941a9SThomas Huth - libncurses5-dev 429*9c5941a9SThomas Huth - libnfs-dev 430*9c5941a9SThomas Huth - libnss3-dev 431*9c5941a9SThomas Huth - libpixman-1-dev 432*9c5941a9SThomas Huth - libpng-dev 433*9c5941a9SThomas Huth - librados-dev 434*9c5941a9SThomas Huth - libsdl2-dev 435*9c5941a9SThomas Huth - libseccomp-dev 436*9c5941a9SThomas Huth - liburcu-dev 437*9c5941a9SThomas Huth - libusb-1.0-0-dev 438*9c5941a9SThomas Huth - libvdeplug-dev 439*9c5941a9SThomas Huth - libvte-2.91-dev 440*9c5941a9SThomas Huth env: 441*9c5941a9SThomas Huth - TEST_CMD="make check check-tcg V=1" 442*9c5941a9SThomas Huth - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS},s390x-linux-user" 44361ac3dccSPhilippe Mathieu-Daudé 44461ac3dccSPhilippe Mathieu-Daudé # Release builds 44561ac3dccSPhilippe Mathieu-Daudé # The make-release script expect a QEMU version, so our tag must start with a 'v'. 44661ac3dccSPhilippe Mathieu-Daudé # This is the case when release candidate tags are created. 44761ac3dccSPhilippe Mathieu-Daudé - if: tag IS present AND tag =~ /^v\d+\.\d+(\.\d+)?(-\S*)?$/ 44861ac3dccSPhilippe Mathieu-Daudé env: 44961ac3dccSPhilippe Mathieu-Daudé # We want to build from the release tarball 45061ac3dccSPhilippe Mathieu-Daudé - BUILD_DIR="release/build/dir" SRC_DIR="../../.." 45161ac3dccSPhilippe Mathieu-Daudé - BASE_CONFIG="--prefix=$PWD/dist" 45261ac3dccSPhilippe Mathieu-Daudé - CONFIG="--target-list=x86_64-softmmu,aarch64-softmmu,armeb-linux-user,ppc-linux-user" 45361ac3dccSPhilippe Mathieu-Daudé - TEST_CMD="make install -j3" 45461ac3dccSPhilippe Mathieu-Daudé - QEMU_VERSION="${TRAVIS_TAG:1}" 45561ac3dccSPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 45661ac3dccSPhilippe Mathieu-Daudé before_script: 45761ac3dccSPhilippe Mathieu-Daudé - command -v ccache && ccache --zero-stats 45861ac3dccSPhilippe Mathieu-Daudé - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} 45961ac3dccSPhilippe Mathieu-Daudé script: 46061ac3dccSPhilippe Mathieu-Daudé - make -C ${SRC_DIR} qemu-${QEMU_VERSION}.tar.bz2 46161ac3dccSPhilippe Mathieu-Daudé - ls -l ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2 46261ac3dccSPhilippe Mathieu-Daudé - tar -xf ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2 && cd qemu-${QEMU_VERSION} 46361ac3dccSPhilippe Mathieu-Daudé - ./configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; } 46461ac3dccSPhilippe Mathieu-Daudé - make install 465