X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=.travis.yml;h=9008a796f022c810cf30714527e501ebd14d8d1b;hb=f82c5b17ea85d8f432069a4afd6cbdb65d9d8a66;hp=92f47ab25b94c36dbb7f4dfef625a3b69b483f0f;hpb=15552dbbee6f35b732759a5e584f1a37ac1ed2d2;p=mirror_qemu.git diff --git a/.travis.yml b/.travis.yml index 92f47ab25b..9008a796f0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,10 +4,11 @@ python: - "2.4" compiler: - gcc - - clang +cache: ccache addons: apt: packages: + # Build dependencies - libaio-dev - libattr1-dev - libbrlapi-dev @@ -16,6 +17,7 @@ addons: - libgtk-3-dev - libiscsi-dev - liblttng-ust-dev + - libnfs-dev - libncurses5-dev - libnss3-dev - libpixman-1-dev @@ -32,100 +34,164 @@ addons: - sparse - uuid-dev +# The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu +# to prevent IRC notifications from forks. This was created using: +# $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu" notifications: irc: channels: - - "irc.oftc.net#qemu" + - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM=" on_success: change on_failure: always env: global: - TEST_CMD="make check" - - EXTRA_CONFIG="" matrix: - # Group major targets together with their linux-user counterparts - - TARGETS=alpha-softmmu,alpha-linux-user - - TARGETS=arm-softmmu,arm-linux-user,armeb-linux-user,aarch64-softmmu,aarch64-linux-user - - TARGETS=cris-softmmu,cris-linux-user - - TARGETS=i386-softmmu,i386-linux-user,x86_64-softmmu,x86_64-linux-user - - TARGETS=m68k-softmmu,m68k-linux-user - - TARGETS=microblaze-softmmu,microblazeel-softmmu,microblaze-linux-user,microblazeel-linux-user - - TARGETS=mips-softmmu,mips64-softmmu,mips64el-softmmu,mipsel-softmmu - - TARGETS=mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,mipsn32-linux-user,mipsn32el-linux-user - - TARGETS=or32-softmmu,or32-linux-user - - TARGETS=ppc-softmmu,ppc64-softmmu,ppcemb-softmmu,ppc-linux-user,ppc64-linux-user,ppc64abi32-linux-user,ppc64le-linux-user - - TARGETS=s390x-softmmu,s390x-linux-user - - TARGETS=sh4-softmmu,sh4eb-softmmu,sh4-linux-user sh4eb-linux-user - - TARGETS=sparc-softmmu,sparc64-softmmu,sparc-linux-user,sparc32plus-linux-user,sparc64-linux-user - - TARGETS=unicore32-softmmu,unicore32-linux-user - # Group remaining softmmu only targets into one build - - TARGETS=lm32-softmmu,moxie-softmmu,tricore-softmmu,xtensa-softmmu,xtensaeb-softmmu + - CONFIG="" + - CONFIG="--enable-debug --enable-debug-tcg --enable-trace-backends=log" + - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb" + - CONFIG="--enable-modules" + - CONFIG="--with-coroutine=ucontext" + - CONFIG="--with-coroutine=sigaltstack" git: # we want to do this ourselves submodules: false before_install: + - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update ; fi + - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install libffi gettext glib pixman ; fi - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ - git submodule update --init --recursive before_script: - - ./configure --target-list=${TARGETS} --enable-debug-tcg ${EXTRA_CONFIG} + - ./configure ${CONFIG} script: - - make -j2 && ${TEST_CMD} + - make -j3 && ${TEST_CMD} matrix: - # We manually include a number of additional build for non-standard bits include: - # Debug related options - - env: TARGETS=i386-softmmu,x86_64-softmmu - EXTRA_CONFIG="--enable-debug" + # Test with CLang for compile portability + - env: CONFIG="" + compiler: clang + # gprof/gcov are GCC features + - env: CONFIG="--enable-gprof --enable-gcov --disable-pie" compiler: gcc - # We currently disable "make check" - - env: TARGETS=i386-softmmu,x86_64-softmmu - EXTRA_CONFIG="--enable-debug --enable-tcg-interpreter" + # We manually include builds which we disable "make check" for + - env: CONFIG="--enable-debug --enable-tcg-interpreter" TEST_CMD="" compiler: gcc - # Disable a few of the optional features - - env: TARGETS=i386-softmmu,x86_64-softmmu - EXTRA_CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb" - compiler: gcc - # Currently configure doesn't force --disable-pie - - env: TARGETS=i386-softmmu,x86_64-softmmu - EXTRA_CONFIG="--enable-gprof --enable-gcov --disable-pie" - compiler: gcc - # Sparse - - env: TARGETS=i386-softmmu,x86_64-softmmu - EXTRA_CONFIG="--enable-sparse" - compiler: gcc - # Modules - - env: TARGETS=i386-softmmu,x86_64-softmmu - EXTRA_CONFIG="--enable-modules" - compiler: gcc - # All the trace backends (apart from dtrace) - - env: TARGETS=i386-softmmu,x86_64-softmmu - EXTRA_CONFIG="--enable-trace-backends=log" - compiler: gcc - # We currently disable "make check" (until 41fc57e44ed regression fixed) - - env: TARGETS=i386-softmmu,x86_64-softmmu - EXTRA_CONFIG="--enable-trace-backends=simple" + - env: CONFIG="--enable-trace-backends=simple" TEST_CMD="" compiler: gcc - # We currently disable "make check" - - env: TARGETS=i386-softmmu,x86_64-softmmu - EXTRA_CONFIG="--enable-trace-backends=ftrace" + - env: CONFIG="--enable-trace-backends=ftrace" TEST_CMD="" compiler: gcc - # We currently disable "make check" - - env: TARGETS=i386-softmmu,x86_64-softmmu - EXTRA_CONFIG="--enable-trace-backends=ust" + - env: CONFIG="--enable-trace-backends=ust" TEST_CMD="" compiler: gcc - # All the co-routine backends (apart from windows) - # We currently disable "make check" - - env: TARGETS=i386-softmmu,x86_64-softmmu - EXTRA_CONFIG="--with-coroutine=gthread" + - env: CONFIG="--with-coroutine=gthread" TEST_CMD="" compiler: gcc - - env: TARGETS=i386-softmmu,x86_64-softmmu - EXTRA_CONFIG="--with-coroutine=ucontext" + - env: CONFIG="" + os: osx + compiler: clang + # Plain Trusty System Build + - env: CONFIG="--disable-linux-user" + sudo: required + addons: + dist: trusty compiler: gcc - - env: TARGETS=i386-softmmu,x86_64-softmmu - EXTRA_CONFIG="--with-coroutine=sigaltstack" + before_install: + - sudo apt-get update -qq + - sudo apt-get build-dep -qq qemu + - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ + - git submodule update --init --recursive + # Plain Trusty Linux User Build + - env: CONFIG="--disable-system" + sudo: required + addons: + dist: trusty compiler: gcc + before_install: + - sudo apt-get update -qq + - sudo apt-get build-dep -qq qemu + - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ + - git submodule update --init --recursive + # Trusty System build with latest stable clang + - sudo: required + addons: + dist: trusty + language: generic + compiler: none + env: + - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9 + - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9" + before_install: + - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add - + - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main' + - sudo apt-get update -qq + - sudo apt-get install -qq -y clang-3.9 + - sudo apt-get build-dep -qq qemu + - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ + - git submodule update --init --recursive + before_script: + - ./configure ${CONFIG} || cat config.log + # Trusty Linux User build with latest stable clang + - sudo: required + addons: + dist: trusty + language: generic + compiler: none + env: + - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9 + - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9" + before_install: + - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add - + - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main' + - sudo apt-get update -qq + - sudo apt-get install -qq -y clang-3.9 + - sudo apt-get build-dep -qq qemu + - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ + - git submodule update --init --recursive + before_script: + - ./configure ${CONFIG} || cat config.log + # Using newer GCC with sanitizers + - addons: + apt: + sources: + # PPAs for newer toolchains + - ubuntu-toolchain-r-test + packages: + # Extra toolchains + - gcc-5 + - g++-5 + # Build dependencies + - libaio-dev + - libattr1-dev + - libbrlapi-dev + - libcap-ng-dev + - libgnutls-dev + - libgtk-3-dev + - libiscsi-dev + - liblttng-ust-dev + - libnfs-dev + - libncurses5-dev + - libnss3-dev + - libpixman-1-dev + - libpng12-dev + - librados-dev + - libsdl1.2-dev + - libseccomp-dev + - libspice-protocol-dev + - libspice-server-dev + - libssh2-1-dev + - liburcu-dev + - libusb-1.0-0-dev + - libvte-2.90-dev + - sparse + - uuid-dev + language: generic + compiler: none + env: + - COMPILER_NAME=gcc CXX=g++-5 CC=gcc-5 + - CONFIG="--cc=gcc-5 --cxx=g++-5 --disable-pie --disable-linux-user --with-coroutine=gthread" + - TEST_CMD="" + before_script: + - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || cat config.log