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 4321e6ea5SWainer dos Santos Moschettaos: linux 595310576SAlex Bennéedist: xenial 6fe863ab9SAlex Bennéelanguage: c 7fe863ab9SAlex Bennéecompiler: 8fe863ab9SAlex Bennée - gcc 94bc629b2SPhilippe Mathieu-Daudécache: 105ef9c53cSPhilippe Mathieu-Daudé # There is one cache per branch and compiler version. 115ef9c53cSPhilippe Mathieu-Daudé # characteristics of each job are used to identify the cache: 125ef9c53cSPhilippe Mathieu-Daudé # - OS name (currently, linux, osx, or windows) 135ef9c53cSPhilippe Mathieu-Daudé # - OS distribution (for Linux, xenial, trusty, or precise) 145ef9c53cSPhilippe Mathieu-Daudé # - macOS image name (e.g., xcode7.2) 155ef9c53cSPhilippe Mathieu-Daudé # - Names and values of visible environment variables set in .travis.yml or Settings panel 16731cbb64SPhilippe Mathieu-Daudé timeout: 1200 174bc629b2SPhilippe Mathieu-Daudé ccache: true 186e189d78SPhilippe Mathieu-Daudé pip: true 19c1073e44SPhilippe Mathieu-Daudé directories: 20c1073e44SPhilippe Mathieu-Daudé - $HOME/avocado/data/cache 21197be697SDaniel P. Berrangé 22197be697SDaniel P. Berrangé 23692d162cSAlex Bennéeaddons: 24692d162cSAlex Bennée apt: 25692d162cSAlex Bennée packages: 2632265288SAlex Bennée # Build dependencies 27692d162cSAlex Bennée - libaio-dev 28692d162cSAlex Bennée - libattr1-dev 29692d162cSAlex Bennée - libbrlapi-dev 30692d162cSAlex Bennée - libcap-ng-dev 317524a39dSPhilippe Mathieu-Daudé - libgcc-4.8-dev 323c7a8b41SThomas Huth - libgnutls28-dev 33692d162cSAlex Bennée - libgtk-3-dev 34692d162cSAlex Bennée - libiscsi-dev 35692d162cSAlex Bennée - liblttng-ust-dev 36692d162cSAlex Bennée - libncurses5-dev 37d83414e1SMarc-André Lureau - libnfs-dev 38692d162cSAlex Bennée - libnss3-dev 39692d162cSAlex Bennée - libpixman-1-dev 403c7a8b41SThomas Huth - libpng-dev 41692d162cSAlex Bennée - librados-dev 42241e7955SThomas Huth - libsdl2-dev 43241e7955SThomas Huth - libsdl2-image-dev 44692d162cSAlex Bennée - libseccomp-dev 45692d162cSAlex Bennée - libspice-protocol-dev 46692d162cSAlex Bennée - libspice-server-dev 47b10d49d7SPino Toscano - libssh-dev 48692d162cSAlex Bennée - liburcu-dev 49692d162cSAlex Bennée - libusb-1.0-0-dev 507c1dd4d1SThomas Huth - libvdeplug-dev 5195310576SAlex Bennée - libvte-2.91-dev 523a678481SJuan Quintela - libzstd-dev 53692d162cSAlex Bennée - sparse 54692d162cSAlex Bennée - uuid-dev 550708e647SAlex Bennée - gcovr 5658a1e5b6SWainer dos Santos Moschetta # Tests dependencies 5758a1e5b6SWainer dos Santos Moschetta - genisoimage 58692d162cSAlex Bennée 59197be697SDaniel P. Berrangé 60cb4c2536SPranith Kumar# The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu 61cb4c2536SPranith Kumar# to prevent IRC notifications from forks. This was created using: 62cb4c2536SPranith Kumar# $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu" 6339d16d29SAlex Bennéenotifications: 6439d16d29SAlex Bennée irc: 6539d16d29SAlex Bennée channels: 66cb4c2536SPranith Kumar - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM=" 6739d16d29SAlex Bennée on_success: change 6839d16d29SAlex Bennée on_failure: always 69197be697SDaniel P. Berrangé 70197be697SDaniel P. Berrangé 71fe863ab9SAlex Bennéeenv: 72fe863ab9SAlex Bennée global: 73bc4486fbSPaolo Bonzini - SRC_DIR=".." 74bc4486fbSPaolo Bonzini - BUILD_DIR="build" 75570f3c77SAlex Bennée - BASE_CONFIG="--disable-docs --disable-tools" 764f46afd9SAlex Bennée - TEST_BUILD_CMD="" 7705273a43SAlex Bennée - TEST_CMD="make check V=1" 788c3daf97SAlex Bennée # This is broadly a list of "mainline" softmmu targets which have support across the major distros 796e988880SAlex Bennée - MAIN_SOFTMMU_TARGETS="aarch64-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu" 80bcfbf0d5SPhilippe Mathieu-Daudé - CCACHE_SLOPPINESS="include_file_ctime,include_file_mtime" 81bcfbf0d5SPhilippe Mathieu-Daudé - CCACHE_MAXSIZE=1G 822dbd39c2SPhilippe Mathieu-Daudé - G_MESSAGES_DEBUG=error 83bcfbf0d5SPhilippe Mathieu-Daudé 84197be697SDaniel P. Berrangé 85cb021cfeSAlex Bennéegit: 86cb021cfeSAlex Bennée # we want to do this ourselves 87cb021cfeSAlex Bennée submodules: false 88197be697SDaniel P. Berrangé 89b3165c87SAlex Bennée# Common first phase for all steps 90b3165c87SAlex Bennéebefore_install: 91312995c2SThomas Huth - if command -v ccache ; then ccache --zero-stats ; fi 920a7c0ae0SAlex Bennée - export JOBS=$(($(getconf _NPROCESSORS_ONLN) + 1)) 930a7c0ae0SAlex Bennée - echo "=== Using ${JOBS} simultaneous jobs ===" 94b3165c87SAlex Bennée 95b3165c87SAlex Bennée# Configure step - may be overridden 96b3165c87SAlex Bennéebefore_script: 97ebf2ff65SPhilippe Mathieu-Daudé - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} 98570f3c77SAlex Bennée - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; } 99b3165c87SAlex Bennée 100b3165c87SAlex Bennée# Main build & test - rarely overridden - controlled by TEST_CMD 101eebf2940SAlex Bennéescript: 1020a7c0ae0SAlex Bennée - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$? 1034f46afd9SAlex Bennée - | 1044f46afd9SAlex Bennée if [ "$BUILD_RC" -eq 0 ] && [ -n "$TEST_BUILD_CMD" ]; then 1054f46afd9SAlex Bennée ${TEST_BUILD_CMD} || BUILD_RC=$? 1064f46afd9SAlex Bennée else 1074f46afd9SAlex Bennée $(exit $BUILD_RC); 1084f46afd9SAlex Bennée fi 109ec49faacSAlex Bennée - | 110ec49faacSAlex Bennée if [ "$BUILD_RC" -eq 0 ] ; then 111ec49faacSAlex Bennée ${TEST_CMD} ; 112ec49faacSAlex Bennée else 113ec49faacSAlex Bennée $(exit $BUILD_RC); 114ec49faacSAlex Bennée fi 115bcfbf0d5SPhilippe Mathieu-Daudéafter_script: 116312995c2SThomas Huth - if command -v ccache ; then ccache --show-stats ; fi 117197be697SDaniel P. Berrangé 118197be697SDaniel P. Berrangé 119321e6ea5SWainer dos Santos Moschettajobs: 120fe863ab9SAlex Bennée include: 121097aebd8SPhilippe Mathieu-Daudé - name: "GCC static (user)" 122097aebd8SPhilippe Mathieu-Daudé env: 123c3c1874aSAlex Bennée - CONFIG="--disable-system --static" 1247d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 1253e094234SDaniel P. Berrangé 1263e094234SDaniel P. Berrangé 1278c3daf97SAlex Bennée # we split the system builds as it takes a while to build them all 128097aebd8SPhilippe Mathieu-Daudé - name: "GCC (main-softmmu)" 129097aebd8SPhilippe Mathieu-Daudé env: 1308c3daf97SAlex Bennée - CONFIG="--disable-user --target-list=${MAIN_SOFTMMU_TARGETS}" 1317d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 1328c3daf97SAlex Bennée 1338c3daf97SAlex Bennée 134097aebd8SPhilippe Mathieu-Daudé - name: "GCC (other-softmmu)" 135097aebd8SPhilippe Mathieu-Daudé env: 1368c3daf97SAlex Bennée - CONFIG="--disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}" 1377d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 1383e094234SDaniel P. Berrangé 1393e094234SDaniel P. Berrangé 140df2bb38eSAlex Bennée # Just build tools and run minimal unit and softfloat checks 141097aebd8SPhilippe Mathieu-Daudé - name: "GCC check-softfloat (user)" 142097aebd8SPhilippe Mathieu-Daudé env: 143df2bb38eSAlex Bennée - BASE_CONFIG="--enable-tools" 144df2bb38eSAlex Bennée - CONFIG="--disable-user --disable-system" 1450a7c0ae0SAlex Bennée - TEST_CMD="make check-unit check-softfloat -j${JOBS}" 1467d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 1477d183c54SPhilippe Mathieu-Daudé 148df2bb38eSAlex Bennée 149138382c6SAlex Bennée # --enable-debug implies --enable-debug-tcg, also runs quite a bit slower 150097aebd8SPhilippe Mathieu-Daudé - name: "GCC debug (main-softmmu)" 151097aebd8SPhilippe Mathieu-Daudé env: 152138382c6SAlex Bennée - CONFIG="--enable-debug --target-list=${MAIN_SOFTMMU_TARGETS}" 1538fb90e3dSPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug" 1544e6e7df6SAlex Bennée 1554e6e7df6SAlex Bennée 156138382c6SAlex Bennée # TCG debug can be run just on its own and is mostly agnostic to user/softmmu distinctions 157097aebd8SPhilippe Mathieu-Daudé - name: "GCC debug (user)" 158097aebd8SPhilippe Mathieu-Daudé env: 1594e6e7df6SAlex Bennée - CONFIG="--enable-debug-tcg --disable-system" 16019633df8SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" 1613e094234SDaniel P. Berrangé 1623e094234SDaniel P. Berrangé 163097aebd8SPhilippe Mathieu-Daudé - name: "GCC some libs disabled (main-softmmu)" 164097aebd8SPhilippe Mathieu-Daudé env: 165aec2927dSAlex Bennée - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-libusb --disable-replication --target-list=${MAIN_SOFTMMU_TARGETS}" 1663e094234SDaniel P. Berrangé 1673e094234SDaniel P. Berrangé 1682f6c2526SAlex Bennée # Module builds are mostly of interest to major distros 169097aebd8SPhilippe Mathieu-Daudé - name: "GCC modules (main-softmmu)" 170097aebd8SPhilippe Mathieu-Daudé env: 1718c3daf97SAlex Bennée - CONFIG="--enable-modules --target-list=${MAIN_SOFTMMU_TARGETS}" 1727d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 1733e094234SDaniel P. Berrangé 1743e094234SDaniel P. Berrangé 175f3908ff7SAlex Bennée # Alternate coroutines implementations are only really of interest to KVM users 176f3908ff7SAlex Bennée # However we can't test against KVM on Travis so we can only run unit tests 177097aebd8SPhilippe Mathieu-Daudé - name: "check-unit coroutine=ucontext" 178097aebd8SPhilippe Mathieu-Daudé env: 179f3908ff7SAlex Bennée - CONFIG="--with-coroutine=ucontext --disable-tcg" 1800a7c0ae0SAlex Bennée - TEST_CMD="make check-unit -j${JOBS} V=1" 1813e094234SDaniel P. Berrangé 1823e094234SDaniel P. Berrangé 183097aebd8SPhilippe Mathieu-Daudé - name: "check-unit coroutine=sigaltstack" 184097aebd8SPhilippe Mathieu-Daudé env: 185f3908ff7SAlex Bennée - CONFIG="--with-coroutine=sigaltstack --disable-tcg" 1860a7c0ae0SAlex Bennée - TEST_CMD="make check-unit -j${JOBS} V=1" 1873e094234SDaniel P. Berrangé 1883e094234SDaniel P. Berrangé 189956d4506SAlex Bennée # Check we can build docs and tools (out of tree) 190204b30e2SAlex Bennée - name: "tools and docs (bionic)" 191204b30e2SAlex Bennée dist: bionic 192097aebd8SPhilippe Mathieu-Daudé env: 193956d4506SAlex Bennée - BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.." 194570f3c77SAlex Bennée - BASE_CONFIG="--enable-tools --enable-docs" 195570f3c77SAlex Bennée - CONFIG="--target-list=x86_64-softmmu,aarch64-linux-user" 1967d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 197570f3c77SAlex Bennée addons: 198570f3c77SAlex Bennée apt: 199570f3c77SAlex Bennée packages: 20068e5b85eSAlex Bennée - python3-sphinx 201570f3c77SAlex Bennée - texinfo 202570f3c77SAlex Bennée - perl 203570f3c77SAlex Bennée 204197be697SDaniel P. Berrangé 205ae6d692dSAlex Bennée # Test with Clang for compile portability (Travis uses clang-5.0) 206097aebd8SPhilippe Mathieu-Daudé - name: "Clang (user)" 207097aebd8SPhilippe Mathieu-Daudé env: 208c21d7efcSDaniel P. Berrangé - CONFIG="--disable-system" 209e2bef011SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default" 210ae6d692dSAlex Bennée compiler: clang 211197be697SDaniel P. Berrangé 212197be697SDaniel P. Berrangé 213097aebd8SPhilippe Mathieu-Daudé - name: "Clang (main-softmmu)" 214097aebd8SPhilippe Mathieu-Daudé env: 2157831147eSAlex Bennée - CONFIG="--target-list=${MAIN_SOFTMMU_TARGETS} " 216b08c2ae3SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-sanitize" 2177831147eSAlex Bennée compiler: clang 2187831147eSAlex Bennée before_script: 219bc4486fbSPaolo Bonzini - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} 220bc4486fbSPaolo Bonzini - ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-fsanitize=undefined -Werror" || { cat config.log && exit 1; } 2217831147eSAlex Bennée 2227831147eSAlex Bennée 223097aebd8SPhilippe Mathieu-Daudé - name: "Clang (other-softmmu)" 224097aebd8SPhilippe Mathieu-Daudé env: 2258c3daf97SAlex Bennée - CONFIG="--disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}" 226e2bef011SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default" 227d9a6b013SDaniel P. Berrange compiler: clang 228197be697SDaniel P. Berrangé 229197be697SDaniel P. Berrangé 2306c933291SAlex Bennée # gprof/gcov are GCC features 231097aebd8SPhilippe Mathieu-Daudé - name: "GCC gprof/gcov" 232097aebd8SPhilippe Mathieu-Daudé env: 2338c3daf97SAlex Bennée - CONFIG="--enable-gprof --enable-gcov --disable-pie --target-list=${MAIN_SOFTMMU_TARGETS}" 2340708e647SAlex Bennée after_success: 2350708e647SAlex Bennée - ${SRC_DIR}/scripts/travis/coverage-summary.sh 236197be697SDaniel P. Berrangé 237197be697SDaniel P. Berrangé 2386c933291SAlex Bennée # We manually include builds which we disable "make check" for 239097aebd8SPhilippe Mathieu-Daudé - name: "GCC without-default-devices (softmmu)" 240097aebd8SPhilippe Mathieu-Daudé env: 241386dc514SAlex Bennée - CONFIG="--without-default-devices --disable-user" 2427d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 24320885b5bSPaolo Bonzini - TEST_CMD="" 24420885b5bSPaolo Bonzini 24520885b5bSPaolo Bonzini 2463edaa995SThomas Huth # Check the TCG interpreter (TCI) 247097aebd8SPhilippe Mathieu-Daudé - name: "GCC TCI" 248097aebd8SPhilippe Mathieu-Daudé env: 2493edaa995SThomas Huth - CONFIG="--enable-debug-tcg --enable-tcg-interpreter --disable-kvm --disable-containers 2503edaa995SThomas Huth --target-list=alpha-softmmu,arm-softmmu,hppa-softmmu,m68k-softmmu,microblaze-softmmu,moxie-softmmu,ppc-softmmu,s390x-softmmu,x86_64-softmmu" 2513edaa995SThomas Huth - TEST_CMD="make check-qtest check-tcg V=1" 252197be697SDaniel P. Berrangé 253197be697SDaniel P. Berrangé 254f8309de9SAlex Bennée # We don't need to exercise every backend with every front-end 255097aebd8SPhilippe Mathieu-Daudé - name: "GCC trace log,simple,syslog (user)" 256097aebd8SPhilippe Mathieu-Daudé env: 257c21d7efcSDaniel P. Berrangé - CONFIG="--enable-trace-backends=log,simple,syslog --disable-system" 258c21d7efcSDaniel P. Berrangé - TEST_CMD="" 259197be697SDaniel P. Berrangé 260197be697SDaniel P. Berrangé 261097aebd8SPhilippe Mathieu-Daudé - name: "GCC trace ftrace (x86_64-softmmu)" 262097aebd8SPhilippe Mathieu-Daudé env: 263c21d7efcSDaniel P. Berrangé - CONFIG="--enable-trace-backends=ftrace --target-list=x86_64-softmmu" 264c21d7efcSDaniel P. Berrangé - TEST_CMD="" 265197be697SDaniel P. Berrangé 266197be697SDaniel P. Berrangé 267097aebd8SPhilippe Mathieu-Daudé - name: "GCC trace ust (x86_64-softmmu)" 268097aebd8SPhilippe Mathieu-Daudé env: 269c21d7efcSDaniel P. Berrangé - CONFIG="--enable-trace-backends=ust --target-list=x86_64-softmmu" 270c21d7efcSDaniel P. Berrangé - TEST_CMD="" 271197be697SDaniel P. Berrangé 272197be697SDaniel P. Berrangé 273fb224688SAlex Bennée # MacOSX builds - cirrus.yml also tests some MacOS builds including latest Xcode 274197be697SDaniel P. Berrangé 275097aebd8SPhilippe Mathieu-Daudé - name: "OSX Xcode 10.3" 276097aebd8SPhilippe Mathieu-Daudé env: 277af17e7e7SLaurent Vivier - BASE_CONFIG="--disable-docs --enable-tools" 278cd7507cbSPhilippe Mathieu-Daudé - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu" 279cd7507cbSPhilippe Mathieu-Daudé os: osx 2800cb3e7baSAlex Bennée osx_image: xcode10.3 281cd7507cbSPhilippe Mathieu-Daudé compiler: clang 282289c8e59SAlex Bennée addons: 283289c8e59SAlex Bennée homebrew: 284289c8e59SAlex Bennée packages: 285289c8e59SAlex Bennée - ccache 286289c8e59SAlex Bennée - glib 287289c8e59SAlex Bennée - pixman 288289c8e59SAlex Bennée - gnu-sed 289289c8e59SAlex Bennée - python 290289c8e59SAlex Bennée update: true 2916e3bd8a0SAlex Bennée before_script: 292289c8e59SAlex Bennée - brew link --overwrite python 2936e3bd8a0SAlex Bennée - export PATH="/usr/local/opt/ccache/libexec:$PATH" 2946e3bd8a0SAlex Bennée - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} 2956e3bd8a0SAlex Bennée - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; } 296cd7507cbSPhilippe Mathieu-Daudé 297cd7507cbSPhilippe Mathieu-Daudé 298ae6d692dSAlex Bennée # Python builds 299097aebd8SPhilippe Mathieu-Daudé - name: "GCC Python 3.5 (x86_64-softmmu)" 300097aebd8SPhilippe Mathieu-Daudé env: 301c21d7efcSDaniel P. Berrangé - CONFIG="--target-list=x86_64-softmmu" 3027d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 30353fefde4SCleber Rosa language: python 304321e6ea5SWainer dos Santos Moschetta python: 3.5 305197be697SDaniel P. Berrangé 306197be697SDaniel P. Berrangé 307097aebd8SPhilippe Mathieu-Daudé - name: "GCC Python 3.6 (x86_64-softmmu)" 308097aebd8SPhilippe Mathieu-Daudé env: 309c21d7efcSDaniel P. Berrangé - CONFIG="--target-list=x86_64-softmmu" 3107d183c54SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 31153fefde4SCleber Rosa language: python 312321e6ea5SWainer dos Santos Moschetta python: 3.6 313197be697SDaniel P. Berrangé 314197be697SDaniel P. Berrangé 315aa983ff6SCleber Rosa # Acceptance (Functional) tests 316097aebd8SPhilippe Mathieu-Daudé - name: "GCC check-acceptance" 317c2e09ad8SAlex Bennée dist: bionic 318097aebd8SPhilippe Mathieu-Daudé env: 3196fd52d67SCleber Rosa - CONFIG="--enable-tools --target-list=aarch64-softmmu,alpha-softmmu,arm-softmmu,m68k-softmmu,microblaze-softmmu,mips-softmmu,mips64el-softmmu,nios2-softmmu,or1k-softmmu,ppc-softmmu,ppc64-softmmu,s390x-softmmu,sparc-softmmu,x86_64-softmmu,xtensa-softmmu" 3200b98c20aSEduardo Habkost - TEST_CMD="make check-acceptance" 321*a41f1675SPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-acceptance" 32267892c95SWainer dos Santos Moschetta after_script: 32367892c95SWainer 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 324*a41f1675SPhilippe Mathieu-Daudé - du -chs $HOME/avocado/data/cache 325aa983ff6SCleber Rosa addons: 326aa983ff6SCleber Rosa apt: 327aa983ff6SCleber Rosa packages: 32825311649SPhilippe Mathieu-Daudé - python3-pil 329aa983ff6SCleber Rosa - python3-pip 330c2e09ad8SAlex Bennée - python3-numpy 331c2e09ad8SAlex Bennée - python3-opencv 332c2e09ad8SAlex Bennée - python3-venv 3338a837088SLiam Merwick - rpm2cpio 33425311649SPhilippe Mathieu-Daudé - tesseract-ocr 33525311649SPhilippe Mathieu-Daudé - tesseract-ocr-eng 33625311649SPhilippe Mathieu-Daudé 33725311649SPhilippe Mathieu-Daudé 33832265288SAlex Bennée # Using newer GCC with sanitizers 339097aebd8SPhilippe Mathieu-Daudé - name: "GCC9 with sanitizers (softmmu)" 340097aebd8SPhilippe Mathieu-Daudé addons: 34132265288SAlex Bennée apt: 342ac07ffc6SAlex Bennée update: true 34332265288SAlex Bennée sources: 34432265288SAlex Bennée # PPAs for newer toolchains 34532265288SAlex Bennée - ubuntu-toolchain-r-test 34632265288SAlex Bennée packages: 34732265288SAlex Bennée # Extra toolchains 3483998c25eSAlex Bennée - gcc-9 3493998c25eSAlex Bennée - g++-9 35032265288SAlex Bennée # Build dependencies 35132265288SAlex Bennée - libaio-dev 35232265288SAlex Bennée - libattr1-dev 35332265288SAlex Bennée - libbrlapi-dev 35432265288SAlex Bennée - libcap-ng-dev 35532265288SAlex Bennée - libgnutls-dev 35632265288SAlex Bennée - libgtk-3-dev 35732265288SAlex Bennée - libiscsi-dev 35832265288SAlex Bennée - liblttng-ust-dev 35932265288SAlex Bennée - libnfs-dev 36032265288SAlex Bennée - libncurses5-dev 36132265288SAlex Bennée - libnss3-dev 36232265288SAlex Bennée - libpixman-1-dev 36332265288SAlex Bennée - libpng12-dev 36432265288SAlex Bennée - librados-dev 365241e7955SThomas Huth - libsdl2-dev 366241e7955SThomas Huth - libsdl2-image-dev 36732265288SAlex Bennée - libseccomp-dev 36832265288SAlex Bennée - libspice-protocol-dev 36932265288SAlex Bennée - libspice-server-dev 370b10d49d7SPino Toscano - libssh-dev 37132265288SAlex Bennée - liburcu-dev 37232265288SAlex Bennée - libusb-1.0-0-dev 37395310576SAlex Bennée - libvte-2.91-dev 37432265288SAlex Bennée - sparse 37532265288SAlex Bennée - uuid-dev 37632265288SAlex Bennée language: generic 37732265288SAlex Bennée compiler: none 37832265288SAlex Bennée env: 3793998c25eSAlex Bennée - COMPILER_NAME=gcc CXX=g++-9 CC=gcc-9 3803998c25eSAlex Bennée - CONFIG="--cc=gcc-9 --cxx=g++-9 --disable-pie --disable-linux-user" 38132265288SAlex Bennée - TEST_CMD="" 38232265288SAlex Bennée before_script: 383bc4486fbSPaolo Bonzini - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} 384db5adeaaSPaolo 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; } 385197be697SDaniel P. Berrangé 386197be697SDaniel P. Berrangé 387dab3a7c0SAlex Bennée # Run check-tcg against linux-user 388097aebd8SPhilippe Mathieu-Daudé - name: "GCC check-tcg (user)" 389097aebd8SPhilippe Mathieu-Daudé env: 3902efabbe1SAlex Bennée - CONFIG="--disable-system --enable-debug-tcg" 39173217f3eSAlex Bennée - TEST_BUILD_CMD="make build-tcg" 3924f46afd9SAlex Bennée - TEST_CMD="make check-tcg" 39319633df8SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" 3947d183c54SPhilippe Mathieu-Daudé 395dab3a7c0SAlex Bennée 3964fbddb5dSAlex Bennée # Run check-tcg against linux-user (with plugins) 3974fbddb5dSAlex Bennée # we skip sparc64-linux-user until it has been fixed somewhat 3987986f486SAlex Bennée # we skip cris-linux-user as it doesn't use the common run loop 399097aebd8SPhilippe Mathieu-Daudé - name: "GCC plugins check-tcg (user)" 400097aebd8SPhilippe Mathieu-Daudé env: 4017986f486SAlex Bennée - CONFIG="--disable-system --enable-plugins --enable-debug-tcg --target-list-exclude=sparc64-linux-user,cris-linux-user" 40273217f3eSAlex Bennée - TEST_BUILD_CMD="make build-tcg" 4034f46afd9SAlex Bennée - TEST_CMD="make check-tcg" 40419633df8SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" 405e2576f9bSDaniel P. Berrangé 406dab3a7c0SAlex Bennée 407dab3a7c0SAlex Bennée # Run check-tcg against softmmu targets 408097aebd8SPhilippe Mathieu-Daudé - name: "GCC check-tcg (some-softmmu)" 409097aebd8SPhilippe Mathieu-Daudé env: 4102efabbe1SAlex Bennée - CONFIG="--enable-debug-tcg --target-list=xtensa-softmmu,arm-softmmu,aarch64-softmmu,alpha-softmmu" 411c9331e9cSAlex Bennée - TEST_BUILD_CMD="make build-tcg" 4124f46afd9SAlex Bennée - TEST_CMD="make check-tcg" 41319633df8SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" 41461ac3dccSPhilippe Mathieu-Daudé 41561ac3dccSPhilippe Mathieu-Daudé 4164fbddb5dSAlex Bennée # Run check-tcg against softmmu targets (with plugins) 417097aebd8SPhilippe Mathieu-Daudé - name: "GCC plugins check-tcg (some-softmmu)" 418097aebd8SPhilippe Mathieu-Daudé env: 41919633df8SAlex Bennée - CONFIG="--enable-plugins --enable-debug-tcg --target-list=xtensa-softmmu,arm-softmmu,aarch64-softmmu,alpha-softmmu" 420c9331e9cSAlex Bennée - TEST_BUILD_CMD="make build-tcg" 4214f46afd9SAlex Bennée - TEST_CMD="make check-tcg" 42219633df8SAlex Bennée - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" 42361ac3dccSPhilippe Mathieu-Daudé 424097aebd8SPhilippe Mathieu-Daudé - name: "[aarch64] GCC check-tcg" 425097aebd8SPhilippe Mathieu-Daudé arch: arm64 4269c5941a9SThomas Huth dist: xenial 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}" 4559c5941a9SThomas Huth 456097aebd8SPhilippe Mathieu-Daudé - name: "[ppc64] GCC check-tcg" 457097aebd8SPhilippe Mathieu-Daudé arch: ppc64le 4589c5941a9SThomas Huth dist: xenial 4599c5941a9SThomas Huth addons: 4609c5941a9SThomas Huth apt_packages: 4619c5941a9SThomas Huth - libaio-dev 4629c5941a9SThomas Huth - libattr1-dev 4639c5941a9SThomas Huth - libbrlapi-dev 4649c5941a9SThomas Huth - libcap-ng-dev 4659c5941a9SThomas Huth - libgcrypt20-dev 4669c5941a9SThomas Huth - libgnutls28-dev 4679c5941a9SThomas Huth - libgtk-3-dev 4689c5941a9SThomas Huth - libiscsi-dev 4699c5941a9SThomas Huth - liblttng-ust-dev 4709c5941a9SThomas Huth - libncurses5-dev 4719c5941a9SThomas Huth - libnfs-dev 4729c5941a9SThomas Huth - libnss3-dev 4739c5941a9SThomas Huth - libpixman-1-dev 4749c5941a9SThomas Huth - libpng-dev 4759c5941a9SThomas Huth - librados-dev 4769c5941a9SThomas Huth - libsdl2-dev 4779c5941a9SThomas Huth - libseccomp-dev 4789c5941a9SThomas Huth - liburcu-dev 4799c5941a9SThomas Huth - libusb-1.0-0-dev 4809c5941a9SThomas Huth - libvdeplug-dev 4819c5941a9SThomas Huth - libvte-2.91-dev 48258a1e5b6SWainer dos Santos Moschetta # Tests dependencies 48358a1e5b6SWainer dos Santos Moschetta - genisoimage 4849c5941a9SThomas Huth env: 4859c5941a9SThomas Huth - TEST_CMD="make check check-tcg V=1" 4869c5941a9SThomas Huth - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS},ppc64le-linux-user" 4879c5941a9SThomas Huth 488097aebd8SPhilippe Mathieu-Daudé - name: "[s390x] GCC check-tcg" 489097aebd8SPhilippe Mathieu-Daudé arch: s390x 4909c5941a9SThomas Huth dist: bionic 4919c5941a9SThomas Huth addons: 4929c5941a9SThomas Huth apt_packages: 4939c5941a9SThomas Huth - libaio-dev 4949c5941a9SThomas Huth - libattr1-dev 4959c5941a9SThomas Huth - libbrlapi-dev 4969c5941a9SThomas Huth - libcap-ng-dev 4979c5941a9SThomas Huth - libgcrypt20-dev 4989c5941a9SThomas Huth - libgnutls28-dev 4999c5941a9SThomas Huth - libgtk-3-dev 5009c5941a9SThomas Huth - libiscsi-dev 5019c5941a9SThomas Huth - liblttng-ust-dev 5029c5941a9SThomas Huth - libncurses5-dev 5039c5941a9SThomas Huth - libnfs-dev 5049c5941a9SThomas Huth - libnss3-dev 5059c5941a9SThomas Huth - libpixman-1-dev 5069c5941a9SThomas Huth - libpng-dev 5079c5941a9SThomas Huth - librados-dev 5089c5941a9SThomas Huth - libsdl2-dev 5099c5941a9SThomas Huth - libseccomp-dev 5109c5941a9SThomas Huth - liburcu-dev 5119c5941a9SThomas Huth - libusb-1.0-0-dev 5129c5941a9SThomas Huth - libvdeplug-dev 5139c5941a9SThomas Huth - libvte-2.91-dev 51458a1e5b6SWainer dos Santos Moschetta # Tests dependencies 51558a1e5b6SWainer dos Santos Moschetta - genisoimage 5169c5941a9SThomas Huth env: 5179c5941a9SThomas Huth - TEST_CMD="make check check-tcg V=1" 5189c5941a9SThomas Huth - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS},s390x-linux-user" 51931c8cc4fSThomas Huth script: 52031c8cc4fSThomas Huth - ( cd ${SRC_DIR} ; git submodule update --init roms/SLOF ) 52131c8cc4fSThomas Huth - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$? 52231c8cc4fSThomas Huth - | 52331c8cc4fSThomas Huth if [ "$BUILD_RC" -eq 0 ] ; then 52431c8cc4fSThomas Huth mv pc-bios/s390-ccw/*.img pc-bios/ ; 52531c8cc4fSThomas Huth ${TEST_CMD} ; 52631c8cc4fSThomas Huth else 52731c8cc4fSThomas Huth $(exit $BUILD_RC); 52831c8cc4fSThomas Huth fi 52961ac3dccSPhilippe Mathieu-Daudé 53041e1f0e2SPhilippe Mathieu-Daudé - name: "[s390x] GCC check (KVM)" 53141e1f0e2SPhilippe Mathieu-Daudé arch: s390x 53241e1f0e2SPhilippe Mathieu-Daudé dist: bionic 53341e1f0e2SPhilippe Mathieu-Daudé addons: 53441e1f0e2SPhilippe Mathieu-Daudé apt_packages: 53541e1f0e2SPhilippe Mathieu-Daudé - libaio-dev 53641e1f0e2SPhilippe Mathieu-Daudé - libattr1-dev 53741e1f0e2SPhilippe Mathieu-Daudé - libbrlapi-dev 53841e1f0e2SPhilippe Mathieu-Daudé - libcap-ng-dev 53941e1f0e2SPhilippe Mathieu-Daudé - libgcrypt20-dev 54041e1f0e2SPhilippe Mathieu-Daudé - libgnutls28-dev 54141e1f0e2SPhilippe Mathieu-Daudé - libgtk-3-dev 54241e1f0e2SPhilippe Mathieu-Daudé - libiscsi-dev 54341e1f0e2SPhilippe Mathieu-Daudé - liblttng-ust-dev 54441e1f0e2SPhilippe Mathieu-Daudé - libncurses5-dev 54541e1f0e2SPhilippe Mathieu-Daudé - libnfs-dev 54641e1f0e2SPhilippe Mathieu-Daudé - libnss3-dev 54741e1f0e2SPhilippe Mathieu-Daudé - libpixman-1-dev 54841e1f0e2SPhilippe Mathieu-Daudé - libpng-dev 54941e1f0e2SPhilippe Mathieu-Daudé - librados-dev 55041e1f0e2SPhilippe Mathieu-Daudé - libsdl2-dev 55141e1f0e2SPhilippe Mathieu-Daudé - libseccomp-dev 55241e1f0e2SPhilippe Mathieu-Daudé - liburcu-dev 55341e1f0e2SPhilippe Mathieu-Daudé - libusb-1.0-0-dev 55441e1f0e2SPhilippe Mathieu-Daudé - libvdeplug-dev 55541e1f0e2SPhilippe Mathieu-Daudé - libvte-2.91-dev 55641e1f0e2SPhilippe Mathieu-Daudé # Tests dependencies 55741e1f0e2SPhilippe Mathieu-Daudé - genisoimage 55841e1f0e2SPhilippe Mathieu-Daudé env: 55941e1f0e2SPhilippe Mathieu-Daudé - TEST_CMD="make check-unit" 56041e1f0e2SPhilippe Mathieu-Daudé - CONFIG="--disable-containers --disable-tcg --enable-kvm --disable-tools" 56141e1f0e2SPhilippe Mathieu-Daudé script: 56241e1f0e2SPhilippe Mathieu-Daudé - ( cd ${SRC_DIR} ; git submodule update --init roms/SLOF ) 56341e1f0e2SPhilippe Mathieu-Daudé - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$? 56441e1f0e2SPhilippe Mathieu-Daudé - | 56541e1f0e2SPhilippe Mathieu-Daudé if [ "$BUILD_RC" -eq 0 ] ; then 56641e1f0e2SPhilippe Mathieu-Daudé mv pc-bios/s390-ccw/*.img pc-bios/ ; 56741e1f0e2SPhilippe Mathieu-Daudé ${TEST_CMD} ; 56841e1f0e2SPhilippe Mathieu-Daudé else 56941e1f0e2SPhilippe Mathieu-Daudé $(exit $BUILD_RC); 57041e1f0e2SPhilippe Mathieu-Daudé fi 57141e1f0e2SPhilippe Mathieu-Daudé 57261ac3dccSPhilippe Mathieu-Daudé # Release builds 57361ac3dccSPhilippe Mathieu-Daudé # The make-release script expect a QEMU version, so our tag must start with a 'v'. 57461ac3dccSPhilippe Mathieu-Daudé # This is the case when release candidate tags are created. 575097aebd8SPhilippe Mathieu-Daudé - name: "Release tarball" 576097aebd8SPhilippe Mathieu-Daudé if: tag IS present AND tag =~ /^v\d+\.\d+(\.\d+)?(-\S*)?$/ 57761ac3dccSPhilippe Mathieu-Daudé env: 57861ac3dccSPhilippe Mathieu-Daudé # We want to build from the release tarball 57961ac3dccSPhilippe Mathieu-Daudé - BUILD_DIR="release/build/dir" SRC_DIR="../../.." 58061ac3dccSPhilippe Mathieu-Daudé - BASE_CONFIG="--prefix=$PWD/dist" 58161ac3dccSPhilippe Mathieu-Daudé - CONFIG="--target-list=x86_64-softmmu,aarch64-softmmu,armeb-linux-user,ppc-linux-user" 5820a7c0ae0SAlex Bennée - TEST_CMD="make install -j${JOBS}" 58361ac3dccSPhilippe Mathieu-Daudé - QEMU_VERSION="${TRAVIS_TAG:1}" 58461ac3dccSPhilippe Mathieu-Daudé - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" 58561ac3dccSPhilippe Mathieu-Daudé script: 58661ac3dccSPhilippe Mathieu-Daudé - make -C ${SRC_DIR} qemu-${QEMU_VERSION}.tar.bz2 58761ac3dccSPhilippe Mathieu-Daudé - ls -l ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2 58861ac3dccSPhilippe Mathieu-Daudé - tar -xf ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2 && cd qemu-${QEMU_VERSION} 589bc4486fbSPaolo Bonzini - mkdir -p release-build && cd release-build 590bc4486fbSPaolo Bonzini - ../configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; } 59161ac3dccSPhilippe Mathieu-Daudé - make install 592