Merge tag 'pull-qapi-2024-05-06' of https://repo.or.cz/qemu/armbru into staging
[qemu/kevin.git] / .travis.yml
blobcef03089520fc1e395c0b5e7a96e1ccf9f90bac1
1 os: linux
2 dist: jammy
3 language: c
4 compiler:
5   - gcc
6 cache:
7   # There is one cache per branch and compiler version.
8   # characteristics of each job are used to identify the cache:
9   # - OS name (currently only linux)
10   # - OS distribution (e.g. "jammy" for Linux)
11   # - Names and values of visible environment variables set in .travis.yml or Settings panel
12   timeout: 1200
13   ccache: true
14   pip: true
17 # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu
18 # to prevent IRC notifications from forks. This was created using:
19 # $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu"
20 notifications:
21   irc:
22     channels:
23       - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
24     on_success: change
25     on_failure: always
28 env:
29   global:
30     - SRC_DIR=".."
31     - BUILD_DIR="build"
32     - BASE_CONFIG="--disable-docs --disable-tools"
33     - TEST_BUILD_CMD=""
34     - TEST_CMD="make check V=1"
35     # This is broadly a list of "mainline" system targets which have support across the major distros
36     - MAIN_SYSTEM_TARGETS="aarch64-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
37     - CCACHE_SLOPPINESS="include_file_ctime,include_file_mtime"
38     - CCACHE_MAXSIZE=1G
39     - G_MESSAGES_DEBUG=error
42 git:
43   # we want to do this ourselves
44   submodules: false
46 # Common first phase for all steps
47 # We no longer use nproc to calculate jobs:
48 # https://travis-ci.community/t/nproc-reports-32-cores-on-arm64/5851
49 before_install:
50   - if command -v ccache ; then ccache --zero-stats ; fi
51   - export JOBS=3
52   - echo "=== Using ${JOBS} simultaneous jobs ==="
54 # Configure step - may be overridden
55 before_script:
56   - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
57   - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log meson-logs/meson-log.txt && exit 1; }
59 # Main build & test - rarely overridden - controlled by TEST_CMD
60 script:
61   - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
62   - |
63     if [ "$BUILD_RC" -eq 0 ] && [ -n "$TEST_BUILD_CMD" ]; then
64         ${TEST_BUILD_CMD} || BUILD_RC=$?
65     else
66         $(exit $BUILD_RC);
67     fi
68   - |
69     if [ "$BUILD_RC" -eq 0 ] ; then
70         ${TEST_CMD} ;
71     else
72         $(exit $BUILD_RC);
73     fi
74 after_script:
75   - df -h
76   - if command -v ccache ; then ccache --show-stats ; fi
79 jobs:
80   include:
82     - name: "[aarch64] GCC check-tcg"
83       arch: arm64
84       addons:
85         apt_packages:
86           - libaio-dev
87           - libattr1-dev
88           - libbrlapi-dev
89           - libcacard-dev
90           - libcap-ng-dev
91           - libfdt-dev
92           - libgcrypt20-dev
93           - libgnutls28-dev
94           - libgtk-3-dev
95           - libiscsi-dev
96           - liblttng-ust-dev
97           - libncurses5-dev
98           - libnfs-dev
99           - libpixman-1-dev
100           - libpng-dev
101           - librados-dev
102           - libsdl2-dev
103           - libseccomp-dev
104           - liburcu-dev
105           - libusb-1.0-0-dev
106           - libvdeplug-dev
107           - libvte-2.91-dev
108           - ninja-build
109           # Tests dependencies
110           - genisoimage
111       env:
112         - TEST_CMD="make check check-tcg V=1"
113         - CONFIG="--disable-containers --enable-fdt=system
114                   --target-list=${MAIN_SYSTEM_TARGETS} --cxx=/bin/false"
116     - name: "[ppc64] Clang check-tcg"
117       arch: ppc64le
118       compiler: clang
119       addons:
120         apt_packages:
121           - libaio-dev
122           - libattr1-dev
123           - libbrlapi-dev
124           - libcacard-dev
125           - libcap-ng-dev
126           - libfdt-dev
127           - libgcrypt20-dev
128           - libgnutls28-dev
129           - libgtk-3-dev
130           - libiscsi-dev
131           - liblttng-ust-dev
132           - libncurses5-dev
133           - libnfs-dev
134           - libpixman-1-dev
135           - libpng-dev
136           - librados-dev
137           - libsdl2-dev
138           - libseccomp-dev
139           - liburcu-dev
140           - libusb-1.0-0-dev
141           - libvdeplug-dev
142           - libvte-2.91-dev
143           - ninja-build
144           # Tests dependencies
145           - genisoimage
146       env:
147         - TEST_CMD="make check check-tcg V=1"
148         - CONFIG="--disable-containers --enable-fdt=system
149                   --target-list=ppc64-softmmu,ppc64le-linux-user"
151     - name: "[s390x] GCC check-tcg"
152       arch: s390x
153       addons:
154         apt_packages:
155           - libaio-dev
156           - libattr1-dev
157           - libbrlapi-dev
158           - libcacard-dev
159           - libcap-ng-dev
160           - libfdt-dev
161           - libgcrypt20-dev
162           - libgnutls28-dev
163           - libgtk-3-dev
164           - libiscsi-dev
165           - liblttng-ust-dev
166           - libncurses5-dev
167           - libnfs-dev
168           - libpixman-1-dev
169           - libpng-dev
170           - librados-dev
171           - libsdl2-dev
172           - libseccomp-dev
173           - liburcu-dev
174           - libusb-1.0-0-dev
175           - libvdeplug-dev
176           - libvte-2.91-dev
177           - ninja-build
178           # Tests dependencies
179           - genisoimage
180       env:
181         - TEST_CMD="make check check-tcg V=1"
182         - CONFIG="--disable-containers
183             --target-list=hppa-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
184       script:
185         - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
186         - |
187           if [ "$BUILD_RC" -eq 0 ] ; then
188               mv pc-bios/s390-ccw/*.img qemu-bundle/usr/local/share/qemu ;
189               ${TEST_CMD} ;
190           else
191               $(exit $BUILD_RC);
192           fi
194     - name: "[s390x] Clang (other-system)"
195       arch: s390x
196       compiler: clang
197       addons:
198         apt_packages:
199           - libaio-dev
200           - libattr1-dev
201           - libcacard-dev
202           - libcap-ng-dev
203           - libfdt-dev
204           - libgnutls28-dev
205           - libiscsi-dev
206           - liblttng-ust-dev
207           - liblzo2-dev
208           - libncurses-dev
209           - libnfs-dev
210           - libpixman-1-dev
211           - libsdl2-dev
212           - libsdl2-image-dev
213           - libseccomp-dev
214           - libsnappy-dev
215           - libzstd-dev
216           - nettle-dev
217           - ninja-build
218           # Tests dependencies
219           - genisoimage
220       env:
221         - CONFIG="--disable-containers --audio-drv-list=sdl --disable-user
222             --target-list=arm-softmmu,avr-softmmu,microblaze-softmmu,sh4eb-softmmu,sparc64-softmmu,xtensaeb-softmmu"
224     - name: "[s390x] GCC (user)"
225       arch: s390x
226       addons:
227         apt_packages:
228           - libgcrypt20-dev
229           - libglib2.0-dev
230           - libgnutls28-dev
231           - ninja-build
232           - flex
233           - bison
234       env:
235         - TEST_CMD="make check check-tcg V=1"
236         - CONFIG="--disable-containers --disable-system"
238     - name: "[s390x] Clang (disable-tcg)"
239       arch: s390x
240       compiler: clang
241       addons:
242         apt_packages:
243           - libaio-dev
244           - libattr1-dev
245           - libbrlapi-dev
246           - libcacard-dev
247           - libcap-ng-dev
248           - libfdt-dev
249           - libgcrypt20-dev
250           - libgnutls28-dev
251           - libgtk-3-dev
252           - libiscsi-dev
253           - liblttng-ust-dev
254           - libncurses5-dev
255           - libnfs-dev
256           - libpixman-1-dev
257           - libpng-dev
258           - librados-dev
259           - libsdl2-dev
260           - libseccomp-dev
261           - liburcu-dev
262           - libusb-1.0-0-dev
263           - libvdeplug-dev
264           - libvte-2.91-dev
265           - ninja-build
266       env:
267         - TEST_CMD="make check-unit"
268         - CONFIG="--disable-containers --disable-tcg --enable-kvm --disable-tools
269                   --enable-fdt=system --host-cc=clang --cxx=clang++"