Skip to content

Commit

Permalink
Merge tag 'pull-testing-next-200922-2' of https://github.com/stsquad/…
Browse files Browse the repository at this point in the history
…qemu into staging

Testing and CI changes:

  - reduce number of targets for cross_user_build
  - update avocado xlnx_versal test with new binaries
  - add explicit timeouts to a number of avocado TCG tests
  - reduce default timeout to 120s
  - update lcitool to support cross-amd64
  - flatten a number of docker cross containers
  - clean up stale qemu/debian10 dependencies
  - remove obsolete Fedora VM test
  - add configure workaround for meson --disable-pie bug
  - disable --static-pie for aarch64 gitlab runner
  - update aarch32/aarch64 jobs to 22.04
  - deprecate 32 bit big-endian MIPS as a host
  - remove FROM qemu/ support from docker.py
  - remove Debian base images now everything is flat

# -----BEGIN PGP SIGNATURE-----
#
# iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmMp8Q8ACgkQ+9DbCVqe
# KkQmlwf/awT+jOmAW7TjlQnUTgHJ2hyOo7EViY/nmRkPOCT3ZG32pWFHBorHPX7s
# BeqZzpzCvhzaIfObnjIssx13C5QId5XjJGuTgMAnSsGhzTrp7VUJc1/bBfHcD9L2
# dJJduG+bfAkh95heBkry5EhFt2ZMui5yv9DjEH44hUUc9nwKtIQGts3H3fnVqzvv
# rzLZ7c2lhdLpAxHjmjSiiD8H59lJ+DpoziaobW4D7teGgecnyGVvJ9m1YH4Rc+kM
# gpLTOGMhADkQlysf5e5cvxXSJbP7YpXYrsr9X+DfEy5PMt2L3y4Yv0wiAz9ClYvm
# obD4wMQS5echYvb77qS1G8A0VMEPqA==
# =3oYu
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 20 Sep 2022 12:57:51 EDT
# gpg:                using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8  DF35 FBD0 DB09 5A9E 2A44

* tag 'pull-testing-next-200922-2' of https://github.com/stsquad/qemu: (30 commits)
  tests/docker: remove the Debian base images
  tests/docker: remove FROM qemu/ support from docker.py
  tests/docker: update and flatten debian-toolchain
  tests/docker: update and flatten debian-hexagon-cross
  tests/docker: update and flatten debian-loongarch-cross
  tests/docker: update and flatten debian-amd64-cross
  tests/lcitool: bump to latest version
  tests/docker: update and flatten debian-all-test-cross
  tests/docker: flatten debian-riscv64-test-cross
  Deprecate 32 bit big-endian MIPS
  gitlab-ci: update aarch32/aarch64 custom runner jobs
  gitlab-ci/custom-runners: Disable -static-pie for ubuntu-20.04-aarch64
  configure: explicitly set cflags for --disable-pie
  tests/vm: Remove obsolete Fedora VM test
  tests/docker: remove amd64 qemu/debian10 dependency
  tests/docker: remove tricore qemu/debian10 dependency
  tests/docker: flatten debian-powerpc-test-cross
  tests/docker: update and flatten debian-sparc64-cross
  tests/docker: update and flatten debian-sh4-cross
  tests/docker: update and flatten debian-mips64-cross
  ...

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
  • Loading branch information
