# The current Travis default is a VM based 16.04 Xenial on GCE
# Additional builds with specific requirements for a full VM need to
# be added as additional matrix: entries later on
dist: xenial
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, linux, osx, or windows)
  # - OS distribution (for Linux, xenial, trusty, or precise)
  # - macOS image name (e.g., xcode7.2)
  # - 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-dev
      - libcap-ng-dev
      - libgcc-4.8-dev
      - libgnutls-dev
      - libgtk-3-dev
      - libiscsi-dev
      - liblttng-ust-dev
      - libncurses5-dev
      - libnfs-dev
      - libnss3-dev
      - libpixman-1-dev
      - libpng12-dev
      - librados-dev
      - libsdl1.2-dev
      - libseccomp-dev
      - libspice-protocol-dev
      - libspice-server-dev
      - libssh-dev
      - liburcu-dev
      - libusb-1.0-0-dev
      - libvte-2.91-dev
      - sparse
      - uuid-dev
      - gcovr
  homebrew:
    packages:
      - ccache
      - glib
      - pixman
      - gnu-sed
    update: true


# 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="."
    - BASE_CONFIG="--disable-docs --disable-tools"
    - TEST_CMD="make check -j3 V=1"
    # This is broadly a list of "mainline" softmmu targets which have support across the major distros
    - MAIN_SOFTMMU_TARGETS="aarch64-softmmu,arm-softmmu,i386-softmmu,mips-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
    - CCACHE_SLOPPINESS="include_file_ctime,include_file_mtime"
    - CCACHE_MAXSIZE=1G


git:
  # we want to do this ourselves
  submodules: false


before_script:
  - if [ "$TRAVIS_OS_NAME" == "osx" ] ; then export PATH="/usr/local/opt/ccache/libexec:$PATH" ; fi
  - command -v ccache && ccache --zero-stats
  - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
  - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; }
script:
  - make -j3 && travis_retry ${TEST_CMD}
after_script:
  - command -v ccache && ccache --show-stats


