1os: linux 2dist: focal 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 (for Linux, bionic or focal) 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 directories: 16 - $HOME/avocado/data/cache 17 18 19# The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu 20# to prevent IRC notifications from forks. This was created using: 21# $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu" 22notifications: 23 irc: 24 channels: 25 - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM=" 26 on_success: change 27 on_failure: always 28 29 30env: 31 global: 32 - SRC_DIR=".." 33 - BUILD_DIR="build" 34 - BASE_CONFIG="--disable-docs --disable-tools" 35 - TEST_BUILD_CMD="" 36 - TEST_CMD="make check V=1" 37 # This is broadly a list of "mainline" softmmu targets which have support across the major distros 38 - MAIN_SOFTMMU_TARGETS="aarch64-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu" 39 - CCACHE_SLOPPINESS="include_file_ctime,include_file_mtime" 40 - CCACHE_MAXSIZE=1G 41 - G_MESSAGES_DEBUG=error 42 43 44git: 45 # we want to do this ourselves 46 submodules: false 47 48# Common first phase for all steps 49# We no longer use nproc to calculate jobs: 50# https://travis-ci.community/t/nproc-reports-32-cores-on-arm64/5851 51before_install: 52 - if command -v ccache ; then ccache --zero-stats ; fi 53 - export JOBS=3 54 - echo "=== Using ${JOBS} simultaneous jobs ===" 55 56# Configure step - may be overridden 57before_script: 58 - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} 59 - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log meson-logs/meson-log.txt && exit 1; } 60 61# Main build & test - rarely overridden - controlled by TEST_CMD 62script: 63 - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$? 64 - | 65 if [ "$BUILD_RC" -eq 0 ] && [ -n "$TEST_BUILD_CMD" ]; then 66 ${TEST_BUILD_CMD} || BUILD_RC=$? 67 else 68 $(exit $BUILD_RC); 69 fi 70 - | 71 if [ "$BUILD_RC" -eq 0 ] ; then 72 ${TEST_CMD} ; 73 else 74 $(exit $BUILD_RC); 75 fi 76after_script: 77 - df -h 78 - if command -v ccache ; then ccache --show-stats ; fi 79 80 81jobs: 82 include: 83 84 - name: "[aarch64] GCC check-tcg" 85 arch: arm64 86 dist: focal 87 addons: 88 apt_packages: 89 - libaio-dev 90 - libattr1-dev 91 - libbrlapi-dev 92 - libcacard-dev 93 - libcap-ng-dev 94 - libfdt-dev 95 - libgcrypt20-dev 96 - libgnutls28-dev 97 - libgtk-3-dev 98 - libiscsi-dev 99 - liblttng-ust-dev 100 - libncurses5-dev 101 - libnfs-dev 102 - libpixman-1-dev 103 - libpng-dev 104 - librados-dev 105 - libsdl2-dev 106 - libseccomp-dev 107 - liburcu-dev 108 - libusb-1.0-0-dev 109 - libvdeplug-dev 110 - libvte-2.91-dev 111 - ninja-build 112 # Tests dependencies 113 - genisoimage 114 env: 115 - TEST_CMD="make check check-tcg V=1" 116 - CONFIG="--disable-containers --enable-fdt=system 117 --target-list=${MAIN_SOFTMMU_TARGETS} --cxx=/bin/false" 118 - UNRELIABLE=true 119 120 - name: "[ppc64] GCC check-tcg" 121 arch: ppc64le 122 dist: focal 123 addons: 124 apt_packages: 125 - libaio-dev 126 - libattr1-dev 127 - libbrlapi-dev 128 - libcacard-dev 129 - libcap-ng-dev 130 - libfdt-dev 131 - libgcrypt20-dev 132 - libgnutls28-dev 133 - libgtk-3-dev 134 - libiscsi-dev 135 - liblttng-ust-dev 136 - libncurses5-dev 137 - libnfs-dev 138 - libpixman-1-dev 139 - libpng-dev 140 - librados-dev 141 - libsdl2-dev 142 - libseccomp-dev 143 - liburcu-dev 144 - libusb-1.0-0-dev 145 - libvdeplug-dev 146 - libvte-2.91-dev 147 - ninja-build 148 # Tests dependencies 149 - genisoimage 150 env: 151 - TEST_CMD="make check check-tcg V=1" 152 - CONFIG="--disable-containers --enable-fdt=system 153 --target-list=ppc64-softmmu,ppc64le-linux-user" 154 155 - name: "[s390x] GCC check-tcg" 156 arch: s390x 157 dist: focal 158 addons: 159 apt_packages: 160 - libaio-dev 161 - libattr1-dev 162 - libbrlapi-dev 163 - libcacard-dev 164 - libcap-ng-dev 165 - libfdt-dev 166 - libgcrypt20-dev 167 - libgnutls28-dev 168 - libgtk-3-dev 169 - libiscsi-dev 170 - liblttng-ust-dev 171 - libncurses5-dev 172 - libnfs-dev 173 - libpixman-1-dev 174 - libpng-dev 175 - librados-dev 176 - libsdl2-dev 177 - libseccomp-dev 178 - liburcu-dev 179 - libusb-1.0-0-dev 180 - libvdeplug-dev 181 - libvte-2.91-dev 182 - ninja-build 183 # Tests dependencies 184 - genisoimage 185 env: 186 - TEST_CMD="make check check-tcg V=1" 187 - CONFIG="--disable-containers --enable-fdt=system 188 --target-list=${MAIN_SOFTMMU_TARGETS},s390x-linux-user" 189 - UNRELIABLE=true 190 script: 191 - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$? 192 - | 193 if [ "$BUILD_RC" -eq 0 ] ; then 194 mv pc-bios/s390-ccw/*.img qemu-bundle/usr/local/share/qemu ; 195 ${TEST_CMD} ; 196 else 197 $(exit $BUILD_RC); 198 fi 199 200 - name: "[s390x] GCC (other-softmmu)" 201 arch: s390x 202 dist: focal 203 addons: 204 apt_packages: 205 - libaio-dev 206 - libattr1-dev 207 - libcacard-dev 208 - libcap-ng-dev 209 - libfdt-dev 210 - libgnutls28-dev 211 - libiscsi-dev 212 - liblttng-ust-dev 213 - liblzo2-dev 214 - libncurses-dev 215 - libnfs-dev 216 - libpixman-1-dev 217 - libsdl2-dev 218 - libsdl2-image-dev 219 - libseccomp-dev 220 - libsnappy-dev 221 - libzstd-dev 222 - nettle-dev 223 - xfslibs-dev 224 - ninja-build 225 # Tests dependencies 226 - genisoimage 227 env: 228 - CONFIG="--disable-containers --enable-fdt=system --audio-drv-list=sdl 229 --disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}" 230 231 - name: "[s390x] GCC (user)" 232 arch: s390x 233 dist: focal 234 addons: 235 apt_packages: 236 - libgcrypt20-dev 237 - libglib2.0-dev 238 - libgnutls28-dev 239 - ninja-build 240 env: 241 - CONFIG="--disable-containers --disable-system" 242 243 - name: "[s390x] Clang (disable-tcg)" 244 arch: s390x 245 dist: focal 246 compiler: clang 247 addons: 248 apt_packages: 249 - libaio-dev 250 - libattr1-dev 251 - libbrlapi-dev 252 - libcacard-dev 253 - libcap-ng-dev 254 - libfdt-dev 255 - libgcrypt20-dev 256 - libgnutls28-dev 257 - libgtk-3-dev 258 - libiscsi-dev 259 - liblttng-ust-dev 260 - libncurses5-dev 261 - libnfs-dev 262 - libpixman-1-dev 263 - libpng-dev 264 - librados-dev 265 - libsdl2-dev 266 - libseccomp-dev 267 - liburcu-dev 268 - libusb-1.0-0-dev 269 - libvdeplug-dev 270 - libvte-2.91-dev 271 - ninja-build 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 - UNRELIABLE=true 277