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: "[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++" 241