mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-09-06 01:43:39 +00:00
![Thomas Huth](/assets/img/avatar_default.png)
We are doing a lot of cross-compilation tests with GCC in the gitlab-CI already, so we could get some more test coverage by using Clang in the Travis-CI instead. Thus let's switch two additional jobs to use Clang for compilation. Message-ID: <20240320104144.823425-7-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
270 lines
7.5 KiB
YAML
270 lines
7.5 KiB
YAML
os: linux
|
|
dist: jammy
|
|
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 (e.g. "jammy" for Linux)
|
|
# - Names and values of visible environment variables set in .travis.yml or Settings panel
|
|
timeout: 1200
|
|
ccache: true
|
|
pip: 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="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
|
|
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"
|
|
|
|
- name: "[ppc64] Clang check-tcg"
|
|
arch: ppc64le
|
|
compiler: clang
|
|
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
|
|
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
|
|
--target-list=hppa-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
|
|
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] Clang (other-system)"
|
|
arch: s390x
|
|
compiler: clang
|
|
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
|
|
- ninja-build
|
|
# Tests dependencies
|
|
- genisoimage
|
|
env:
|
|
- CONFIG="--disable-containers --audio-drv-list=sdl --disable-user
|
|
--target-list=arm-softmmu,avr-softmmu,microblaze-softmmu,sh4eb-softmmu,sparc64-softmmu,xtensaeb-softmmu"
|
|
|
|
- name: "[s390x] GCC (user)"
|
|
arch: s390x
|
|
addons:
|
|
apt_packages:
|
|
- libgcrypt20-dev
|
|
- libglib2.0-dev
|
|
- libgnutls28-dev
|
|
- ninja-build
|
|
- flex
|
|
- bison
|
|
env:
|
|
- TEST_CMD="make check check-tcg V=1"
|
|
- CONFIG="--disable-containers --disable-system"
|
|
|
|
- name: "[s390x] Clang (disable-tcg)"
|
|
arch: s390x
|
|
compiler: clang
|
|
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
|
|
env:
|
|
- TEST_CMD="make check-unit"
|
|
- CONFIG="--disable-containers --disable-tcg --enable-kvm --disable-tools
|
|
--enable-fdt=system --host-cc=clang --cxx=clang++"
|