blob: 27a2d9cfb3429d79959b3647962af6c924c1603a [file] [log] [blame]
Alex Bennée692d1622016-01-14 19:21:16 +00001sudo: false
Alex Bennéefe863ab2013-11-06 10:43:37 +00002language: c
3python:
4 - "2.4"
5compiler:
6 - gcc
Alex Bennée4c33d422016-01-31 17:29:46 +00007cache: ccache
Alex Bennée692d1622016-01-14 19:21:16 +00008addons:
9 apt:
10 packages:
Alex Bennée32265282016-09-30 22:31:03 +010011 # Build dependencies
Alex Bennée692d1622016-01-14 19:21:16 +000012 - 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
Stefan Hajnoczi4ca94082016-03-31 13:26:05 +010020 - libnfs-dev
Alex Bennée692d1622016-01-14 19:21:16 +000021 - 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
Pranith Kumarcb4c2532016-06-27 14:13:22 -040037# 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"
Alex Bennée39d16d22014-03-12 14:13:53 +000040notifications:
41 irc:
42 channels:
Pranith Kumarcb4c2532016-06-27 14:13:22 -040043 - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
Alex Bennée39d16d22014-03-12 14:13:53 +000044 on_success: change
45 on_failure: always
Alex Bennéefe863ab2013-11-06 10:43:37 +000046env:
47 global:
Alex Bennée01337fb2016-01-28 10:21:15 +000048 - TEST_CMD="make check"
Alex Bennéefe863ab2013-11-06 10:43:37 +000049 matrix:
Alex Bennée6c933292016-03-15 16:12:58 +000050 - 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"
Alex Bennéecb021cf2014-09-24 11:13:55 +010056git:
57 # we want to do this ourselves
58 submodules: false
Alex Bennéefe863ab2013-11-06 10:43:37 +000059before_install:
Alex Bennée1d002032016-03-21 19:54:57 +000060 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update ; fi
61 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install libffi gettext glib pixman ; fi
Alex Bennéecb021cf2014-09-24 11:13:55 +010062 - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
Alex Bennéefe863ab2013-11-06 10:43:37 +000063 - git submodule update --init --recursive
Alex Bennéeeebf2942014-09-24 11:13:54 +010064before_script:
Alex Bennée6c933292016-03-15 16:12:58 +000065 - ./configure ${CONFIG}
Alex Bennéeeebf2942014-09-24 11:13:54 +010066script:
Alex Bennée74362682016-03-22 12:22:27 +000067 - make -j3 && ${TEST_CMD}
Alex Bennéefe863ab2013-11-06 10:43:37 +000068matrix:
Alex Bennéefe863ab2013-11-06 10:43:37 +000069 include:
Daniel P. Berranged9a6b012016-10-27 15:23:45 +020070 # Test with CLang for compile portability
71 - env: CONFIG=""
72 compiler: clang
Alex Bennée6c933292016-03-15 16:12:58 +000073 # 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"
Alex Bennée01337fb2016-01-28 10:21:15 +000078 TEST_CMD=""
Alex Bennéefe863ab2013-11-06 10:43:37 +000079 compiler: gcc
Alex Bennée6c933292016-03-15 16:12:58 +000080 - env: CONFIG="--enable-trace-backends=simple"
Alex Bennée01337fb2016-01-28 10:21:15 +000081 TEST_CMD=""
Alex Bennéefe863ab2013-11-06 10:43:37 +000082 compiler: gcc
Alex Bennée6c933292016-03-15 16:12:58 +000083 - env: CONFIG="--enable-trace-backends=ftrace"
Alex Bennée01337fb2016-01-28 10:21:15 +000084 TEST_CMD=""
Alex Bennéefe863ab2013-11-06 10:43:37 +000085 compiler: gcc
Alex Bennée6c933292016-03-15 16:12:58 +000086 - env: CONFIG="--enable-trace-backends=ust"
Alex Bennée01337fb2016-01-28 10:21:15 +000087 TEST_CMD=""
Alex Bennée86c3b202014-03-12 14:13:51 +000088 compiler: gcc
Alex Bennée1d002032016-03-21 19:54:57 +000089 - env: CONFIG=""
90 os: osx
91 compiler: clang
Alex Bennée78a22af2017-01-20 17:11:49 +000092 # Plain Trusty System Build
93 - env: CONFIG="--disable-linux-user"
Alex Bennée4adb05d2016-03-23 12:49:43 +000094 sudo: required
95 addons:
96 dist: trusty
97 compiler: gcc
98 before_install:
99 - sudo apt-get update -qq
100 - sudo apt-get build-dep -qq qemu
101 - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
102 - git submodule update --init --recursive
Alex Bennée78a22af2017-01-20 17:11:49 +0000103 # Plain Trusty Linux User Build
104 - env: CONFIG="--disable-system"
105 sudo: required
106 addons:
107 dist: trusty
108 compiler: gcc
109 before_install:
110 - sudo apt-get update -qq
111 - sudo apt-get build-dep -qq qemu
112 - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
113 - git submodule update --init --recursive
114 # Trusty System build with latest stable clang
Alex Bennéefed53642017-01-20 17:00:51 +0000115 - sudo: required
Alex Bennéeae1a7722016-11-07 14:41:09 +0000116 addons:
117 dist: trusty
118 language: generic
119 compiler: none
120 env:
121 - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
Alex Bennée78a22af2017-01-20 17:11:49 +0000122 - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9"
123 before_install:
124 - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
125 - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
126 - sudo apt-get update -qq
127 - sudo apt-get install -qq -y clang-3.9
128 - sudo apt-get build-dep -qq qemu
129 - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
130 - git submodule update --init --recursive
131 before_script:
132 - ./configure ${CONFIG} || cat config.log
133 # Trusty Linux User build with latest stable clang
134 - sudo: required
135 addons:
136 dist: trusty
137 language: generic
138 compiler: none
139 env:
140 - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
141 - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9"
Alex Bennéeae1a7722016-11-07 14:41:09 +0000142 before_install:
143 - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
144 - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
145 - sudo apt-get update -qq
146 - sudo apt-get install -qq -y clang-3.9
147 - sudo apt-get build-dep -qq qemu
148 - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
149 - git submodule update --init --recursive
150 before_script:
151 - ./configure ${CONFIG} || cat config.log
Alex Bennée32265282016-09-30 22:31:03 +0100152 # Using newer GCC with sanitizers
153 - addons:
154 apt:
155 sources:
156 # PPAs for newer toolchains
157 - ubuntu-toolchain-r-test
158 packages:
159 # Extra toolchains
160 - gcc-5
161 - g++-5
162 # Build dependencies
163 - libaio-dev
164 - libattr1-dev
165 - libbrlapi-dev
166 - libcap-ng-dev
167 - libgnutls-dev
168 - libgtk-3-dev
169 - libiscsi-dev
170 - liblttng-ust-dev
171 - libnfs-dev
172 - libncurses5-dev
173 - libnss3-dev
174 - libpixman-1-dev
175 - libpng12-dev
176 - librados-dev
177 - libsdl1.2-dev
178 - libseccomp-dev
179 - libspice-protocol-dev
180 - libspice-server-dev
181 - libssh2-1-dev
182 - liburcu-dev
183 - libusb-1.0-0-dev
184 - libvte-2.90-dev
185 - sparse
186 - uuid-dev
187 language: generic
188 compiler: none
189 env:
190 - COMPILER_NAME=gcc CXX=g++-5 CC=gcc-5
Daniel P. Berrange33c53c52017-04-28 13:24:44 +0100191 - CONFIG="--cc=gcc-5 --cxx=g++-5 --disable-pie --disable-linux-user"
Alex Bennée32265282016-09-30 22:31:03 +0100192 - TEST_CMD=""
193 before_script:
194 - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || cat config.log