Commit a20ab81d authored by Peter Maydell's avatar Peter Maydell
Browse files

Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2020-05-28' into staging



Fixes and improvements for the gitlab-CI:
- Build with other images instead of the broken Debian containers
- Fix building with the latest version of Clang (at least wrt. to
  the gitlab-CI pipeline)
- Add Philippe, Alex and Wainer to the Gitlab-CI section in MAINTAINERS

# gpg: Signature made Thu 28 May 2020 10:16:15 BST
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* remotes/huth-gitlab/tags/pull-request-2020-05-28:
  gitlab-ci: Determine the number of jobs dynamically
  gitlab-ci: Do not use the standard container images from gitlab
  gitlab-ci: Move edk2 and opensbi YAML files to .gitlab-ci.d folder
  GitLab CI: avoid calling before_scripts on unintended jobs
  gitlab-ci: Remove flex/bison packages
  MAINTAINERS: Add Philippe, Alex and Wainer to the Gitlab-CI section
  linux-user: limit check to HOST_LONG_BITS < TARGET_ABI_BITS

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parents 87023dcc 0016afa2
Loading
Loading
Loading
Loading
+0 −0

File moved.

+0 −0

File moved.

+45 −22
Original line number Diff line number Diff line
include:
  - local: '/.gitlab-ci-edk2.yml'
  - local: '/.gitlab-ci-opensbi.yml'
  - local: '/.gitlab-ci.d/edk2.yml'
  - local: '/.gitlab-ci.d/opensbi.yml'

.update_apt_template: &before_script_apt
 before_script:
  - apt-get update -qq
 - apt-get install -y -qq flex bison libglib2.0-dev libpixman-1-dev genisoimage
  - apt-get install -y -qq git gcc libglib2.0-dev libpixman-1-dev make
        genisoimage
  - JOBS=$(expr $(nproc) + 1)

.update_dnf_template: &before_script_dnf
 before_script:
  - dnf update -y
  - dnf install -y bzip2 diffutils gcc git genisoimage findutils glib2-devel
        make python3 perl-podlators perl-Test-Harness pixman-devel zlib-devel
  - JOBS=$(expr $(nproc) + 1)

build-system1:
 image: ubuntu:19.10
 <<: *before_script_apt
 script:
 - apt-get install -y -qq libgtk-3-dev libvte-dev nettle-dev libcacard-dev
      libusb-dev libvde-dev libspice-protocol-dev libgl1-mesa-dev libvdeplug-dev
@@ -15,23 +27,27 @@ build-system1:
 - ../configure --enable-werror --target-list="aarch64-softmmu alpha-softmmu
      cris-softmmu hppa-softmmu lm32-softmmu moxie-softmmu microblazeel-softmmu
      mips64el-softmmu m68k-softmmu ppc-softmmu riscv64-softmmu sparc-softmmu"
 - make -j2
 - make -j2 check
 - make -j"$JOBS"
 - make -j"$JOBS" check

build-system2:
 image: fedora:latest
 <<: *before_script_dnf
 script:
 - apt-get install -y -qq libsdl2-dev libgcrypt-dev libbrlapi-dev libaio-dev
      libfdt-dev liblzo2-dev librdmacm-dev libibverbs-dev libibumad-dev
      libzstd-dev
 - yum install -y SDL2-devel libgcrypt-devel brlapi-devel libaio-devel
       libfdt-devel lzo-devel librdmacm-devel libibverbs-devel libibumad-devel
       libzstd-devel
 - mkdir build
 - cd build
 - ../configure --enable-werror --target-list="tricore-softmmu unicore32-softmmu
      microblaze-softmmu mips-softmmu riscv32-softmmu s390x-softmmu sh4-softmmu
      sparc64-softmmu x86_64-softmmu xtensa-softmmu nios2-softmmu or1k-softmmu"
 - make -j2
 - make -j2 check
 - make -j"$JOBS"
 - make -j"$JOBS" check

build-disabled:
 image: fedora:latest
 <<: *before_script_dnf
 script:
 - mkdir build
 - cd build
