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 - python3-tomli 110 # Tests dependencies 111 - genisoimage 112 env: 113 - TEST_CMD="make check check-tcg V=1" 114 - CONFIG="--disable-containers --enable-fdt=system 115 --target-list=${MAIN_SYSTEM_TARGETS} --cxx=/bin/false" 116 117 - name: "[ppc64] Clang check-tcg" 118 arch: ppc64le 119 compiler: clang 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 --enable-fdt=system 151 --target-list=ppc64-softmmu,ppc64le-linux-user" 152 153 - name: "[s390x] GCC check-tcg" 154 arch: s390x 155 addons: 156 apt_packages: 157 - libaio-dev 158 - libattr1-dev 159 - libbrlapi-dev 160 - libcacard-dev 161 - libcap-ng-dev 162 - libfdt-dev 163 - libgcrypt20-dev 164 - libgnutls28-dev 165 - libgtk-3-dev 166 - libiscsi-dev 167 - liblttng-ust-dev 168 - libncurses5-dev 169 - libnfs-dev 170 - libpixman-1-dev 171 - libpng-dev 172 - librados-dev 173 - libsdl2-dev 174 - libseccomp-dev 175 - liburcu-dev 176 - libusb-1.0-0-dev 177 - libvdeplug-dev 178 - libvte-2.91-dev 179 - ninja-build 180 - python3-tomli 181 # Tests dependencies 182 - genisoimage 183 env: 184 - TEST_CMD="make check check-tcg V=1" 185 - CONFIG="--disable-containers 186 --target-list=hppa-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu" 187 script: 188 - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$? 189 - | 190 if [ "$BUILD_RC" -eq 0 ] ; then 191 mv pc-bios/s390-ccw/*.img qemu-bundle/usr/local/share/qemu ; 192 ${TEST_CMD} ; 193 else 194 $(exit $BUILD_RC); 195 fi 196 197 - name: "[s390x] Clang (other-system)" 198 arch: s390x 199 compiler: clang 200 addons: 201 apt_packages: 202 - libaio-dev 203 - libattr1-dev 204 - libcacard-dev 205 - libcap-ng-dev 206 - libfdt-dev 207 - libgnutls28-dev 208 - libiscsi-dev 209 - liblttng-ust-dev 210 - liblzo2-dev 211 - libncurses-dev 212 - libnfs-dev 213 - libpixman-1-dev 214 - libsdl2-dev 215 - libsdl2-image-dev 216 - libseccomp-dev 217 - libsnappy-dev 218 - libzstd-dev 219 - nettle-dev 220 - ninja-build 221 - python3-tomli 222 # Tests dependencies 223 - genisoimage 224 env: 225 - CONFIG="--disable-containers --audio-drv-list=sdl --disable-user 226 --target-list=arm-softmmu,avr-softmmu,microblaze-softmmu,sh4-softmmu,sparc64-softmmu,xtensaeb-softmmu" 227 228 - name: "[s390x] GCC (user)" 229 arch: s390x 230 addons: 231 apt_packages: 232 - libgcrypt20-dev 233 - libglib2.0-dev 234 - libgnutls28-dev 235 - ninja-build 236 - flex 237 - bison 238 - python3-tomli 239 env: 240 - TEST_CMD="make check check-tcg V=1" 241 - CONFIG="--disable-containers --disable-system" 242 243 - name: "[s390x] Clang (disable-tcg)" 244 arch: s390x 245 compiler: clang 246 addons: 247 apt_packages: 248 - libaio-dev 249 - libattr1-dev 250 - libbrlapi-dev 251 - libcacard-dev 252 - libcap-ng-dev 253 - libfdt-dev 254 - libgcrypt20-dev 255 - libgnutls28-dev 256 - libgtk-3-dev 257 - libiscsi-dev 258 - liblttng-ust-dev 259 - libncurses5-dev 260 - libnfs-dev 261 - libpixman-1-dev 262 - libpng-dev 263 - librados-dev 264 - libsdl2-dev 265 - libseccomp-dev 266 - liburcu-dev 267 - libusb-1.0-0-dev 268 - libvdeplug-dev 269 - libvte-2.91-dev 270 - ninja-build 271 - python3-tomli 272 env: 273 - TEST_CMD="make check-unit" 274 - CONFIG="--disable-containers --disable-tcg --enable-kvm --disable-tools 275 --enable-fdt=system --host-cc=clang --cxx=clang++" 276