.travis.yml: migrate to container builds
[sdk/emulator/qemu.git] / .travis.yml
1 sudo: false
2 language: c
3 python:
4   - "2.4"
5 compiler:
6   - gcc
7   - clang
8 addons:
9   apt:
10     packages:
11       - libaio-dev
12       - libattr1-dev
13       - libbrlapi-dev
14       - libcap-ng-dev
15       - libgnutls-dev
16       - libgtk-3-dev
17       - libiscsi-dev
18       - liblttng-ust-dev
19       - libncurses5-dev
20       - libnss3-dev
21       - libpixman-1-dev
22       - libpng12-dev
23       - librados-dev
24       - libsdl1.2-dev
25       - libseccomp-dev
26       - libspice-protocol-dev
27       - libspice-server-dev
28       - libssh2-1-dev
29       - liburcu-dev
30       - libusb-1.0-0-dev
31       - libvte-2.90-dev
32       - sparse
33       - uuid-dev
34
35 notifications:
36   irc:
37     channels:
38       - "irc.oftc.net#qemu"
39     on_success: change
40     on_failure: always
41 env:
42   global:
43     - TEST_CMD=""
44     - EXTRA_CONFIG=""
45   matrix:
46     # Group major targets together with their linux-user counterparts
47     - TARGETS=alpha-softmmu,alpha-linux-user
48     - TARGETS=arm-softmmu,arm-linux-user,armeb-linux-user,aarch64-softmmu,aarch64-linux-user
49     - TARGETS=cris-softmmu,cris-linux-user
50     - TARGETS=i386-softmmu,i386-linux-user,x86_64-softmmu,x86_64-linux-user
51     - TARGETS=m68k-softmmu,m68k-linux-user
52     - TARGETS=microblaze-softmmu,microblazeel-softmmu,microblaze-linux-user,microblazeel-linux-user
53     - TARGETS=mips-softmmu,mips64-softmmu,mips64el-softmmu,mipsel-softmmu
54     - TARGETS=mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,mipsn32-linux-user,mipsn32el-linux-user
55     - TARGETS=or32-softmmu,or32-linux-user
56     - TARGETS=ppc-softmmu,ppc64-softmmu,ppcemb-softmmu,ppc-linux-user,ppc64-linux-user,ppc64abi32-linux-user,ppc64le-linux-user
57     - TARGETS=s390x-softmmu,s390x-linux-user
58     - TARGETS=sh4-softmmu,sh4eb-softmmu,sh4-linux-user sh4eb-linux-user
59     - TARGETS=sparc-softmmu,sparc64-softmmu,sparc-linux-user,sparc32plus-linux-user,sparc64-linux-user
60     - TARGETS=unicore32-softmmu,unicore32-linux-user
61     # Group remaining softmmu only targets into one build
62     - TARGETS=lm32-softmmu,moxie-softmmu,tricore-softmmu,xtensa-softmmu,xtensaeb-softmmu
63 git:
64   # we want to do this ourselves
65   submodules: false
66 before_install:
67   - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
68   - git submodule update --init --recursive
69 before_script:
70   - ./configure --target-list=${TARGETS} --enable-debug-tcg ${EXTRA_CONFIG}
71 script:
72   - make -j2 && ${TEST_CMD}
73 matrix:
74   # We manually include a number of additional build for non-standard bits
75   include:
76     # Make check target (we only do this once)
77     - env:
78         - TARGETS=alpha-softmmu,arm-softmmu,aarch64-softmmu,cris-softmmu,i386-softmmu,x86_64-softmmu,m68k-softmmu,microblaze-softmmu,microblazeel-softmmu,mips-softmmu,mips64-softmmu,mips64el-softmmu,mipsel-softmmu,or32-softmmu,ppc-softmmu,ppc64-softmmu,ppcemb-softmmu,s390x-softmmu,sh4-softmmu,sh4eb-softmmu,sparc-softmmu,sparc64-softmmu,unicore32-softmmu,lm32-softmmu,moxie-softmmu,tricore-softmmu,xtensa-softmmu,xtensaeb-softmmu
79           TEST_CMD="make check"
80       compiler: gcc
81     # Debug related options
82     - env: TARGETS=i386-softmmu,x86_64-softmmu
83            EXTRA_CONFIG="--enable-debug"
84       compiler: gcc
85     - env: TARGETS=i386-softmmu,x86_64-softmmu
86            EXTRA_CONFIG="--enable-debug --enable-tcg-interpreter"
87       compiler: gcc
88     # Disable a few of the optional features
89     - env: TARGETS=i386-softmmu,x86_64-softmmu
90            EXTRA_CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb"
91       compiler: gcc
92     # Currently configure doesn't force --disable-pie
93     - env: TARGETS=i386-softmmu,x86_64-softmmu
94            EXTRA_CONFIG="--enable-gprof --enable-gcov --disable-pie"
95       compiler: gcc
96     # Sparse
97     - env: TARGETS=i386-softmmu,x86_64-softmmu
98            EXTRA_CONFIG="--enable-sparse"
99       compiler: gcc
100     # All the trace backends (apart from dtrace)
101     - env: TARGETS=i386-softmmu,x86_64-softmmu
102            EXTRA_CONFIG="--enable-trace-backends=log"
103       compiler: gcc
104     - env: TARGETS=i386-softmmu,x86_64-softmmu
105            EXTRA_CONFIG="--enable-trace-backends=simple"
106       compiler: gcc
107     - env: TARGETS=i386-softmmu,x86_64-softmmu
108            EXTRA_CONFIG="--enable-trace-backends=ftrace"
109       compiler: gcc
110     - env: TARGETS=i386-softmmu,x86_64-softmmu
111           EXTRA_CONFIG="--enable-trace-backends=ust"
112       compiler: gcc
113     - env: TARGETS=i386-softmmu,x86_64-softmmu
114            EXTRA_CONFIG="--enable-modules"
115       compiler: gcc