]> git.proxmox.com Git - mirror_qemu.git/blob - .travis.yml
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
[mirror_qemu.git] / .travis.yml
1 sudo: false
2 language: c
3 python:
4 - "2.4"
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 - libgnutls-dev
17 - libgtk-3-dev
18 - libiscsi-dev
19 - liblttng-ust-dev
20 - libnfs-dev
21 - libncurses5-dev
22 - libnss3-dev
23 - libpixman-1-dev
24 - libpng12-dev
25 - librados-dev
26 - libsdl1.2-dev
27 - libseccomp-dev
28 - libspice-protocol-dev
29 - libspice-server-dev
30 - libssh2-1-dev
31 - liburcu-dev
32 - libusb-1.0-0-dev
33 - libvte-2.90-dev
34 - sparse
35 - uuid-dev
36
37 # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu
38 # to prevent IRC notifications from forks. This was created using:
39 # $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu"
40 notifications:
41 irc:
42 channels:
43 - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
44 on_success: change
45 on_failure: always
46 env:
47 global:
48 - TEST_CMD="make check"
49 matrix:
50 - CONFIG=""
51 - CONFIG="--enable-debug --enable-debug-tcg --enable-trace-backends=log"
52 - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb"
53 - CONFIG="--enable-modules"
54 - CONFIG="--with-coroutine=ucontext"
55 - CONFIG="--with-coroutine=sigaltstack"
56 git:
57 # we want to do this ourselves
58 submodules: false
59 before_install:
60 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update ; fi
61 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install libffi gettext glib pixman ; fi
62 - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
63 - git submodule update --init --recursive
64 before_script:
65 - ./configure ${CONFIG}
66 script:
67 - make -j3 && ${TEST_CMD}
68 matrix:
69 include:
70 # Test with CLang for compile portability
71 - env: CONFIG=""
72 compiler: clang
73 # gprof/gcov are GCC features
74 - env: CONFIG="--enable-gprof --enable-gcov --disable-pie"
75 compiler: gcc
76 # We manually include builds which we disable "make check" for
77 - env: CONFIG="--enable-debug --enable-tcg-interpreter"
78 TEST_CMD=""
79 compiler: gcc
80 - env: CONFIG="--enable-trace-backends=simple"
81 TEST_CMD=""
82 compiler: gcc
83 - env: CONFIG="--enable-trace-backends=ftrace"
84 TEST_CMD=""
85 compiler: gcc
86 - env: CONFIG="--enable-trace-backends=ust"
87 TEST_CMD=""
88 compiler: gcc
89 - env: CONFIG="--with-coroutine=gthread"
90 TEST_CMD=""
91 compiler: gcc
92 - env: CONFIG=""
93 os: osx
94 compiler: clang
95 # Plain Trusty System Build
96 - env: CONFIG="--disable-linux-user"
97 sudo: required
98 addons:
99 dist: trusty
100 compiler: gcc
101 before_install:
102 - sudo apt-get update -qq
103 - sudo apt-get build-dep -qq qemu
104 - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
105 - git submodule update --init --recursive
106 # Plain Trusty Linux User Build
107 - env: CONFIG="--disable-system"
108 sudo: required
109 addons:
110 dist: trusty
111 compiler: gcc
112 before_install:
113 - sudo apt-get update -qq
114 - sudo apt-get build-dep -qq qemu
115 - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
116 - git submodule update --init --recursive
117 # Trusty System build with latest stable clang
118 - sudo: required
119 addons:
120 dist: trusty
121 language: generic
122 compiler: none
123 env:
124 - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
125 - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9"
126 before_install:
127 - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
128 - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
129 - sudo apt-get update -qq
130 - sudo apt-get install -qq -y clang-3.9
131 - sudo apt-get build-dep -qq qemu
132 - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
133 - git submodule update --init --recursive
134 before_script:
135 - ./configure ${CONFIG} || cat config.log
136 # Trusty Linux User build with latest stable clang
137 - sudo: required
138 addons:
139 dist: trusty
140 language: generic
141 compiler: none
142 env:
143 - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
144 - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9"
145 before_install:
146 - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
147 - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
148 - sudo apt-get update -qq
149 - sudo apt-get install -qq -y clang-3.9
150 - sudo apt-get build-dep -qq qemu
151 - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
152 - git submodule update --init --recursive
153 before_script:
154 - ./configure ${CONFIG} || cat config.log
155 # Using newer GCC with sanitizers
156 - addons:
157 apt:
158 sources:
159 # PPAs for newer toolchains
160 - ubuntu-toolchain-r-test
161 packages:
162 # Extra toolchains
163 - gcc-5
164 - g++-5
165 # Build dependencies
166 - libaio-dev
167 - libattr1-dev
168 - libbrlapi-dev
169 - libcap-ng-dev
170 - libgnutls-dev
171 - libgtk-3-dev
172 - libiscsi-dev
173 - liblttng-ust-dev
174 - libnfs-dev
175 - libncurses5-dev
176 - libnss3-dev
177 - libpixman-1-dev
178 - libpng12-dev
179 - librados-dev
180 - libsdl1.2-dev
181 - libseccomp-dev
182 - libspice-protocol-dev
183 - libspice-server-dev
184 - libssh2-1-dev
185 - liburcu-dev
186 - libusb-1.0-0-dev
187 - libvte-2.90-dev
188 - sparse
189 - uuid-dev
190 language: generic
191 compiler: none
192 env:
193 - COMPILER_NAME=gcc CXX=g++-5 CC=gcc-5
194 - CONFIG="--cc=gcc-5 --cxx=g++-5 --disable-pie --disable-linux-user --with-coroutine=gthread"
195 - TEST_CMD=""
196 before_script:
197 - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || cat config.log