@@ -42,16 +58,18 @@ build-disabled:
      --disable-qom-cast-debug --disable-spice --disable-vhost-vsock
      --disable-vhost-net --disable-vhost-crypto --disable-vhost-user
      --target-list="i386-softmmu ppc64-softmmu mips64-softmmu i386-linux-user"
 - make -j2
 - make -j2 check-qtest SPEED=slow
 - make -j"$JOBS"
 - make -j"$JOBS" check-qtest SPEED=slow

build-tcg-disabled:
 image: centos:8
 <<: *before_script_dnf
 script:
 - apt-get install -y -qq clang libgtk-3-dev libusb-dev
 - dnf install -y clang gtk3-devel libusbx-devel libgcrypt-devel
 - mkdir build
 - cd build
 - ../configure --cc=clang --enable-werror --disable-tcg --audio-drv-list=""
 - make -j2
 - make -j"$JOBS"
 - make check-unit
 - make check-qapi-schema
 - cd tests/qemu-iotests/
@@ -64,34 +82,39 @@ build-tcg-disabled:
            260 261 262 263 264 270 272 273 277 279

build-user:
 <<: *before_script_apt
 script:
 - mkdir build
 - cd build
 - ../configure --enable-werror --disable-system --disable-guest-agent
               --disable-capstone --disable-slirp --disable-fdt
 - make -j2
 - make -j"$JOBS"
 - make run-tcg-tests-i386-linux-user run-tcg-tests-x86_64-linux-user

build-clang:
 image: fedora:latest
 <<: *before_script_dnf
 script:
 - apt-get install -y -qq clang libsdl2-dev libattr1-dev libcap-ng-dev
      xfslibs-dev libiscsi-dev libnfs-dev libseccomp-dev gnutls-dev librbd-dev
 - yum install -y clang SDL2-devel libattr-devel libcap-ng-devel xfsprogs-devel
       libiscsi-devel libnfs-devel libseccomp-devel gnutls-devel librbd-devel
 - mkdir build
 - cd build
 - ../configure --cc=clang --cxx=clang++ --enable-werror
      --target-list="alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu
                     ppc-softmmu s390x-softmmu x86_64-softmmu arm-linux-user"
 - make -j2
 - make -j2 check
 - make -j"$JOBS"
 - make -j"$JOBS" check

build-tci:
 image: centos:8
 <<: *before_script_dnf
 script:
 - TARGETS="aarch64 alpha arm hppa m68k microblaze moxie ppc64 s390x x86_64"
 - mkdir build
 - cd build
 - ../configure --enable-tcg-interpreter
      --target-list="$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; done)"
 - make -j2
 - make -j"$JOBS"
 - make run-tcg-tests-x86_64-softmmu
 - make tests/qtest/boot-serial-test tests/qtest/cdrom-test tests/qtest/pxe-test
 - for tg in $TARGETS ; do
+4 −1
Original line number Diff line number Diff line
@@ -2542,7 +2542,7 @@ F: roms/edk2
F: roms/edk2-*
F: tests/data/uefi-boot-images/
F: tests/uefi-test-tools/
F: .gitlab-ci-edk2.yml
F: .gitlab-ci.d/edk2.yml
F: .gitlab-ci.d/edk2/

Usermode Emulation
@@ -2901,6 +2901,9 @@ W: https://cirrus-ci.com/github/qemu/qemu

GitLab Continuous Integration
M: Thomas Huth <thuth@redhat.com>
M: Philippe Mathieu-Daudé <philmd@redhat.com>
M: Alex Bennée <alex.bennee@linaro.org>
R: Wainer dos Santos Moschetta <wainersm@redhat.com>
S: Maintained
F: .gitlab-ci.yml

+2 −0
Original line number Diff line number Diff line
@@ -2073,12 +2073,14 @@ static void pgb_have_guest_base(const char *image_name, abi_ulong guest_loaddr,
            exit(EXIT_FAILURE);
        }
    } else {
#if HOST_LONG_BITS < TARGET_ABI_BITS
        if ((guest_hiaddr - guest_base) > ~(uintptr_t)0) {
            error_report("%s: requires more virtual address space "
                         "than the host can provide (0x%" PRIx64 ")",
                         image_name, (uint64_t)guest_hiaddr - guest_base);
            exit(EXIT_FAILURE);
        }
#endif
    }

    /*