1os: linux 2dist: jammy 3language: c 4compiler: 5 - gcc 6cache: 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" 20notifications: 21 irc: 22 channels: 23 - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM=" 24 on_success: change 25 on_failure: always 26 27 28env: 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 42git: 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 49before_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 55before_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 60script: 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 74after_script: 75 - df -h 76 - if command -v ccache ; then ccache --show-stats ; fi 77 78 79jobs: 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++" 270