]> git.ipfire.org Git - thirdparty/qemu.git/blob - .travis.yml
Merge tag 'migration-20240522-pull-request' of https://gitlab.com/farosas/qemu into...
[thirdparty/qemu.git] / .travis.yml
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
15
16
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
26
27
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
40
41
42 git:
43 # we want to do this ourselves
44 submodules: false
45
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 ==="
53
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; }
58
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
77
78
79 jobs:
80 include:
81
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"
115
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"
150
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
193
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"
223
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"
237
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++"