| os: linux |
| dist: focal |
| language: c |
| compiler: |
| - gcc |
| cache: |
| # There is one cache per branch and compiler version. |
| # characteristics of each job are used to identify the cache: |
| # - OS name (currently only linux) |
| # - OS distribution (for Linux, bionic or focal) |
| # - Names and values of visible environment variables set in .travis.yml or Settings panel |
| timeout: 1200 |
| ccache: true |
| pip: true |
| directories: |
| - $HOME/avocado/data/cache |
| |
| |
| # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu |
| # to prevent IRC notifications from forks. This was created using: |
| # $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu" |
| notifications: |
| irc: |
| channels: |
| - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM=" |
| on_success: change |
| on_failure: always |
| |
| |
| env: |
| global: |
| - SRC_DIR=".." |
| - BUILD_DIR="build" |
| - BASE_CONFIG="--disable-docs --disable-tools" |
| - TEST_BUILD_CMD="" |
| - TEST_CMD="make check V=1" |
| # This is broadly a list of "mainline" system targets which have support across the major distros |
| - MAIN_SYSTEM_TARGETS="aarch64-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu" |
| - CCACHE_SLOPPINESS="include_file_ctime,include_file_mtime" |
| - CCACHE_MAXSIZE=1G |
| - G_MESSAGES_DEBUG=error |
| |
| |
| git: |
| # we want to do this ourselves |
| submodules: false |
| |
| # Common first phase for all steps |
| # We no longer use nproc to calculate jobs: |
| # https://travis-ci.community/t/nproc-reports-32-cores-on-arm64/5851 |
| before_install: |
| - if command -v ccache ; then ccache --zero-stats ; fi |
| - export JOBS=3 |
| - echo "=== Using ${JOBS} simultaneous jobs ===" |
| |
| # Configure step - may be overridden |
| before_script: |
| - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} |
| - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log meson-logs/meson-log.txt && exit 1; } |
| |
| # Main build & test - rarely overridden - controlled by TEST_CMD |
| script: |
| - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$? |
| - | |
| if [ "$BUILD_RC" -eq 0 ] && [ -n "$TEST_BUILD_CMD" ]; then |
| ${TEST_BUILD_CMD} || BUILD_RC=$? |
| else |
| $(exit $BUILD_RC); |
| fi |
| - | |
| if [ "$BUILD_RC" -eq 0 ] ; then |
| ${TEST_CMD} ; |
| else |
| $(exit $BUILD_RC); |
| fi |
| after_script: |
| - df -h |
| - if command -v ccache ; then ccache --show-stats ; fi |
| |
| |
| jobs: |
| include: |
| |
| - name: "[aarch64] GCC check-tcg" |
| arch: arm64 |
| dist: focal |
| addons: |
| apt_packages: |
| - libaio-dev |
| - libattr1-dev |
| - libbrlapi-dev |
| - libcacard-dev |
| - libcap-ng-dev |
| - libfdt-dev |
| - libgcrypt20-dev |
| - libgnutls28-dev |
| - libgtk-3-dev |
| - libiscsi-dev |
| - liblttng-ust-dev |
| - libncurses5-dev |
| - libnfs-dev |
| - libpixman-1-dev |
| - libpng-dev |
| - librados-dev |
| - libsdl2-dev |
| - libseccomp-dev |
| - liburcu-dev |
| - libusb-1.0-0-dev |
| - libvdeplug-dev |
| - libvte-2.91-dev |
| - ninja-build |
| # Tests dependencies |
| - genisoimage |
| env: |
| - TEST_CMD="make check check-tcg V=1" |
| - CONFIG="--disable-containers --enable-fdt=system |
| --target-list=${MAIN_SYSTEM_TARGETS} --cxx=/bin/false" |
| - UNRELIABLE=true |
| |
| - name: "[ppc64] GCC check-tcg" |
| arch: ppc64le |
| dist: focal |
| addons: |
| apt_packages: |
| - libaio-dev |
| - libattr1-dev |
| - libbrlapi-dev |
| - libcacard-dev |
| - libcap-ng-dev |
| - libfdt-dev |
| - libgcrypt20-dev |
| - libgnutls28-dev |
| - libgtk-3-dev |
| - libiscsi-dev |
| - liblttng-ust-dev |
| - libncurses5-dev |
| - libnfs-dev |
| - libpixman-1-dev |
| - libpng-dev |
| - librados-dev |
| - libsdl2-dev |
| - libseccomp-dev |
| - liburcu-dev |
| - libusb-1.0-0-dev |
| - libvdeplug-dev |
| - libvte-2.91-dev |
| - ninja-build |
| # Tests dependencies |
| - genisoimage |
| env: |
| - TEST_CMD="make check check-tcg V=1" |
| - CONFIG="--disable-containers --enable-fdt=system |
| --target-list=ppc64-softmmu,ppc64le-linux-user" |
| |
| - name: "[s390x] GCC check-tcg" |
| arch: s390x |
| dist: focal |
| addons: |
| apt_packages: |
| - libaio-dev |
| - libattr1-dev |
| - libbrlapi-dev |
| - libcacard-dev |
| - libcap-ng-dev |
| - libfdt-dev |
| - libgcrypt20-dev |
| - libgnutls28-dev |
| - libgtk-3-dev |
| - libiscsi-dev |
| - liblttng-ust-dev |
| - libncurses5-dev |
| - libnfs-dev |
| - libpixman-1-dev |
| - libpng-dev |
| - librados-dev |
| - libsdl2-dev |
| - libseccomp-dev |
| - liburcu-dev |
| - libusb-1.0-0-dev |
| - libvdeplug-dev |
| - libvte-2.91-dev |
| - ninja-build |
| # Tests dependencies |
| - genisoimage |
| env: |
| - TEST_CMD="make check check-tcg V=1" |
| - CONFIG="--disable-containers --enable-fdt=system |
| --target-list=${MAIN_SYSTEM_TARGETS},s390x-linux-user" |
| - UNRELIABLE=true |
| script: |
| - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$? |
| - | |
| if [ "$BUILD_RC" -eq 0 ] ; then |
| mv pc-bios/s390-ccw/*.img qemu-bundle/usr/local/share/qemu ; |
| ${TEST_CMD} ; |
| else |
| $(exit $BUILD_RC); |
| fi |
| |
| - name: "[s390x] GCC (other-system)" |
| arch: s390x |
| dist: focal |
| addons: |
| apt_packages: |
| - libaio-dev |
| - libattr1-dev |
| - libcacard-dev |
| - libcap-ng-dev |
| - libfdt-dev |
| - libgnutls28-dev |
| - libiscsi-dev |
| - liblttng-ust-dev |
| - liblzo2-dev |
| - libncurses-dev |
| - libnfs-dev |
| - libpixman-1-dev |
| - libsdl2-dev |
| - libsdl2-image-dev |
| - libseccomp-dev |
| - libsnappy-dev |
| - libzstd-dev |
| - nettle-dev |
| - xfslibs-dev |
| - ninja-build |
| # Tests dependencies |
| - genisoimage |
| env: |
| - CONFIG="--disable-containers --enable-fdt=system --audio-drv-list=sdl |
| --disable-user --target-list-exclude=${MAIN_SYSTEM_TARGETS}" |
| |
| - name: "[s390x] GCC (user)" |
| arch: s390x |
| dist: focal |
| addons: |
| apt_packages: |
| - libgcrypt20-dev |
| - libglib2.0-dev |
| - libgnutls28-dev |
| - ninja-build |
| - flex |
| - bison |
| env: |
| - CONFIG="--disable-containers --disable-system" |
| |
| - name: "[s390x] Clang (disable-tcg)" |
| arch: s390x |
| dist: focal |
| compiler: clang-10 |
| addons: |
| apt_packages: |
| - libaio-dev |
| - libattr1-dev |
| - libbrlapi-dev |
| - libcacard-dev |
| - libcap-ng-dev |
| - libfdt-dev |
| - libgcrypt20-dev |
| - libgnutls28-dev |
| - libgtk-3-dev |
| - libiscsi-dev |
| - liblttng-ust-dev |
| - libncurses5-dev |
| - libnfs-dev |
| - libpixman-1-dev |
| - libpng-dev |
| - librados-dev |
| - libsdl2-dev |
| - libseccomp-dev |
| - liburcu-dev |
| - libusb-1.0-0-dev |
| - libvdeplug-dev |
| - libvte-2.91-dev |
| - ninja-build |
| - clang-10 |
| env: |
| - TEST_CMD="make check-unit" |
| - CONFIG="--disable-containers --disable-tcg --enable-kvm --disable-tools |
| --enable-fdt=system --host-cc=clang --cxx=clang++" |
| - UNRELIABLE=true |