f8309de9b7
These builds are reaching regular timeouts and probably don't need to be so widely exercised. ftrace and ust in particular are used in conjunction with whole system profiling which makes most sense with KVM setups, hence the native softmmu target. We also expand simple to cover the multiple log backends while restricting its scope to user-mode testing only. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
156 lines
4.9 KiB
YAML
156 lines
4.9 KiB
YAML
# The current Travis default is a container based 14.04 Trust on EC2
|
|
# Additional builds with specific requirements for a full VM need to
|
|
# be added as additional matrix: entries later on
|
|
sudo: false
|
|
dist: trusty
|
|
language: c
|
|
python:
|
|
- "2.6"
|
|
compiler:
|
|
- gcc
|
|
cache: ccache
|
|
addons:
|
|
apt:
|
|
packages:
|
|
# Build dependencies
|
|
- libaio-dev
|
|
- libattr1-dev
|
|
- libbrlapi-dev
|
|
- libcap-ng-dev
|
|
- libgcc-4.8-dev
|
|
- libgnutls-dev
|
|
- libgtk-3-dev
|
|
- libiscsi-dev
|
|
- liblttng-ust-dev
|
|
- libncurses5-dev
|
|
- libnfs-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
|
|
|
|
# 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:
|
|
- secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
|
|
on_success: change
|
|
on_failure: always
|
|
env:
|
|
global:
|
|
- TEST_CMD="make check"
|
|
- MAKEFLAGS="-j3"
|
|
matrix:
|
|
- CONFIG="--disable-system"
|
|
- CONFIG="--disable-user"
|
|
- CONFIG="--enable-debug --enable-debug-tcg"
|
|
- CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb --disable-user"
|
|
- CONFIG="--enable-modules --disable-linux-user"
|
|
- CONFIG="--with-coroutine=ucontext --disable-linux-user"
|
|
- CONFIG="--with-coroutine=sigaltstack --disable-linux-user"
|
|
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 ${CONFIG} || { cat config.log && exit 1; }
|
|
script:
|
|
- make ${MAKEFLAGS} && ${TEST_CMD}
|
|
matrix:
|
|
include:
|
|
# Test with Clang for compile portability (Travis uses clang-5.0)
|
|
- env: CONFIG="--disable-system"
|
|
compiler: clang
|
|
- env: CONFIG="--disable-user"
|
|
compiler: clang
|
|
# gprof/gcov are GCC features
|
|
- 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"
|
|
compiler: gcc
|
|
# We manually include builds which we disable "make check" for
|
|
- env: CONFIG="--enable-debug --enable-tcg-interpreter"
|
|
TEST_CMD=""
|
|
compiler: gcc
|
|
# We don't need to exercise every backend with every front-end
|
|
- env: CONFIG="--enable-trace-backends=log,simple,syslog --disable-system"
|
|
TEST_CMD=""
|
|
compiler: gcc
|
|
- env: CONFIG="--enable-trace-backends=ftrace --target-list=x86_64-softmmu"
|
|
TEST_CMD=""
|
|
compiler: gcc
|
|
- env: CONFIG="--enable-trace-backends=ust --target-list=x86_64-softmmu"
|
|
TEST_CMD=""
|
|
compiler: gcc
|
|
- env: CONFIG="--disable-tcg"
|
|
TEST_CMD=""
|
|
compiler: gcc
|
|
- env: CONFIG=""
|
|
os: osx
|
|
compiler: clang
|
|
# Python builds
|
|
- env: CONFIG="--target-list=x86_64-softmmu"
|
|
python:
|
|
- "3.0"
|
|
- env: CONFIG="--target-list=x86_64-softmmu"
|
|
python:
|
|
- "3.6"
|
|
# Using newer GCC with sanitizers
|
|
- addons:
|
|
apt:
|
|
update: true
|
|
sources:
|
|
# PPAs for newer toolchains
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
# Extra toolchains
|
|
- gcc-7
|
|
- g++-7
|
|
# 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++-7 CC=gcc-7
|
|
- CONFIG="--cc=gcc-7 --cxx=g++-7 --disable-pie --disable-linux-user"
|
|
- TEST_CMD=""
|
|
before_script:
|
|
- ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || { cat config.log && exit 1; }
|