xref: /openbmc/qemu/.travis.yml (revision e2576f9b)
1197be697SDaniel P. Berrangé
2044722d5SAlex Bennéedist: trusty
3fe863ab9SAlex Bennéelanguage: c
4fe863ab9SAlex Bennéepython:
58e73a3c5SDaniel P. Berrange  - "2.6"
6fe863ab9SAlex Bennéecompiler:
7fe863ab9SAlex Bennée  - gcc
84c33d42dSAlex Bennéecache: ccache
9197be697SDaniel P. Berrangé
10197be697SDaniel P. Berrangé
11692d162cSAlex Bennéeaddons:
12692d162cSAlex Bennée  apt:
13692d162cSAlex Bennée    packages:
1432265288SAlex Bennée      # Build dependencies
15692d162cSAlex Bennée      - libaio-dev
16692d162cSAlex Bennée      - libattr1-dev
17692d162cSAlex Bennée      - libbrlapi-dev
18692d162cSAlex Bennée      - libcap-ng-dev
197524a39dSPhilippe Mathieu-Daudé      - libgcc-4.8-dev
20692d162cSAlex Bennée      - libgnutls-dev
21692d162cSAlex Bennée      - libgtk-3-dev
22692d162cSAlex Bennée      - libiscsi-dev
23692d162cSAlex Bennée      - liblttng-ust-dev
24692d162cSAlex Bennée      - libncurses5-dev
25d83414e1SMarc-André Lureau      - libnfs-dev
26692d162cSAlex Bennée      - libnss3-dev
27692d162cSAlex Bennée      - libpixman-1-dev
28692d162cSAlex Bennée      - libpng12-dev
29692d162cSAlex Bennée      - librados-dev
30692d162cSAlex Bennée      - libsdl1.2-dev
31692d162cSAlex Bennée      - libseccomp-dev
32692d162cSAlex Bennée      - libspice-protocol-dev
33692d162cSAlex Bennée      - libspice-server-dev
34692d162cSAlex Bennée      - libssh2-1-dev
35692d162cSAlex Bennée      - liburcu-dev
36692d162cSAlex Bennée      - libusb-1.0-0-dev
37692d162cSAlex Bennée      - libvte-2.90-dev
38692d162cSAlex Bennée      - sparse
39692d162cSAlex Bennée      - uuid-dev
400708e647SAlex Bennée      - gcovr
4191fa7dd1SAlex Bennée  homebrew:
4291fa7dd1SAlex Bennée    packages:
4391fa7dd1SAlex Bennée      - libffi
4491fa7dd1SAlex Bennée      - gettext
4591fa7dd1SAlex Bennée      - glib
4691fa7dd1SAlex Bennée      - pixman
47692d162cSAlex Bennée
48197be697SDaniel P. Berrangé
49cb4c2536SPranith Kumar# The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu
50cb4c2536SPranith Kumar# to prevent IRC notifications from forks. This was created using:
51cb4c2536SPranith Kumar# $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu"
5239d16d29SAlex Bennéenotifications:
5339d16d29SAlex Bennée  irc:
5439d16d29SAlex Bennée    channels:
55cb4c2536SPranith Kumar      - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
5639d16d29SAlex Bennée    on_success: change
5739d16d29SAlex Bennée    on_failure: always
58197be697SDaniel P. Berrangé
59197be697SDaniel P. Berrangé
60fe863ab9SAlex Bennéeenv:
61fe863ab9SAlex Bennée  global:
62ebf2ff65SPhilippe Mathieu-Daudé    - SRC_DIR="."
63ebf2ff65SPhilippe Mathieu-Daudé    - BUILD_DIR="."
64*e2576f9bSDaniel P. Berrangé    - TEST_CMD="make check -j3 V=1"
65197be697SDaniel P. Berrangé
66197be697SDaniel P. Berrangé
67cb021cfeSAlex Bennéegit:
68cb021cfeSAlex Bennée  # we want to do this ourselves
69cb021cfeSAlex Bennée  submodules: false
70197be697SDaniel P. Berrangé
71197be697SDaniel P. Berrangé
72eebf2940SAlex Bennéebefore_script:
73ebf2ff65SPhilippe Mathieu-Daudé  - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
74ebf2ff65SPhilippe Mathieu-Daudé  - ${SRC_DIR}/configure ${CONFIG} || { cat config.log && exit 1; }
75eebf2940SAlex Bennéescript:
769b29d049SDaniel P. Berrangé  - make -j3 && ${TEST_CMD}
77197be697SDaniel P. Berrangé
78197be697SDaniel P. Berrangé
79fe863ab9SAlex Bennéematrix:
80fe863ab9SAlex Bennée  include:
81c21d7efcSDaniel P. Berrangé    - env:
82c21d7efcSDaniel P. Berrangé        - CONFIG="--disable-system"
833e094234SDaniel P. Berrangé
843e094234SDaniel P. Berrangé
85c21d7efcSDaniel P. Berrangé    - env:
86c21d7efcSDaniel P. Berrangé        - CONFIG="--disable-user"
873e094234SDaniel P. Berrangé
883e094234SDaniel P. Berrangé
89c21d7efcSDaniel P. Berrangé    - env:
90c21d7efcSDaniel P. Berrangé        - CONFIG="--enable-debug --enable-debug-tcg"
913e094234SDaniel P. Berrangé
923e094234SDaniel P. Berrangé
93c21d7efcSDaniel P. Berrangé    - env:
94c21d7efcSDaniel P. Berrangé        - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb --disable-user"
953e094234SDaniel P. Berrangé
963e094234SDaniel P. Berrangé
97c21d7efcSDaniel P. Berrangé    - env:
98c21d7efcSDaniel P. Berrangé        - CONFIG="--enable-modules --disable-linux-user"
993e094234SDaniel P. Berrangé
1003e094234SDaniel P. Berrangé
101c21d7efcSDaniel P. Berrangé    - env:
102c21d7efcSDaniel P. Berrangé        - CONFIG="--with-coroutine=ucontext --disable-linux-user"
1033e094234SDaniel P. Berrangé
1043e094234SDaniel P. Berrangé
105c21d7efcSDaniel P. Berrangé    - env:
106c21d7efcSDaniel P. Berrangé        - CONFIG="--with-coroutine=sigaltstack --disable-linux-user"
1073e094234SDaniel P. Berrangé
1083e094234SDaniel P. Berrangé
109ebf2ff65SPhilippe Mathieu-Daudé    # Test out-of-tree builds
110c21d7efcSDaniel P. Berrangé    - env:
111c21d7efcSDaniel P. Berrangé        - CONFIG="--enable-debug --enable-debug-tcg"
112c21d7efcSDaniel P. Berrangé        - BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.."
113197be697SDaniel P. Berrangé
114197be697SDaniel P. Berrangé
115ae6d692dSAlex Bennée    # Test with Clang for compile portability (Travis uses clang-5.0)
116c21d7efcSDaniel P. Berrangé    - env:
117c21d7efcSDaniel P. Berrangé        - CONFIG="--disable-system"
118ae6d692dSAlex Bennée      compiler: clang
119197be697SDaniel P. Berrangé
120197be697SDaniel P. Berrangé
121c21d7efcSDaniel P. Berrangé    - env:
122c21d7efcSDaniel P. Berrangé        - CONFIG="--disable-user"
123d9a6b013SDaniel P. Berrange      compiler: clang
124197be697SDaniel P. Berrangé
125197be697SDaniel P. Berrangé
1266c933291SAlex Bennée    # gprof/gcov are GCC features
127c21d7efcSDaniel P. Berrangé    - env:
128c21d7efcSDaniel P. Berrangé        - 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"
1290708e647SAlex Bennée      after_success:
1300708e647SAlex Bennée        - ${SRC_DIR}/scripts/travis/coverage-summary.sh
1316c933291SAlex Bennée      compiler: gcc
132197be697SDaniel P. Berrangé
133197be697SDaniel P. Berrangé
1346c933291SAlex Bennée    # We manually include builds which we disable "make check" for
135c21d7efcSDaniel P. Berrangé    - env:
136c21d7efcSDaniel P. Berrangé        - CONFIG="--enable-debug --enable-tcg-interpreter"
137c21d7efcSDaniel P. Berrangé        - TEST_CMD=""
138fe863ab9SAlex Bennée      compiler: gcc
139197be697SDaniel P. Berrangé
140197be697SDaniel P. Berrangé
141f8309de9SAlex Bennée    # We don't need to exercise every backend with every front-end
142c21d7efcSDaniel P. Berrangé    - env:
143c21d7efcSDaniel P. Berrangé        - CONFIG="--enable-trace-backends=log,simple,syslog --disable-system"
144c21d7efcSDaniel P. Berrangé        - TEST_CMD=""
145fe863ab9SAlex Bennée      compiler: gcc
146197be697SDaniel P. Berrangé
147197be697SDaniel P. Berrangé
148c21d7efcSDaniel P. Berrangé    - env:
149c21d7efcSDaniel P. Berrangé        - CONFIG="--enable-trace-backends=ftrace --target-list=x86_64-softmmu"
150c21d7efcSDaniel P. Berrangé        - TEST_CMD=""
151fe863ab9SAlex Bennée      compiler: gcc
152197be697SDaniel P. Berrangé
153197be697SDaniel P. Berrangé
154c21d7efcSDaniel P. Berrangé    - env:
155c21d7efcSDaniel P. Berrangé        - CONFIG="--enable-trace-backends=ust --target-list=x86_64-softmmu"
156c21d7efcSDaniel P. Berrangé        - TEST_CMD=""
15786c3b20aSAlex Bennée      compiler: gcc
158197be697SDaniel P. Berrangé
159197be697SDaniel P. Berrangé
160c21d7efcSDaniel P. Berrangé    - env:
161c21d7efcSDaniel P. Berrangé        - CONFIG="--disable-tcg"
162c21d7efcSDaniel P. Berrangé        - TEST_CMD=""
16397837314SPaolo Bonzini      compiler: gcc
164197be697SDaniel P. Berrangé
165197be697SDaniel P. Berrangé
166adcf9683SAlex Bennée    # MacOSX builds
167c21d7efcSDaniel P. Berrangé    - env:
168c21d7efcSDaniel P. Berrangé        - CONFIG="--target-list=aarch64-softmmu,arm-softmmu,i386-softmmu,mips-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
1691d002037SAlex Bennée      os: osx
170adcf9683SAlex Bennée      osx_image: xcode9.4
171adcf9683SAlex Bennée      compiler: clang
172197be697SDaniel P. Berrangé
173197be697SDaniel P. Berrangé
174c21d7efcSDaniel P. Berrangé    - env:
175c21d7efcSDaniel P. Berrangé        - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu"
176adcf9683SAlex Bennée      os: osx
177adcf9683SAlex Bennée      osx_image: xcode10
1781d002037SAlex Bennée      compiler: clang
179197be697SDaniel P. Berrangé
180197be697SDaniel P. Berrangé
181ae6d692dSAlex Bennée    # Python builds
182c21d7efcSDaniel P. Berrangé    - env:
183c21d7efcSDaniel P. Berrangé        - CONFIG="--target-list=x86_64-softmmu"
1848e73a3c5SDaniel P. Berrange      python:
1858e73a3c5SDaniel P. Berrange        - "3.0"
186197be697SDaniel P. Berrangé
187197be697SDaniel P. Berrangé
188c21d7efcSDaniel P. Berrangé    - env:
189c21d7efcSDaniel P. Berrangé        - CONFIG="--target-list=x86_64-softmmu"
1908e73a3c5SDaniel P. Berrange      python:
1918e73a3c5SDaniel P. Berrange        - "3.6"
192197be697SDaniel P. Berrangé
193197be697SDaniel P. Berrangé
194aa983ff6SCleber Rosa    # Acceptance (Functional) tests
195c21d7efcSDaniel P. Berrangé    - env:
196c21d7efcSDaniel P. Berrangé        - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu"
197c21d7efcSDaniel P. Berrangé        - TEST_CMD="make AVOCADO_SHOW=app check-acceptance"
198aa983ff6SCleber Rosa      addons:
199aa983ff6SCleber Rosa        apt:
200aa983ff6SCleber Rosa          packages:
201aa983ff6SCleber Rosa            - python3-pip
202aa983ff6SCleber Rosa            - python3.4-venv
203197be697SDaniel P. Berrangé
204197be697SDaniel P. Berrangé
20532265288SAlex Bennée    # Using newer GCC with sanitizers
20632265288SAlex Bennée    - addons:
20732265288SAlex Bennée        apt:
208ac07ffc6SAlex Bennée          update: true
20932265288SAlex Bennée          sources:
21032265288SAlex Bennée            # PPAs for newer toolchains
21132265288SAlex Bennée            - ubuntu-toolchain-r-test
21232265288SAlex Bennée          packages:
21332265288SAlex Bennée            # Extra toolchains
214ac07ffc6SAlex Bennée            - gcc-7
215ac07ffc6SAlex Bennée            - g++-7
21632265288SAlex Bennée            # Build dependencies
21732265288SAlex Bennée            - libaio-dev
21832265288SAlex Bennée            - libattr1-dev
21932265288SAlex Bennée            - libbrlapi-dev
22032265288SAlex Bennée            - libcap-ng-dev
22132265288SAlex Bennée            - libgnutls-dev
22232265288SAlex Bennée            - libgtk-3-dev
22332265288SAlex Bennée            - libiscsi-dev
22432265288SAlex Bennée            - liblttng-ust-dev
22532265288SAlex Bennée            - libnfs-dev
22632265288SAlex Bennée            - libncurses5-dev
22732265288SAlex Bennée            - libnss3-dev
22832265288SAlex Bennée            - libpixman-1-dev
22932265288SAlex Bennée            - libpng12-dev
23032265288SAlex Bennée            - librados-dev
23132265288SAlex Bennée            - libsdl1.2-dev
23232265288SAlex Bennée            - libseccomp-dev
23332265288SAlex Bennée            - libspice-protocol-dev
23432265288SAlex Bennée            - libspice-server-dev
23532265288SAlex Bennée            - libssh2-1-dev
23632265288SAlex Bennée            - liburcu-dev
23732265288SAlex Bennée            - libusb-1.0-0-dev
23832265288SAlex Bennée            - libvte-2.90-dev
23932265288SAlex Bennée            - sparse
24032265288SAlex Bennée            - uuid-dev
24132265288SAlex Bennée      language: generic
24232265288SAlex Bennée      compiler: none
24332265288SAlex Bennée      env:
244ac07ffc6SAlex Bennée        - COMPILER_NAME=gcc CXX=g++-7 CC=gcc-7
245ac07ffc6SAlex Bennée        - CONFIG="--cc=gcc-7 --cxx=g++-7 --disable-pie --disable-linux-user"
24632265288SAlex Bennée        - TEST_CMD=""
24732265288SAlex Bennée      before_script:
2486a259f8dSDaniel P. Berrangé        - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || { cat config.log && exit 1; }
249197be697SDaniel P. Berrangé
250197be697SDaniel P. Berrangé
25165b26da4SAlex Bennée    - env:
25265b26da4SAlex Bennée        - CONFIG="--disable-system --disable-docs"
253*e2576f9bSDaniel P. Berrangé        - TEST_CMD="make -j3 check-tcg V=1"
25465b26da4SAlex Bennée      dist: trusty
25565b26da4SAlex Bennée      compiler: gcc
256