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