2019-01-09 13:42:00 +03:00
|
|
|
# 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
|
2020-02-25 15:46:57 +03:00
|
|
|
os: linux
|
2020-09-25 18:40:18 +03:00
|
|
|
dist: focal
|
2013-11-06 14:43:37 +04:00
|
|
|
language: c
|
|
|
|
compiler:
|
|
|
|
- gcc
|
2019-09-03 16:26:40 +03:00
|
|
|
cache:
|
2019-09-03 16:26:46 +03:00
|
|
|
# There is one cache per branch and compiler version.
|
|
|
|
# characteristics of each job are used to identify the cache:
|
2020-05-01 14:15:03 +03:00
|
|
|
# - OS name (currently only linux)
|
2020-09-25 18:40:18 +03:00
|
|
|
# - OS distribution (for Linux, bionic or focal)
|
2019-09-03 16:26:46 +03:00
|
|
|
# - Names and values of visible environment variables set in .travis.yml or Settings panel
|
2019-09-03 16:26:41 +03:00
|
|
|
timeout: 1200
|
2019-09-03 16:26:40 +03:00
|
|
|
ccache: true
|
2019-09-03 16:26:42 +03:00
|
|
|
pip: true
|
2019-09-03 16:26:43 +03:00
|
|
|
directories:
|
|
|
|
- $HOME/avocado/data/cache
|
2019-01-09 19:31:06 +03:00
|
|
|
|
|
|
|
|
2016-01-14 22:21:16 +03:00
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
2016-10-01 00:31:03 +03:00
|
|
|
# Build dependencies
|
2016-01-14 22:21:16 +03:00
|
|
|
- libaio-dev
|
|
|
|
- libattr1-dev
|
|
|
|
- libbrlapi-dev
|
|
|
|
- libcap-ng-dev
|
2020-09-25 18:40:18 +03:00
|
|
|
- libgcc-7-dev
|
2019-10-09 20:06:59 +03:00
|
|
|
- libgnutls28-dev
|
2016-01-14 22:21:16 +03:00
|
|
|
- libgtk-3-dev
|
|
|
|
- libiscsi-dev
|
|
|
|
- liblttng-ust-dev
|
|
|
|
- libncurses5-dev
|
2018-01-16 18:11:52 +03:00
|
|
|
- libnfs-dev
|
2016-01-14 22:21:16 +03:00
|
|
|
- libnss3-dev
|
|
|
|
- libpixman-1-dev
|
2019-10-09 20:06:59 +03:00
|
|
|
- libpng-dev
|
2016-01-14 22:21:16 +03:00
|
|
|
- librados-dev
|
2019-10-09 20:06:58 +03:00
|
|
|
- libsdl2-dev
|
|
|
|
- libsdl2-image-dev
|
2016-01-14 22:21:16 +03:00
|
|
|
- libseccomp-dev
|
|
|
|
- libspice-protocol-dev
|
|
|
|
- libspice-server-dev
|
2019-06-20 23:08:40 +03:00
|
|
|
- libssh-dev
|
2016-01-14 22:21:16 +03:00
|
|
|
- liburcu-dev
|
|
|
|
- libusb-1.0-0-dev
|
2019-10-09 20:06:57 +03:00
|
|
|
- libvdeplug-dev
|
2019-01-09 13:42:00 +03:00
|
|
|
- libvte-2.91-dev
|
2019-12-17 23:15:24 +03:00
|
|
|
- libzstd-dev
|
2020-08-13 16:58:50 +03:00
|
|
|
- ninja-build
|
2016-01-14 22:21:16 +03:00
|
|
|
- sparse
|
|
|
|
- uuid-dev
|
2018-06-20 14:00:07 +03:00
|
|
|
- gcovr
|
2020-02-03 12:09:19 +03:00
|
|
|
# Tests dependencies
|
|
|
|
- genisoimage
|
2016-01-14 22:21:16 +03:00
|
|
|
|
2019-01-09 19:31:06 +03:00
|
|
|
|
2016-06-27 21:13:22 +03:00
|
|
|
# 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"
|
2014-03-12 18:13:53 +04:00
|
|
|
notifications:
|
|
|
|
irc:
|
|
|
|
channels:
|
2016-06-27 21:13:22 +03:00
|
|
|
- secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
|
2014-03-12 18:13:53 +04:00
|
|
|
on_success: change
|
|
|
|
on_failure: always
|
2019-01-09 19:31:06 +03:00
|
|
|
|
|
|
|
|
2013-11-06 14:43:37 +04:00
|
|
|
env:
|
|
|
|
global:
|
2019-12-11 17:33:49 +03:00
|
|
|
- SRC_DIR=".."
|
|
|
|
- BUILD_DIR="build"
|
2019-02-01 20:12:29 +03:00
|
|
|
- BASE_CONFIG="--disable-docs --disable-tools"
|
2020-02-03 12:09:29 +03:00
|
|
|
- TEST_BUILD_CMD=""
|
2019-11-07 13:47:03 +03:00
|
|
|
- TEST_CMD="make check V=1"
|
2019-03-19 15:09:49 +03:00
|
|
|
# This is broadly a list of "mainline" softmmu targets which have support across the major distros
|
2019-11-12 21:31:19 +03:00
|
|
|
- MAIN_SOFTMMU_TARGETS="aarch64-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
|
2019-09-03 16:26:44 +03:00
|
|
|
- CCACHE_SLOPPINESS="include_file_ctime,include_file_mtime"
|
|
|
|
- CCACHE_MAXSIZE=1G
|
2020-03-16 20:21:32 +03:00
|
|
|
- G_MESSAGES_DEBUG=error
|
2019-09-03 16:26:44 +03:00
|
|
|
|
2019-01-09 19:31:06 +03:00
|
|
|
|
2014-09-24 14:13:55 +04:00
|
|
|
git:
|
|
|
|
# we want to do this ourselves
|
|
|
|
submodules: false
|
2019-01-09 19:31:06 +03:00
|
|
|
|
2020-02-03 12:09:25 +03:00
|
|
|
# Common first phase for all steps
|
|
|
|
before_install:
|
|
|
|
- if command -v ccache ; then ccache --zero-stats ; fi
|
2020-02-03 12:09:26 +03:00
|
|
|
- export JOBS=$(($(getconf _NPROCESSORS_ONLN) + 1))
|
|
|
|
- echo "=== Using ${JOBS} simultaneous jobs ==="
|
2019-01-09 19:31:06 +03:00
|
|
|
|
2020-02-03 12:09:25 +03:00
|
|
|
# Configure step - may be overridden
|
2014-09-24 14:13:54 +04:00
|
|
|
before_script:
|
2018-06-21 15:26:37 +03:00
|
|
|
- mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
|
2020-10-16 12:49:28 +03:00
|
|
|
- ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log meson-logs/meson-log.txt && exit 1; }
|
2020-02-03 12:09:25 +03:00
|
|
|
|
|
|
|
# Main build & test - rarely overridden - controlled by TEST_CMD
|
2014-09-24 14:13:54 +04:00
|
|
|
script:
|
2020-02-03 12:09:26 +03:00
|
|
|
- BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
|
2020-02-03 12:09:29 +03:00
|
|
|
- |
|
|
|
|
if [ "$BUILD_RC" -eq 0 ] && [ -n "$TEST_BUILD_CMD" ]; then
|
|
|
|
${TEST_BUILD_CMD} || BUILD_RC=$?
|
|
|
|
else
|
|
|
|
$(exit $BUILD_RC);
|
|
|
|
fi
|
2020-02-03 12:09:30 +03:00
|
|
|
- |
|
|
|
|
if [ "$BUILD_RC" -eq 0 ] ; then
|
|
|
|
${TEST_CMD} ;
|
|
|
|
else
|
|
|
|
$(exit $BUILD_RC);
|
|
|
|
fi
|
2019-09-03 16:26:44 +03:00
|
|
|
after_script:
|
2020-05-01 14:15:02 +03:00
|
|
|
- df -h
|
2019-10-09 20:07:00 +03:00
|
|
|
- if command -v ccache ; then ccache --show-stats ; fi
|
2019-01-09 19:31:06 +03:00
|
|
|
|
|
|
|
|
2020-02-25 15:46:57 +03:00
|
|
|
jobs:
|
2013-11-06 14:43:37 +04:00
|
|
|
include:
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "GCC static (user)"
|
|
|
|
env:
|
2019-06-17 18:35:22 +03:00
|
|
|
- CONFIG="--disable-system --static"
|
2019-09-03 16:26:48 +03:00
|
|
|
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
|
2019-01-09 19:31:07 +03:00
|
|
|
|
2019-02-28 13:15:29 +03:00
|
|
|
# Just build tools and run minimal unit and softfloat checks
|
2020-09-09 14:27:34 +03:00
|
|
|
- name: "GCC check-unit and check-softfloat"
|
2020-02-03 12:09:23 +03:00
|
|
|
env:
|
2019-02-28 13:15:29 +03:00
|
|
|
- BASE_CONFIG="--enable-tools"
|
|
|
|
- CONFIG="--disable-user --disable-system"
|
2020-02-03 12:09:26 +03:00
|
|
|
- TEST_CMD="make check-unit check-softfloat -j${JOBS}"
|
2019-09-03 16:26:48 +03:00
|
|
|
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
|
|
|
|
|
2019-02-28 13:15:29 +03:00
|
|
|
|
2019-10-02 13:23:29 +03:00
|
|
|
# --enable-debug implies --enable-debug-tcg, also runs quite a bit slower
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "GCC debug (main-softmmu)"
|
|
|
|
env:
|
2019-10-02 13:23:29 +03:00
|
|
|
- CONFIG="--enable-debug --target-list=${MAIN_SOFTMMU_TARGETS}"
|
2019-09-03 16:26:47 +03:00
|
|
|
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug"
|
2019-02-20 14:28:25 +03:00
|
|
|
|
|
|
|
|
2019-10-02 13:23:29 +03:00
|
|
|
# TCG debug can be run just on its own and is mostly agnostic to user/softmmu distinctions
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "GCC debug (user)"
|
|
|
|
env:
|
2019-02-20 14:28:25 +03:00
|
|
|
- CONFIG="--enable-debug-tcg --disable-system"
|
2019-10-24 19:02:09 +03:00
|
|
|
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg"
|
2019-01-09 19:31:07 +03:00
|
|
|
|
2019-03-08 18:52:13 +03:00
|
|
|
# Module builds are mostly of interest to major distros
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "GCC modules (main-softmmu)"
|
|
|
|
env:
|
2019-03-19 15:09:49 +03:00
|
|
|
- CONFIG="--enable-modules --target-list=${MAIN_SOFTMMU_TARGETS}"
|
2019-09-03 16:26:48 +03:00
|
|
|
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
|
2019-01-09 19:31:07 +03:00
|
|
|
|
|
|
|
|
2019-02-06 18:54:08 +03:00
|
|
|
# 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
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "check-unit coroutine=ucontext"
|
|
|
|
env:
|
2019-02-06 18:54:08 +03:00
|
|
|
- CONFIG="--with-coroutine=ucontext --disable-tcg"
|
2020-02-03 12:09:26 +03:00
|
|
|
- TEST_CMD="make check-unit -j${JOBS} V=1"
|
2019-01-09 19:31:07 +03:00
|
|
|
|
|
|
|
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "check-unit coroutine=sigaltstack"
|
|
|
|
env:
|
2019-02-06 18:54:08 +03:00
|
|
|
- CONFIG="--with-coroutine=sigaltstack --disable-tcg"
|
2020-02-03 12:09:26 +03:00
|
|
|
- TEST_CMD="make check-unit -j${JOBS} V=1"
|
2019-01-09 19:31:07 +03:00
|
|
|
|
|
|
|
|
2019-03-08 18:48:08 +03:00
|
|
|
# Check we can build docs and tools (out of tree)
|
2020-02-03 12:09:24 +03:00
|
|
|
- name: "tools and docs (bionic)"
|
|
|
|
dist: bionic
|
2020-02-03 12:09:23 +03:00
|
|
|
env:
|
2019-03-08 18:48:08 +03:00
|
|
|
- BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.."
|
2019-02-01 20:12:29 +03:00
|
|
|
- BASE_CONFIG="--enable-tools --enable-docs"
|
|
|
|
- CONFIG="--target-list=x86_64-softmmu,aarch64-linux-user"
|
2019-09-03 16:26:48 +03:00
|
|
|
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
|
2019-02-01 20:12:29 +03:00
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
2020-08-13 16:58:50 +03:00
|
|
|
- ninja-build
|
2020-02-04 13:51:42 +03:00
|
|
|
- python3-sphinx
|
2019-02-01 20:12:29 +03:00
|
|
|
- perl
|
|
|
|
|
2019-01-09 19:31:06 +03:00
|
|
|
|
2018-05-29 20:14:04 +03:00
|
|
|
# Test with Clang for compile portability (Travis uses clang-5.0)
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "Clang (user)"
|
|
|
|
env:
|
2020-05-20 17:05:29 +03:00
|
|
|
- CONFIG="--disable-system --host-cc=clang --cxx=clang++"
|
2019-09-03 16:26:49 +03:00
|
|
|
- CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default"
|
2018-05-29 20:14:04 +03:00
|
|
|
compiler: clang
|
2019-01-09 19:31:06 +03:00
|
|
|
|
|
|
|
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "Clang (main-softmmu)"
|
|
|
|
env:
|
2020-05-20 17:05:29 +03:00
|
|
|
- CONFIG="--target-list=${MAIN_SOFTMMU_TARGETS}
|
|
|
|
--host-cc=clang --cxx=clang++"
|
2019-10-22 16:07:40 +03:00
|
|
|
- CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-sanitize"
|
2019-05-28 21:21:19 +03:00
|
|
|
compiler: clang
|
|
|
|
before_script:
|
2019-12-11 17:33:49 +03:00
|
|
|
- mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
|
2020-10-16 12:49:28 +03:00
|
|
|
- ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-fsanitize=undefined -Werror" || { cat config.log meson-logs/meson-log.txt && exit 1; }
|
2019-05-28 21:21:19 +03:00
|
|
|
|
|
|
|
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "Clang (other-softmmu)"
|
|
|
|
env:
|
2020-05-20 17:05:29 +03:00
|
|
|
- CONFIG="--disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}
|
|
|
|
--host-cc=clang --cxx=clang++"
|
2019-09-03 16:26:49 +03:00
|
|
|
- CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default"
|
2016-10-27 16:23:45 +03:00
|
|
|
compiler: clang
|
2019-01-09 19:31:06 +03:00
|
|
|
|
|
|
|
|
2016-03-15 19:12:58 +03:00
|
|
|
# gprof/gcov are GCC features
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "GCC gprof/gcov"
|
2020-09-25 18:40:18 +03:00
|
|
|
dist: bionic
|
2020-08-13 16:58:50 +03:00
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- ninja-build
|
2020-02-03 12:09:23 +03:00
|
|
|
env:
|
2020-09-25 18:40:18 +03:00
|
|
|
- CONFIG="--enable-gprof --enable-gcov --disable-libssh
|
|
|
|
--target-list=${MAIN_SOFTMMU_TARGETS}"
|
2018-06-20 14:00:07 +03:00
|
|
|
after_success:
|
|
|
|
- ${SRC_DIR}/scripts/travis/coverage-summary.sh
|
2019-01-09 19:31:06 +03:00
|
|
|
|
|
|
|
|
2019-01-31 17:57:53 +03:00
|
|
|
# We manually include builds which we disable "make check" for
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "GCC without-default-devices (softmmu)"
|
|
|
|
env:
|
2019-03-19 15:12:52 +03:00
|
|
|
- CONFIG="--without-default-devices --disable-user"
|
2019-09-03 16:26:48 +03:00
|
|
|
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
|
2019-01-31 17:57:53 +03:00
|
|
|
- TEST_CMD=""
|
|
|
|
|
|
|
|
|
2018-06-14 13:28:20 +03:00
|
|
|
# We don't need to exercise every backend with every front-end
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "GCC trace log,simple,syslog (user)"
|
|
|
|
env:
|
2019-01-09 19:31:08 +03:00
|
|
|
- CONFIG="--enable-trace-backends=log,simple,syslog --disable-system"
|
|
|
|
- TEST_CMD=""
|
2019-01-09 19:31:06 +03:00
|
|
|
|
|
|
|
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "GCC trace ftrace (x86_64-softmmu)"
|
|
|
|
env:
|
2019-01-09 19:31:08 +03:00
|
|
|
- CONFIG="--enable-trace-backends=ftrace --target-list=x86_64-softmmu"
|
|
|
|
- TEST_CMD=""
|
2019-01-09 19:31:06 +03:00
|
|
|
|
|
|
|
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "GCC trace ust (x86_64-softmmu)"
|
|
|
|
env:
|
2019-01-09 19:31:08 +03:00
|
|
|
- CONFIG="--enable-trace-backends=ust --target-list=x86_64-softmmu"
|
|
|
|
- TEST_CMD=""
|
2019-01-09 19:31:06 +03:00
|
|
|
|
|
|
|
|
2016-10-01 00:31:03 +03:00
|
|
|
# Using newer GCC with sanitizers
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "GCC9 with sanitizers (softmmu)"
|
2020-09-25 18:40:18 +03:00
|
|
|
dist: bionic
|
2020-02-03 12:09:23 +03:00
|
|
|
addons:
|
2016-10-01 00:31:03 +03:00
|
|
|
apt:
|
2018-05-30 11:09:31 +03:00
|
|
|
update: true
|
2016-10-01 00:31:03 +03:00
|
|
|
sources:
|
|
|
|
# PPAs for newer toolchains
|
|
|
|
- ubuntu-toolchain-r-test
|
|
|
|
packages:
|
|
|
|
# Extra toolchains
|
2019-05-28 21:13:08 +03:00
|
|
|
- gcc-9
|
|
|
|
- g++-9
|
2016-10-01 00:31:03 +03:00
|
|
|
# Build dependencies
|
|
|
|
- libaio-dev
|
|
|
|
- libattr1-dev
|
|
|
|
- libbrlapi-dev
|
|
|
|
- libcap-ng-dev
|
2020-09-25 18:40:18 +03:00
|
|
|
- libgnutls28-dev
|
2016-10-01 00:31:03 +03:00
|
|
|
- libgtk-3-dev
|
|
|
|
- libiscsi-dev
|
|
|
|
- liblttng-ust-dev
|
|
|
|
- libnfs-dev
|
|
|
|
- libncurses5-dev
|
|
|
|
- libnss3-dev
|
|
|
|
- libpixman-1-dev
|
2020-09-25 18:40:18 +03:00
|
|
|
- libpng-dev
|
2016-10-01 00:31:03 +03:00
|
|
|
- librados-dev
|
2019-10-09 20:06:58 +03:00
|
|
|
- libsdl2-dev
|
|
|
|
- libsdl2-image-dev
|
2016-10-01 00:31:03 +03:00
|
|
|
- libseccomp-dev
|
|
|
|
- libspice-protocol-dev
|
|
|
|
- libspice-server-dev
|
|
|
|
- liburcu-dev
|
|
|
|
- libusb-1.0-0-dev
|
2019-01-09 13:42:00 +03:00
|
|
|
- libvte-2.91-dev
|
2020-08-13 16:58:50 +03:00
|
|
|
- ninja-build
|
2016-10-01 00:31:03 +03:00
|
|
|
- sparse
|
|
|
|
- uuid-dev
|
|
|
|
language: generic
|
|
|
|
compiler: none
|
|
|
|
env:
|
2019-05-28 21:13:08 +03:00
|
|
|
- COMPILER_NAME=gcc CXX=g++-9 CC=gcc-9
|
2020-09-25 18:40:18 +03:00
|
|
|
- CONFIG="--cc=gcc-9 --cxx=g++-9 --disable-linux-user"
|
2016-10-01 00:31:03 +03:00
|
|
|
- TEST_CMD=""
|
|
|
|
before_script:
|
2019-12-11 17:33:49 +03:00
|
|
|
- mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
|
2020-10-16 12:49:28 +03:00
|
|
|
- ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread" || { cat config.log meson-logs/meson-log.txt && exit 1; }
|
2019-01-09 19:31:06 +03:00
|
|
|
|
|
|
|
|
2019-02-28 13:18:43 +03:00
|
|
|
# Run check-tcg against linux-user
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "GCC check-tcg (user)"
|
|
|
|
env:
|
2019-10-23 19:47:51 +03:00
|
|
|
- CONFIG="--disable-system --enable-debug-tcg"
|
2020-02-03 12:09:32 +03:00
|
|
|
- TEST_BUILD_CMD="make build-tcg"
|
2020-02-03 12:09:29 +03:00
|
|
|
- TEST_CMD="make check-tcg"
|
2019-10-24 19:02:09 +03:00
|
|
|
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg"
|
2019-09-03 16:26:48 +03:00
|
|
|
|
2019-02-28 13:18:43 +03:00
|
|
|
|
|
|
|
# Run check-tcg against softmmu targets
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "GCC check-tcg (some-softmmu)"
|
|
|
|
env:
|
2019-10-23 19:47:51 +03:00
|
|
|
- CONFIG="--enable-debug-tcg --target-list=xtensa-softmmu,arm-softmmu,aarch64-softmmu,alpha-softmmu"
|
2020-02-25 15:46:58 +03:00
|
|
|
- TEST_BUILD_CMD="make build-tcg"
|
2020-02-03 12:09:29 +03:00
|
|
|
- TEST_CMD="make check-tcg"
|
2019-10-24 19:02:09 +03:00
|
|
|
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg"
|
2019-10-07 19:04:49 +03:00
|
|
|
|
|
|
|
|
2019-10-11 18:41:16 +03:00
|
|
|
# Run check-tcg against softmmu targets (with plugins)
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "GCC plugins check-tcg (some-softmmu)"
|
|
|
|
env:
|
2019-10-24 19:02:09 +03:00
|
|
|
- CONFIG="--enable-plugins --enable-debug-tcg --target-list=xtensa-softmmu,arm-softmmu,aarch64-softmmu,alpha-softmmu"
|
2020-02-25 15:46:58 +03:00
|
|
|
- TEST_BUILD_CMD="make build-tcg"
|
2020-02-03 12:09:29 +03:00
|
|
|
- TEST_CMD="make check-tcg"
|
2019-10-24 19:02:09 +03:00
|
|
|
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg"
|
2019-10-07 19:04:49 +03:00
|
|
|
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "[aarch64] GCC check-tcg"
|
|
|
|
arch: arm64
|
2020-09-25 18:40:18 +03:00
|
|
|
dist: focal
|
2019-12-04 18:46:18 +03:00
|
|
|
addons:
|
|
|
|
apt_packages:
|
|
|
|
- libaio-dev
|
|
|
|
- libattr1-dev
|
|
|
|
- libbrlapi-dev
|
|
|
|
- libcap-ng-dev
|
|
|
|
- libgcrypt20-dev
|
|
|
|
- libgnutls28-dev
|
|
|
|
- libgtk-3-dev
|
|
|
|
- libiscsi-dev
|
|
|
|
- liblttng-ust-dev
|
|
|
|
- libncurses5-dev
|
|
|
|
- libnfs-dev
|
|
|
|
- libnss3-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
|
2020-08-13 16:58:50 +03:00
|
|
|
- ninja-build
|
2020-02-03 12:09:19 +03:00
|
|
|
# Tests dependencies
|
|
|
|
- genisoimage
|
2019-12-04 18:46:18 +03:00
|
|
|
env:
|
|
|
|
- TEST_CMD="make check check-tcg V=1"
|
|
|
|
- CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS}"
|
2020-06-05 18:49:20 +03:00
|
|
|
- UNRELIABLE=true
|
2019-12-04 18:46:18 +03:00
|
|
|
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "[ppc64] GCC check-tcg"
|
|
|
|
arch: ppc64le
|
2020-09-25 18:40:18 +03:00
|
|
|
dist: focal
|
2019-12-04 18:46:18 +03:00
|
|
|
addons:
|
|
|
|
apt_packages:
|
|
|
|
- libaio-dev
|
|
|
|
- libattr1-dev
|
|
|
|
- libbrlapi-dev
|
|
|
|
- libcap-ng-dev
|
|
|
|
- libgcrypt20-dev
|
|
|
|
- libgnutls28-dev
|
|
|
|
- libgtk-3-dev
|
|
|
|
- libiscsi-dev
|
|
|
|
- liblttng-ust-dev
|
|
|
|
- libncurses5-dev
|
|
|
|
- libnfs-dev
|
|
|
|
- libnss3-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
|
2020-08-13 16:58:50 +03:00
|
|
|
- ninja-build
|
2020-02-03 12:09:19 +03:00
|
|
|
# Tests dependencies
|
|
|
|
- genisoimage
|
2019-12-04 18:46:18 +03:00
|
|
|
env:
|
|
|
|
- TEST_CMD="make check check-tcg V=1"
|
2020-05-01 14:15:05 +03:00
|
|
|
- CONFIG="--disable-containers --target-list=ppc64-softmmu,ppc64le-linux-user"
|
2019-12-04 18:46:18 +03:00
|
|
|
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "[s390x] GCC check-tcg"
|
|
|
|
arch: s390x
|
2019-12-04 18:46:18 +03:00
|
|
|
dist: bionic
|
|
|
|
addons:
|
|
|
|
apt_packages:
|
|
|
|
- libaio-dev
|
|
|
|
- libattr1-dev
|
|
|
|
- libbrlapi-dev
|
|
|
|
- libcap-ng-dev
|
|
|
|
- libgcrypt20-dev
|
|
|
|
- libgnutls28-dev
|
|
|
|
- libgtk-3-dev
|
|
|
|
- libiscsi-dev
|
|
|
|
- liblttng-ust-dev
|
|
|
|
- libncurses5-dev
|
|
|
|
- libnfs-dev
|
|
|
|
- libnss3-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
|
2020-08-13 16:58:50 +03:00
|
|
|
- ninja-build
|
2020-02-03 12:09:19 +03:00
|
|
|
# Tests dependencies
|
|
|
|
- genisoimage
|
2019-12-04 18:46:18 +03:00
|
|
|
env:
|
|
|
|
- TEST_CMD="make check check-tcg V=1"
|
|
|
|
- CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS},s390x-linux-user"
|
2020-06-05 18:49:20 +03:00
|
|
|
- UNRELIABLE=true
|
2020-02-25 15:46:56 +03:00
|
|
|
script:
|
|
|
|
- BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
|
|
|
|
- |
|
|
|
|
if [ "$BUILD_RC" -eq 0 ] ; then
|
|
|
|
mv pc-bios/s390-ccw/*.img pc-bios/ ;
|
|
|
|
${TEST_CMD} ;
|
|
|
|
else
|
|
|
|
$(exit $BUILD_RC);
|
|
|
|
fi
|
2019-10-07 19:04:49 +03:00
|
|
|
|
2020-06-08 14:40:49 +03:00
|
|
|
- name: "[s390x] GCC (other-softmmu)"
|
|
|
|
arch: s390x
|
|
|
|
dist: bionic
|
|
|
|
addons:
|
|
|
|
apt_packages:
|
|
|
|
- libaio-dev
|
|
|
|
- libattr1-dev
|
|
|
|
- libcap-ng-dev
|
|
|
|
- libgnutls28-dev
|
|
|
|
- libiscsi-dev
|
|
|
|
- liblttng-ust-dev
|
|
|
|
- liblzo2-dev
|
|
|
|
- libncurses-dev
|
|
|
|
- libnfs-dev
|
|
|
|
- libnss3-dev
|
|
|
|
- libpixman-1-dev
|
|
|
|
- libsdl2-dev
|
|
|
|
- libsdl2-image-dev
|
|
|
|
- libseccomp-dev
|
|
|
|
- libsnappy-dev
|
|
|
|
- libzstd-dev
|
|
|
|
- nettle-dev
|
|
|
|
- xfslibs-dev
|
2020-08-13 16:58:50 +03:00
|
|
|
- ninja-build
|
2020-06-08 14:40:49 +03:00
|
|
|
# Tests dependencies
|
|
|
|
- genisoimage
|
|
|
|
env:
|
|
|
|
- CONFIG="--disable-containers --audio-drv-list=sdl --disable-user
|
|
|
|
--target-list-exclude=${MAIN_SOFTMMU_TARGETS}"
|
|
|
|
|
|
|
|
- name: "[s390x] GCC (user)"
|
|
|
|
arch: s390x
|
|
|
|
dist: bionic
|
|
|
|
addons:
|
|
|
|
apt_packages:
|
|
|
|
- libgcrypt20-dev
|
|
|
|
- libgnutls28-dev
|
2020-08-13 16:58:50 +03:00
|
|
|
- ninja-build
|
2020-06-08 14:40:49 +03:00
|
|
|
env:
|
|
|
|
- CONFIG="--disable-containers --disable-system"
|
|
|
|
|
2020-05-13 20:51:26 +03:00
|
|
|
- name: "[s390x] Clang (disable-tcg)"
|
2020-03-23 19:15:14 +03:00
|
|
|
arch: s390x
|
|
|
|
dist: bionic
|
2020-05-13 20:51:26 +03:00
|
|
|
compiler: clang
|
2020-03-23 19:15:14 +03:00
|
|
|
addons:
|
|
|
|
apt_packages:
|
|
|
|
- libaio-dev
|
|
|
|
- libattr1-dev
|
|
|
|
- libbrlapi-dev
|
|
|
|
- libcap-ng-dev
|
|
|
|
- libgcrypt20-dev
|
|
|
|
- libgnutls28-dev
|
|
|
|
- libgtk-3-dev
|
|
|
|
- libiscsi-dev
|
|
|
|
- liblttng-ust-dev
|
|
|
|
- libncurses5-dev
|
|
|
|
- libnfs-dev
|
|
|
|
- libnss3-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
|
2020-08-13 16:58:50 +03:00
|
|
|
- ninja-build
|
2020-03-23 19:15:14 +03:00
|
|
|
env:
|
|
|
|
- TEST_CMD="make check-unit"
|
2020-05-13 20:51:26 +03:00
|
|
|
- CONFIG="--disable-containers --disable-tcg --enable-kvm
|
|
|
|
--disable-tools --host-cc=clang --cxx=clang++"
|
2020-06-05 18:49:20 +03:00
|
|
|
- UNRELIABLE=true
|
2020-03-23 19:15:14 +03:00
|
|
|
|
2019-10-07 19:04:49 +03:00
|
|
|
# Release builds
|
|
|
|
# The make-release script expect a QEMU version, so our tag must start with a 'v'.
|
|
|
|
# This is the case when release candidate tags are created.
|
2020-02-03 12:09:23 +03:00
|
|
|
- name: "Release tarball"
|
|
|
|
if: tag IS present AND tag =~ /^v\d+\.\d+(\.\d+)?(-\S*)?$/
|
2019-10-07 19:04:49 +03:00
|
|
|
env:
|
|
|
|
# We want to build from the release tarball
|
|
|
|
- BUILD_DIR="release/build/dir" SRC_DIR="../../.."
|
|
|
|
- BASE_CONFIG="--prefix=$PWD/dist"
|
|
|
|
- CONFIG="--target-list=x86_64-softmmu,aarch64-softmmu,armeb-linux-user,ppc-linux-user"
|
2020-02-03 12:09:26 +03:00
|
|
|
- TEST_CMD="make install -j${JOBS}"
|
2019-10-07 19:04:49 +03:00
|
|
|
- QEMU_VERSION="${TRAVIS_TAG:1}"
|
|
|
|
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
|
|
|
|
script:
|
|
|
|
- make -C ${SRC_DIR} qemu-${QEMU_VERSION}.tar.bz2
|
|
|
|
- ls -l ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2
|
|
|
|
- tar -xf ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2 && cd qemu-${QEMU_VERSION}
|
2019-12-11 17:33:49 +03:00
|
|
|
- mkdir -p release-build && cd release-build
|
2020-10-16 12:49:28 +03:00
|
|
|
- ../configure ${BASE_CONFIG} ${CONFIG} || { cat config.log meson-logs/meson-log.txt && exit 1; }
|
2019-10-07 19:04:49 +03:00
|
|
|
- make install
|
2020-06-05 18:49:20 +03:00
|
|
|
allow_failures:
|
|
|
|
- env: UNRELIABLE=true
|