master
yml 240 lines 6.68 KB
Raw
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: "[ppc64] Clang check-tcg"
83 arch: ppc64le
84 compiler: clang
85 addons:
86 apt_packages:
87 - libaio-dev
88 - libattr1-dev
89 - libbrlapi-dev
90 - libcacard-dev
91 - libcap-ng-dev
92 - libfdt-dev
93 - libgcrypt20-dev
94 - libgnutls28-dev
95 - libgtk-3-dev
96 - libiscsi-dev
97 - liblttng-ust-dev
98 - libncurses5-dev
99 - libnfs-dev
100 - libpixman-1-dev
101 - libpng-dev
102 - librados-dev
103 - libsdl2-dev
104 - libseccomp-dev
105 - liburcu-dev
106 - libusb-1.0-0-dev
107 - libvdeplug-dev
108 - libvte-2.91-dev
109 - ninja-build
110 - python3-tomli
111 # Tests dependencies
112 - genisoimage
113 env:
114 - TEST_CMD="make check check-tcg V=1"
115 - CONFIG="--disable-containers --enable-fdt=system
116 --target-list=ppc64-softmmu,ppc64le-linux-user"
117
118 - name: "[s390x] GCC check-tcg"
119 arch: s390x
120 addons:
121 apt_packages:
122 - libaio-dev
123 - libattr1-dev
124 - libbrlapi-dev
125 - libcacard-dev
126 - libcap-ng-dev
127 - libfdt-dev
128 - libgcrypt20-dev
129 - libgnutls28-dev
130 - libgtk-3-dev
131 - libiscsi-dev
132 - liblttng-ust-dev
133 - libncurses5-dev
134 - libnfs-dev
135 - libpixman-1-dev
136 - libpng-dev
137 - librados-dev
138 - libsdl2-dev
139 - libseccomp-dev
140 - liburcu-dev
141 - libusb-1.0-0-dev
142 - libvdeplug-dev
143 - libvte-2.91-dev
144 - ninja-build
145 - python3-tomli
146 # Tests dependencies
147 - genisoimage
148 env:
149 - TEST_CMD="make check check-tcg V=1"
150 - CONFIG="--disable-containers
151 --target-list=hppa-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
152 script:
153 - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
154 - |
155 if [ "$BUILD_RC" -eq 0 ] ; then
156 mv pc-bios/s390-ccw/*.img qemu-bundle/usr/local/share/qemu ;
157 ${TEST_CMD} ;
158 else
159 $(exit $BUILD_RC);
160 fi
161
162 - name: "[s390x] Clang (other-system)"
163 arch: s390x
164 compiler: clang
165 addons:
166 apt_packages:
167 - libaio-dev
168 - libattr1-dev
169 - libcacard-dev
170 - libcap-ng-dev
171 - libfdt-dev
172 - libgnutls28-dev
173 - libiscsi-dev
174 - liblttng-ust-dev
175 - liblzo2-dev
176 - libncurses-dev
177 - libnfs-dev
178 - libpixman-1-dev
179 - libsdl2-dev
180 - libsdl2-image-dev
181 - libseccomp-dev
182 - libsnappy-dev
183 - libzstd-dev
184 - nettle-dev
185 - ninja-build
186 - python3-tomli
187 # Tests dependencies
188 - genisoimage
189 env:
190 - CONFIG="--disable-containers --audio-drv-list=sdl --disable-user
191 --target-list=arm-softmmu,avr-softmmu,microblaze-softmmu,sh4eb-softmmu,sparc64-softmmu,xtensaeb-softmmu"
192
193 - name: "[s390x] GCC (user)"
194 arch: s390x
195 addons:
196 apt_packages:
197 - libgcrypt20-dev
198 - libglib2.0-dev
199 - libgnutls28-dev
200 - ninja-build
201 - flex
202 - bison
203 - python3-tomli
204 env:
205 - TEST_CMD="make check check-tcg V=1"
206 - CONFIG="--disable-containers --disable-system"
207
208 - name: "[s390x] Clang (disable-tcg)"
209 arch: s390x
210 compiler: clang
211 addons:
212 apt_packages:
213 - libaio-dev
214 - libattr1-dev
215 - libbrlapi-dev
216 - libcacard-dev
217 - libcap-ng-dev
218 - libfdt-dev
219 - libgcrypt20-dev
220 - libgnutls28-dev
221 - libgtk-3-dev
222 - libiscsi-dev
223 - liblttng-ust-dev
224 - libncurses5-dev
225 - libnfs-dev
226 - libpixman-1-dev
227 - libpng-dev
228 - librados-dev
229 - libsdl2-dev
230 - libseccomp-dev
231 - liburcu-dev
232 - libusb-1.0-0-dev
233 - libvdeplug-dev
234 - libvte-2.91-dev
235 - ninja-build
236 - python3-tomli
237 env:
238 - TEST_CMD="make check-unit"
239 - CONFIG="--disable-containers --disable-tcg --enable-kvm --disable-tools
240 --enable-fdt=system --host-cc=clang --cxx=clang++"