]> git.proxmox.com Git - mirror_qemu.git/blob - .travis.yml
.travis.yml: rationalise clang testing
[mirror_qemu.git] / .travis.yml
1 sudo: false
2 language: c
3 python:
4 - "2.6"
5 compiler:
6 - gcc
7 cache: ccache
8 addons:
9 apt:
10 packages:
11 # Build dependencies
12 - libaio-dev
13 - libattr1-dev
14 - libbrlapi-dev
15 - libcap-ng-dev
16 - libgcc-4.8-dev
17 - libgnutls-dev
18 - libgtk-3-dev
19 - libiscsi-dev
20 - liblttng-ust-dev
21 - libncurses5-dev
22 - libnfs-dev
23 - libnss3-dev
24 - libpixman-1-dev
25 - libpng12-dev
26 - librados-dev
27 - libsdl1.2-dev
28 - libseccomp-dev
29 - libspice-protocol-dev
30 - libspice-server-dev
31 - libssh2-1-dev
32 - liburcu-dev
33 - libusb-1.0-0-dev
34 - libvte-2.90-dev
35 - sparse
36 - uuid-dev
37
38 # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu
39 # to prevent IRC notifications from forks. This was created using:
40 # $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu"
41 notifications:
42 irc:
43 channels:
44 - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
45 on_success: change
46 on_failure: always
47 env:
48 global:
49 - TEST_CMD="make check"
50 - MAKEFLAGS="-j3"
51 matrix:
52 - CONFIG="--disable-system"
53 - CONFIG="--disable-user"
54 - CONFIG="--enable-debug --enable-debug-tcg"
55 - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb --disable-user"
56 - CONFIG="--enable-modules --disable-linux-user"
57 - CONFIG="--with-coroutine=ucontext --disable-linux-user"
58 - CONFIG="--with-coroutine=sigaltstack --disable-linux-user"
59 git:
60 # we want to do this ourselves
61 submodules: false
62 before_install:
63 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update ; fi
64 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install libffi gettext glib pixman ; fi
65 - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
66 - git submodule update --init --recursive
67 before_script:
68 - ./configure ${CONFIG}
69 script:
70 - make ${MAKEFLAGS} && ${TEST_CMD}
71 matrix:
72 include:
73 # Test with Clang for compile portability (Travis uses clang-5.0)
74 - env: CONFIG="--disable-system"
75 compiler: clang
76 - env: CONFIG="--disable-user"
77 compiler: clang
78 # gprof/gcov are GCC features
79 - env: CONFIG="--enable-gprof --enable-gcov --disable-pie --disable-linux-user"
80 compiler: gcc
81 # We manually include builds which we disable "make check" for
82 - env: CONFIG="--enable-debug --enable-tcg-interpreter"
83 TEST_CMD=""
84 compiler: gcc
85 - env: CONFIG="--enable-trace-backends=simple"
86 TEST_CMD=""
87 compiler: gcc
88 - env: CONFIG="--enable-trace-backends=ftrace"
89 TEST_CMD=""
90 compiler: gcc
91 - env: CONFIG="--enable-trace-backends=ust"
92 TEST_CMD=""
93 compiler: gcc
94 - env: CONFIG="--disable-tcg"
95 TEST_CMD=""
96 compiler: gcc
97 - env: CONFIG=""
98 os: osx
99 compiler: clang
100 # Python builds
101 - env: CONFIG="--target-list=x86_64-softmmu"
102 python:
103 - "3.0"
104 - env: CONFIG="--target-list=x86_64-softmmu"
105 python:
106 - "3.6"
107 # Using newer GCC with sanitizers
108 - addons:
109 apt:
110 sources:
111 # PPAs for newer toolchains
112 - ubuntu-toolchain-r-test
113 packages:
114 # Extra toolchains
115 - gcc-5
116 - g++-5
117 # Build dependencies
118 - libaio-dev
119 - libattr1-dev
120 - libbrlapi-dev
121 - libcap-ng-dev
122 - libgnutls-dev
123 - libgtk-3-dev
124 - libiscsi-dev
125 - liblttng-ust-dev
126 - libnfs-dev
127 - libncurses5-dev
128 - libnss3-dev
129 - libpixman-1-dev
130 - libpng12-dev
131 - librados-dev
132 - libsdl1.2-dev
133 - libseccomp-dev
134 - libspice-protocol-dev
135 - libspice-server-dev
136 - libssh2-1-dev
137 - liburcu-dev
138 - libusb-1.0-0-dev
139 - libvte-2.90-dev
140 - sparse
141 - uuid-dev
142 language: generic
143 compiler: none
144 env:
145 - COMPILER_NAME=gcc CXX=g++-5 CC=gcc-5
146 - CONFIG="--cc=gcc-5 --cxx=g++-5 --disable-pie --disable-linux-user"
147 - TEST_CMD=""
148 before_script:
149 - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || cat config.log