matrix:
  include:
    - env:
        - CONFIG="--disable-system --static"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"


    # we split the system builds as it takes a while to build them all
    - env:
        - CONFIG="--disable-user --target-list=${MAIN_SOFTMMU_TARGETS}"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"


    - env:
        - CONFIG="--disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"


    # Just build tools and run minimal unit and softfloat checks
    - env:
        - BASE_CONFIG="--enable-tools"
        - CONFIG="--disable-user --disable-system"
        - TEST_CMD="make check-unit check-softfloat -j3"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"


    - env:
        - CONFIG="--enable-debug --enable-debug-tcg --disable-user"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug"


    # TCG debug can be run just on it's own and is mostly agnostic to user/softmmu distinctions
    - env:
        - CONFIG="--enable-debug-tcg --disable-system"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug"


    - env:
        - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-libusb --disable-replication --target-list=${MAIN_SOFTMMU_TARGETS}"


    # Module builds are mostly of interest to major distros
    - env:
        - CONFIG="--enable-modules --target-list=${MAIN_SOFTMMU_TARGETS}"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"


    # Alternate coroutines implementations are only really of interest to KVM users
    # However we can't test against KVM on Travis so we can only run unit tests
    - env:
        - CONFIG="--with-coroutine=ucontext --disable-tcg"
        - TEST_CMD="make check-unit -j3 V=1"


    - env:
        - CONFIG="--with-coroutine=sigaltstack --disable-tcg"
        - TEST_CMD="make check-unit -j3 V=1"


    # Check we can build docs and tools (out of tree)
    - env:
        - BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.."
        - BASE_CONFIG="--enable-tools --enable-docs"
        - CONFIG="--target-list=x86_64-softmmu,aarch64-linux-user"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
      addons:
        apt:
          packages:
            - python-sphinx
            - texinfo
            - perl


    # Test with Clang for compile portability (Travis uses clang-5.0)
    - env:
        - CONFIG="--disable-system"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default"
      compiler: clang


    - env:
        - CONFIG="--disable-user --target-list=${MAIN_SOFTMMU_TARGETS}"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default"
      compiler: clang


    - env:
        - CONFIG="--target-list=${MAIN_SOFTMMU_TARGETS} "
      compiler: clang
      before_script:
        - ./configure ${CONFIG} --extra-cflags="-fsanitize=undefined -Werror" || { cat config.log && exit 1; }


    - env:
        - CONFIG="--disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default"
      compiler: clang


    # gprof/gcov are GCC features
    - env:
        - CONFIG="--enable-gprof --enable-gcov --disable-pie --target-list=${MAIN_SOFTMMU_TARGETS}"
      after_success:
        - ${SRC_DIR}/scripts/travis/coverage-summary.sh


    # We manually include builds which we disable "make check" for
    - env:
        - CONFIG="--without-default-devices --disable-user"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
        - TEST_CMD=""


    # We manually include builds which we disable "make check" for
    - env:
        - CONFIG="--enable-debug --enable-tcg-interpreter"
        - TEST_CMD=""


    # We don't need to exercise every backend with every front-end
    - env:
        - CONFIG="--enable-trace-backends=log,simple,syslog --disable-system"
        - TEST_CMD=""


    - env:
        - CONFIG="--enable-trace-backends=ftrace --target-list=x86_64-softmmu"
        - TEST_CMD=""


    - env:
        - CONFIG="--enable-trace-backends=ust --target-list=x86_64-softmmu"
        - TEST_CMD=""


    # MacOSX builds
    - env:
        - CONFIG="--target-list=${MAIN_SOFTMMU_TARGETS}"
      os: osx
      osx_image: xcode9.4
      compiler: clang


    - env:
        - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu"
      os: osx
      osx_image: xcode10.2
      compiler: clang


    # Python builds
    - env:
        - CONFIG="--target-list=x86_64-softmmu"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
      language: python
      python:
        - "3.4"


    - env:
        - CONFIG="--target-list=x86_64-softmmu"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
      language: python
      python:
        - "3.6"


    # Acceptance (Functional) tests
    - env:
        - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu,mips-softmmu,mips64el-softmmu,aarch64-softmmu,arm-softmmu,s390x-softmmu,alpha-softmmu,ppc64-softmmu,m68k-softmmu"
        - TEST_CMD="make check-acceptance"
      after_failure:
        - cat tests/results/latest/job.log
      addons:
        apt:
          packages:
            - python3-pil
            - python3-pip
            - python3.5-venv
            - tesseract-ocr
            - tesseract-ocr-eng


    # Using newer GCC with sanitizers
    - addons:
        apt:
          update: true
          sources:
            # PPAs for newer toolchains
            - ubuntu-toolchain-r-test
          packages:
            # Extra toolchains
            - gcc-9
            - g++-9
            # Build dependencies
            - libaio-dev
            - libattr1-dev
            - libbrlapi-dev
            - libcap-ng-dev
            - libgnutls-dev
            - libgtk-3-dev
            - libiscsi-dev
            - liblttng-ust-dev
            - libnfs-dev
            - libncurses5-dev
            - libnss3-dev
            - libpixman-1-dev
            - libpng12-dev
            - librados-dev
            - libsdl1.2-dev
            - libseccomp-dev
            - libspice-protocol-dev
            - libspice-server-dev
            - libssh-dev
            - liburcu-dev
            - libusb-1.0-0-dev
            - libvte-2.91-dev
            - sparse
            - uuid-dev
      language: generic
      compiler: none
      env:
        - COMPILER_NAME=gcc CXX=g++-9 CC=gcc-9
        - CONFIG="--cc=gcc-9 --cxx=g++-9 --disable-pie --disable-linux-user"
        - TEST_CMD=""
      before_script:
        - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -Wno-error=stringop-truncation -fsanitize=thread -fuse-ld=gold" || { cat config.log && exit 1; }


    # Run check-tcg against linux-user
    - env:
        - CONFIG="--disable-system"
        - TEST_CMD="make -j3 check-tcg V=1"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"


    # Run check-tcg against softmmu targets
    - env:
        - CONFIG="--target-list=xtensa-softmmu,arm-softmmu,aarch64-softmmu,alpha-softmmu"
        - TEST_CMD="make -j3 check-tcg V=1"
        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