stefanhaRH committed Sep 21, 2022
2 parents 2906f93 + d996f0a commit 8f3aeb0
Show file tree
Hide file tree
Showing 43 changed files with 362 additions and 476 deletions.
2 changes: 1 addition & 1 deletion .gitlab-ci.d/cirrus/freebsd-12.vars
Expand Up @@ -11,6 +11,6 @@ MAKE='/usr/local/bin/gmake'
NINJA='/usr/local/bin/ninja'
PACKAGING_COMMAND='pkg'
PIP3='/usr/local/bin/pip-3.8'
PKGS='alsa-lib bash bzip2 ca_root_nss capstone4 ccache cdrkit-genisoimage cmocka ctags curl cyrus-sasl dbus diffutils dtc fusefs-libs3 gettext git glib gmake gnutls gsed gtk3 json-c libepoxy libffi libgcrypt libjpeg-turbo libnfs libspice-server libssh libtasn1 llvm lzo2 meson ncurses nettle ninja opencv perl5 pixman pkgconf png py39-numpy py39-pillow py39-pip py39-sphinx py39-sphinx_rtd_theme py39-yaml python3 rpm2cpio sdl2 sdl2_image snappy spice-protocol tesseract texinfo usbredir virglrenderer vte3 zstd'
PKGS='alsa-lib bash bzip2 ca_root_nss capstone4 ccache cdrkit-genisoimage cmocka ctags curl cyrus-sasl dbus diffutils dtc fusefs-libs3 gettext git glib gmake gnutls gsed gtk3 json-c libepoxy libffi libgcrypt libjpeg-turbo libnfs libslirp libspice-server libssh libtasn1 llvm lzo2 meson ncurses nettle ninja opencv perl5 pixman pkgconf png py39-numpy py39-pillow py39-pip py39-sphinx py39-sphinx_rtd_theme py39-yaml python3 rpm2cpio sdl2 sdl2_image snappy spice-protocol tesseract texinfo usbredir virglrenderer vte3 zstd'
PYPI_PKGS=''
PYTHON='/usr/local/bin/python3'
2 changes: 1 addition & 1 deletion .gitlab-ci.d/cirrus/freebsd-13.vars
Expand Up @@ -11,6 +11,6 @@ MAKE='/usr/local/bin/gmake'
NINJA='/usr/local/bin/ninja'
PACKAGING_COMMAND='pkg'
PIP3='/usr/local/bin/pip-3.8'
PKGS='alsa-lib bash bzip2 ca_root_nss capstone4 ccache cdrkit-genisoimage cmocka ctags curl cyrus-sasl dbus diffutils dtc fusefs-libs3 gettext git glib gmake gnutls gsed gtk3 json-c libepoxy libffi libgcrypt libjpeg-turbo libnfs libspice-server libssh libtasn1 llvm lzo2 meson ncurses nettle ninja opencv perl5 pixman pkgconf png py39-numpy py39-pillow py39-pip py39-sphinx py39-sphinx_rtd_theme py39-yaml python3 rpm2cpio sdl2 sdl2_image snappy spice-protocol tesseract texinfo usbredir virglrenderer vte3 zstd'
PKGS='alsa-lib bash bzip2 ca_root_nss capstone4 ccache cdrkit-genisoimage cmocka ctags curl cyrus-sasl dbus diffutils dtc fusefs-libs3 gettext git glib gmake gnutls gsed gtk3 json-c libepoxy libffi libgcrypt libjpeg-turbo libnfs libslirp libspice-server libssh libtasn1 llvm lzo2 meson ncurses nettle ninja opencv perl5 pixman pkgconf png py39-numpy py39-pillow py39-pip py39-sphinx py39-sphinx_rtd_theme py39-yaml python3 rpm2cpio sdl2 sdl2_image snappy spice-protocol tesseract texinfo usbredir virglrenderer vte3 zstd'
PYPI_PKGS=''
PYTHON='/usr/local/bin/python3'
5 changes: 0 additions & 5 deletions .gitlab-ci.d/container-core.yml
Expand Up @@ -10,8 +10,3 @@ amd64-fedora-container:
extends: .container_job_template
variables:
NAME: fedora

amd64-debian10-container:
extends: .container_job_template
variables:
NAME: debian10
12 changes: 0 additions & 12 deletions .gitlab-ci.d/container-cross.yml
@@ -1,21 +1,18 @@
alpha-debian-cross-container:
extends: .container_job_template
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-alpha-cross

amd64-debian-cross-container:
extends: .container_job_template
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-amd64-cross

amd64-debian-user-cross-container:
extends: .container_job_template
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-all-test-cross

Expand Down Expand Up @@ -66,21 +63,18 @@ hexagon-cross-container:
hppa-debian-cross-container:
extends: .container_job_template
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-hppa-cross

m68k-debian-cross-container:
extends: .container_job_template
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-m68k-cross

mips64-debian-cross-container:
extends: .container_job_template
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-mips64-cross

Expand All @@ -93,7 +87,6 @@ mips64el-debian-cross-container:
mips-debian-cross-container:
extends: .container_job_template
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-mips-cross

Expand All @@ -106,7 +99,6 @@ mipsel-debian-cross-container:
powerpc-test-cross-container:
extends: .container_job_template
stage: containers
needs: ['amd64-debian11-container']
variables:
NAME: debian-powerpc-test-cross

Expand All @@ -128,7 +120,6 @@ riscv64-debian-cross-container:
riscv64-debian-test-cross-container:
extends: .container_job_template
stage: containers
needs: ['amd64-debian11-container']
variables:
NAME: debian-riscv64-test-cross

Expand All @@ -141,21 +132,18 @@ s390x-debian-cross-container:
sh4-debian-cross-container:
extends: .container_job_template
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-sh4-cross

sparc64-debian-cross-container:
extends: .container_job_template
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-sparc64-cross

tricore-debian-cross-container:
extends: .container_job_template
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-tricore-cross

