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


addons:
  apt:
    packages:
      # Build dependencies
      - libaio-dev
      - libattr1-dev
      - libbrlapi-dev
      - libcap-ng-dev
      - libcacard-dev
      - libgcc-7-dev
      - libgnutls28-dev
      - libgtk-3-dev
      - libiscsi-dev
      - liblttng-ust-dev
      - libncurses5-dev
      - libnfs-dev
      - libpixman-1-dev
      - libpng-dev
      - librados-dev
      - libsdl2-dev
      - libsdl2-image-dev
      - libseccomp-dev
      - libspice-protocol-dev
      - libspice-server-dev
      - libssh-dev
      - liburcu-dev
      - libusb-1.0-0-dev
      - libvdeplug-dev
      - libvte-2.91-dev
      - libzstd-dev
      - ninja-build
      - sparse
      - uuid-dev
      # Tests dependencies
      - genisoimage


# 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" softmmu targets which have support across the major distros
    - MAIN_SOFTMMU_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
          - 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 --target-list=${MAIN_SOFTMMU_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
          - 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 --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
          - 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 --target-list=${MAIN_SOFTMMU_TARGETS},s390x-linux-user"
        - UNRELIABLE=true
        - DFLTCC=0
      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-softmmu)"
      arch: s390x
      dist: focal
      addons:
        apt_packages:
          - libaio-dev
          - libattr1-dev
          - libcacard-dev
          - libcap-ng-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 --audio-drv-list=sdl --disable-user
                  --target-list-exclude=${MAIN_SOFTMMU_TARGETS}"
        - DFLTCC=0
    - name: "[s390x] GCC (user)"
      arch: s390x
      dist: focal
      addons:
        apt_packages:
          - libgcrypt20-dev
          - libglib2.0-dev
          - libgnutls28-dev
          - ninja-build
      env:
        - CONFIG="--disable-containers --disable-system"
        - DFLTCC=0
    - name: "[s390x] Clang (disable-tcg)"
      arch: s390x
      dist: focal
      compiler: clang
      addons:
        apt_packages:
          - libaio-dev
          - libattr1-dev
          - libbrlapi-dev
          - libcacard-dev
          - libcap-ng-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
      env:
        - TEST_CMD="make check-unit"
        - CONFIG="--disable-containers --disable-tcg --enable-kvm
                  --disable-tools --host-cc=clang --cxx=clang++"
        - UNRELIABLE=true
        - DFLTCC=0