Expand Down
5 changes: 0 additions & 5 deletions .gitlab-ci.d/containers.yml
Expand Up @@ -7,11 +7,6 @@ amd64-alpine-container:
variables:
NAME: alpine

amd64-debian11-container:
extends: .container_job_template
variables:
NAME: debian11

amd64-debian-container:
extends: .container_job_template
stage: containers
Expand Down
5 changes: 4 additions & 1 deletion .gitlab-ci.d/crossbuild-template.yml
Expand Up @@ -46,5 +46,8 @@
- cd build
- PKG_CONFIG_PATH=$PKG_CONFIG_PATH
../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
--disable-system
--disable-system --target-list-exclude="aarch64_be-linux-user
alpha-linux-user cris-linux-user m68k-linux-user microblazeel-linux-user
nios2-linux-user or1k-linux-user ppc-linux-user sparc-linux-user
xtensa-linux-user $CROSS_SKIP_TARGETS"
- make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
14 changes: 0 additions & 14 deletions .gitlab-ci.d/crossbuilds.yml
Expand Up @@ -70,20 +70,6 @@ cross-i386-tci:
EXTRA_CONFIGURE_OPTS: --target-list=i386-softmmu,i386-linux-user,aarch64-softmmu,aarch64-linux-user,ppc-softmmu,ppc-linux-user
MAKE_CHECK_ARGS: check check-tcg

cross-mips-system:
extends: .cross_system_build_job
needs:
job: mips-debian-cross-container
variables:
IMAGE: debian-mips-cross

cross-mips-user:
extends: .cross_user_build_job
needs:
job: mips-debian-cross-container
variables:
IMAGE: debian-mips-cross

cross-mipsel-system:
extends: .cross_system_build_job
needs:
Expand Down
4 changes: 2 additions & 2 deletions .gitlab-ci.d/custom-runners.yml
Expand Up @@ -15,6 +15,6 @@ variables:

include:
- local: '/.gitlab-ci.d/custom-runners/ubuntu-20.04-s390x.yml'
- local: '/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml'
- local: '/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch32.yml'
- local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml'
- local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml'
- local: '/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml'
@@ -1,12 +1,12 @@
# All ubuntu-20.04 jobs should run successfully in an environment
# All ubuntu-22.04 jobs should run successfully in an environment
# setup by the scripts/ci/setup/qemu/build-environment.yml task
# "Install basic packages to build QEMU on Ubuntu 20.04"

ubuntu-20.04-aarch32-all:
ubuntu-22.04-aarch32-all:
needs: []
stage: build
tags:
- ubuntu_20.04
- ubuntu_22.04
- aarch32
rules:
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
Expand Down
Expand Up @@ -2,33 +2,33 @@
# setup by the scripts/ci/setup/qemu/build-environment.yml task
# "Install basic packages to build QEMU on Ubuntu 20.04"

ubuntu-20.04-aarch64-all-linux-static:
ubuntu-22.04-aarch64-all-linux-static:
needs: []
stage: build
tags:
- ubuntu_20.04
- ubuntu_22.04
- aarch64
rules:
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
- if: "$AARCH64_RUNNER_AVAILABLE"
script:
# --disable-libssh is needed because of https://bugs.launchpad.net/qemu/+bug/1838763
# --disable-glusterfs is needed because there's no static version of those libs in distro supplied packages
- mkdir build
- cd build
- ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh
# Disable -static-pie due to build error with system libc:
# https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1987438
- ../configure --enable-debug --static --disable-system --disable-pie
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc --ignore=40`
- make --output-sync -j`nproc --ignore=40` check V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;
- make --output-sync -j`nproc --ignore=40` check-tcg V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-20.04-aarch64-all:
ubuntu-22.04-aarch64-all:
needs: []
stage: build
tags:
- ubuntu_20.04
- ubuntu_22.04
- aarch64
rules:
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
Expand All @@ -40,36 +40,36 @@ ubuntu-20.04-aarch64-all:
script:
- mkdir build
- cd build
- ../configure --disable-libssh
- ../configure
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc --ignore=40`
- make --output-sync -j`nproc --ignore=40` check V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-20.04-aarch64-alldbg:
ubuntu-22.04-aarch64-alldbg:
needs: []
stage: build
tags:
- ubuntu_20.04
- ubuntu_22.04
- aarch64
rules:
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
- if: "$AARCH64_RUNNER_AVAILABLE"
script:
- mkdir build
- cd build
- ../configure --enable-debug --disable-libssh
- ../configure --enable-debug
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make clean
- make --output-sync -j`nproc --ignore=40`
- make --output-sync -j`nproc --ignore=40` check V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-20.04-aarch64-clang:
ubuntu-22.04-aarch64-clang:
needs: []
stage: build
tags:
- ubuntu_20.04
- ubuntu_22.04
- aarch64
rules:
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
Expand All @@ -87,11 +87,11 @@ ubuntu-20.04-aarch64-clang:
- make --output-sync -j`nproc --ignore=40` check V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-20.04-aarch64-tci:
ubuntu-22.04-aarch64-tci:
needs: []
stage: build
tags:
- ubuntu_20.04
- ubuntu_22.04
- aarch64
rules:
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
Expand All @@ -103,15 +103,15 @@ ubuntu-20.04-aarch64-tci:
script:
- mkdir build
- cd build
- ../configure --disable-libssh --enable-tcg-interpreter
- ../configure --enable-tcg-interpreter
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc --ignore=40`

ubuntu-20.04-aarch64-notcg:
ubuntu-22.04-aarch64-notcg:
needs: []
stage: build
tags:
- ubuntu_20.04
- ubuntu_22.04
- aarch64
rules:
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
Expand All @@ -123,7 +123,7 @@ ubuntu-20.04-aarch64-notcg:
script:
- mkdir build
- cd build
- ../configure --disable-libssh --disable-tcg
- ../configure --disable-tcg
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc --ignore=40`
- make --output-sync -j`nproc --ignore=40` check V=1
Expand Down
3 changes: 2 additions & 1 deletion MAINTAINERS
Expand Up @@ -3724,7 +3724,8 @@ GitLab custom runner (Works On Arm Sponsored)
M: Alex Bennée <alex.bennee@linaro.org>
M: Philippe Mathieu-Daudé <f4bug@amsat.org>
S: Maintained
F: .gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml
F: .gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml
F: .gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml

Documentation
-------------
Expand Down
3 changes: 3 additions & 0 deletions configure
Expand Up @@ -1382,6 +1382,9 @@ elif test "$pie" = "no"; then
if compile_prog "-Werror -fno-pie" "-no-pie"; then
CONFIGURE_CFLAGS="-fno-pie $CONFIGURE_CFLAGS"
CONFIGURE_LDFLAGS="-no-pie $CONFIGURE_LDFLAGS"
# Meson currently only handles pie as a boolean for now so if we have
# explicitly disabled PIE we need to extend our cflags because it wont.
QEMU_CFLAGS="-fno-pie -no-pie $QEMU_CFLAGS"
fi
elif compile_prog "-Werror -fPIE -DPIE" "-pie"; then
CONFIGURE_CFLAGS="-fPIE -DPIE $CONFIGURE_CFLAGS"
Expand Down
2 changes: 1 addition & 1 deletion docs/about/build-platforms.rst
Expand Up @@ -41,7 +41,7 @@ Those hosts are officially supported, with various accelerators:
- Accelerators
* - Arm
- kvm (64 bit only), tcg, xen
* - MIPS
* - MIPS (little endian only)
- kvm, tcg
* - PPC
- kvm, tcg
Expand Down
13 changes: 13 additions & 0 deletions docs/about/deprecated.rst
Expand Up @@ -213,6 +213,19 @@ MIPS ``Trap-and-Emul`` KVM support (since 6.0)
The MIPS ``Trap-and-Emul`` KVM host and guest support has been removed
from Linux upstream kernel, declare it deprecated.

Host Architectures
------------------

BE MIPS (since 7.2)
'''''''''''''''''''

As Debian 10 ("Buster") moved into LTS the big endian 32 bit version of
MIPS moved out of support making it hard to maintain our
cross-compilation CI tests of the architecture. As we no longer have
CI coverage support may bitrot away before the deprecation process
completes. The little endian variants of MIPS (both 32 and 64 bit) are
still a supported host architecture.

QEMU API (QAPI) events
----------------------

Expand Down
2 changes: 1 addition & 1 deletion docs/devel/testing.rst
Expand Up @@ -375,7 +375,7 @@ locally by using the ``NOCACHE`` build option:

.. code::
make docker-image-debian10 NOCACHE=1
make docker-image-debian-arm64-cross NOCACHE=1
Images
~~~~~~
Expand Down
2 changes: 1 addition & 1 deletion tests/avocado/avocado_qemu/__init__.py
Expand Up @@ -229,7 +229,7 @@ def exec_command_and_wait_for_pattern(test, command,
class QemuBaseTest(avocado.Test):

# default timeout for all tests, can be overridden
timeout = 900
timeout = 120

def _get_unique_tag_val(self, tag_name):
"""
Expand Down

0 comments on commit 8f3aeb0

Please sign in to comment.