qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore
@ 2020-09-21 17:43 Thomas Huth
  2020-09-21 17:43 ` [PATCH 1/7] tests/docker: Use Fedora containers for MinGW cross-builds in the gitlab-CI Thomas Huth
                   ` (7 more replies)
  0 siblings, 8 replies; 31+ messages in thread
From: Thomas Huth @ 2020-09-21 17:43 UTC (permalink / raw)
  To: qemu-devel, Alex Bennée
  Cc: Daniel P . Berrangé,
	Eduardo Habkost, Philippe Mathieu-Daudé,
	Markus Armbruster, Wainer dos Santos Moschetta, Cleber Rosa,
	John Snow

Debian 9 is EOL now, and according to our support policy, we do not
support it anymore. Let's switch the corresponding CI builds to
either Fedora (for a more recent version of the MinGW compilers) or
Debian 10 instead.

Together with the Travis patch series that I recently posted ("Update
Travis from Xenial to Bionic and Focal"), our CI should now be free of
distros that we do not support anymore. And all supported build systems
now use at least Python 3.6, so we can drop the support for Python 3.5.

Based-on: <20200918103430.297167-1-thuth@redhat.com>

Thomas Huth (7):
  tests/docker: Use Fedora containers for MinGW cross-builds in the
    gitlab-CI
  gitlab-ci: Remove the Debian9-based containers and containers-layer3
  tests/docker: Update the tricore container to debian 10
  shippable.yml: Remove the Debian9-based MinGW cross-compiler tests
  tests/docker: Remove old Debian 9 containers
  gitlab-ci: Increase the timeout for the cross-compiler builds
  configure: Bump the minimum required Python version to 3.6

 .gitlab-ci.d/containers.yml                   | 38 +++++-----------
 .gitlab-ci.d/crossbuilds.yml                  |  5 ++-
 .gitlab-ci.yml                                |  1 -
 .shippable.yml                                |  4 --
 configure                                     |  4 +-
 tests/docker/Makefile.include                 |  2 +-
 .../dockerfiles/debian-tricore-cross.docker   |  2 +-
 .../dockerfiles/debian-win32-cross.docker     | 38 ----------------
 .../dockerfiles/debian-win64-cross.docker     | 45 -------------------
 tests/docker/dockerfiles/debian9-mxe.docker   | 21 ---------
 tests/docker/dockerfiles/debian9.docker       | 32 -------------
 .../dockerfiles/fedora-win32-cross.docker     | 42 +++++++++++++++++
 .../dockerfiles/fedora-win64-cross.docker     | 38 ++++++++++++++++
 13 files changed, 98 insertions(+), 174 deletions(-)
 delete mode 100644 tests/docker/dockerfiles/debian-win32-cross.docker
 delete mode 100644 tests/docker/dockerfiles/debian-win64-cross.docker
 delete mode 100644 tests/docker/dockerfiles/debian9-mxe.docker
 delete mode 100644 tests/docker/dockerfiles/debian9.docker
 create mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker
 create mode 100644 tests/docker/dockerfiles/fedora-win64-cross.docker

-- 
2.18.2



^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH 1/7] tests/docker: Use Fedora containers for MinGW cross-builds in the gitlab-CI
  2020-09-21 17:43 [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore Thomas Huth
@ 2020-09-21 17:43 ` Thomas Huth
  2020-09-21 18:03   ` Daniel P. Berrangé
  2020-09-21 17:43 ` [PATCH 2/7] gitlab-ci: Remove the Debian9-based containers and containers-layer3 Thomas Huth
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 31+ messages in thread
From: Thomas Huth @ 2020-09-21 17:43 UTC (permalink / raw)
  To: qemu-devel, Alex Bennée
  Cc: Daniel P . Berrangé,
	Eduardo Habkost, Philippe Mathieu-Daudé,
	Markus Armbruster, Wainer dos Santos Moschetta, Cleber Rosa,
	John Snow

According to our support policy, we do not support Debian 9 in QEMU
anymore, and we only support building the Windows binaries with a
very recent version of the MinGW toolchain. So we should not test
the MinGW cross-compilation with Debian 9 anymore, but switch to
something newer like Fedora. To do this, we need a separate Fedora
container for each build that provides the QEMU_CONFIGURE_OPTS
environment variable.
Unfortunately, the MinGW 64-bit compiler seems to be a little bit
slow, so we also have to disable some features like "capstone" in the
build here to make sure that the CI pipelines still finish within a
reasonable amount of time.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.d/containers.yml                   | 10 +++++
 .gitlab-ci.d/crossbuilds.yml                  |  4 +-
 .../dockerfiles/fedora-win32-cross.docker     | 42 +++++++++++++++++++
 .../dockerfiles/fedora-win64-cross.docker     | 38 +++++++++++++++++
 4 files changed, 92 insertions(+), 2 deletions(-)
 create mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker
 create mode 100644 tests/docker/dockerfiles/fedora-win64-cross.docker

diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
index 8c89efeb6d..15e7b564f9 100644
--- a/.gitlab-ci.d/containers.yml
+++ b/.gitlab-ci.d/containers.yml
@@ -248,6 +248,16 @@ i386-fedora-cross-container:
   variables:
     NAME: fedora-i386-cross
 
+win32-fedora-cross-container:
+  <<: *container_job_definition
+  variables:
+    NAME: fedora-win32-cross
+
+win64-fedora-cross-container:
+  <<: *container_job_definition
+  variables:
+    NAME: fedora-win64-cross
+
 amd64-ubuntu1804-container:
   <<: *container_job_definition
   variables:
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 4ec7226b5c..510cfec03b 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -105,9 +105,9 @@ cross-s390x-user:
 cross-win32-system:
   <<: *cross_system_build_job_definition
   variables:
-    IMAGE: debian-win32-cross
+    IMAGE: fedora-win32-cross
 
 cross-win64-system:
   <<: *cross_system_build_job_definition
   variables:
-    IMAGE: debian-win64-cross
+    IMAGE: fedora-win64-cross
diff --git a/tests/docker/dockerfiles/fedora-win32-cross.docker b/tests/docker/dockerfiles/fedora-win32-cross.docker
new file mode 100644
index 0000000000..5903e1b0b4
--- /dev/null
+++ b/tests/docker/dockerfiles/fedora-win32-cross.docker
@@ -0,0 +1,42 @@
+FROM fedora:32
+
+# Please keep this list sorted alphabetically
+ENV PACKAGES \
+    bc \
+    bzip2 \
+    diffutils \
+    findutils \
+    gcc \
+    gettext \
+    git \
+    hostname \
+    make \
+    meson \
+    mingw32-bzip2 \
+    mingw32-curl \
+    mingw32-glib2 \
+    mingw32-gmp \
+    mingw32-gnutls \
+    mingw32-gtk3 \
+    mingw32-libjpeg-turbo \
+    mingw32-libpng \
+    mingw32-libtasn1 \
+    mingw32-nettle \
+    mingw32-nsis \
+    mingw32-pixman \
+    mingw32-pkg-config \
+    mingw32-SDL2 \
+    perl \
+    perl-Test-Harness \
+    python3 \
+    python3-PyYAML \
+    python3-setuptools \
+    tar \
+    which
+
+RUN dnf install -y $PACKAGES
+RUN rpm -q $PACKAGES | sort > /packages.txt
+ENV FEATURES mingw
+
+# Specify the cross prefix for this image (see tests/docker/common.rc)
+ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32-
diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker b/tests/docker/dockerfiles/fedora-win64-cross.docker
new file mode 100644
index 0000000000..7f03cd8ffc
--- /dev/null
+++ b/tests/docker/dockerfiles/fedora-win64-cross.docker
@@ -0,0 +1,38 @@
+FROM fedora:32
+
+# Please keep this list sorted alphabetically
+ENV PACKAGES \
+    bc \
+    bzip2 \
+    diffutils \
+    findutils \
+    gcc \
+    gettext \
+    git \
+    hostname \
+    make \
+    meson \
+    mingw64-bzip2 \
+    mingw64-curl \
+    mingw64-glib2 \
+    mingw64-gmp \
+    mingw64-gtk3 \
+    mingw64-libjpeg-turbo \
+    mingw64-libpng \
+    mingw64-libtasn1 \
+    mingw64-pixman \
+    mingw64-pkg-config \
+    perl \
+    perl-Test-Harness \
+    python3 \
+    python3-PyYAML \
+    python3-setuptools \
+    tar \
+    which
+
+RUN dnf install -y $PACKAGES
+RUN rpm -q $PACKAGES | sort > /packages.txt
+ENV FEATURES mingw
+
+# Specify the cross prefix for this image (see tests/docker/common.rc)
+ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32- --disable-capstone
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [PATCH 2/7] gitlab-ci: Remove the Debian9-based containers and containers-layer3
  2020-09-21 17:43 [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore Thomas Huth
  2020-09-21 17:43 ` [PATCH 1/7] tests/docker: Use Fedora containers for MinGW cross-builds in the gitlab-CI Thomas Huth
@ 2020-09-21 17:43 ` Thomas Huth
  2020-09-21 18:05   ` Daniel P. Berrangé
  2020-09-21 17:43 ` [PATCH 3/7] tests/docker: Update the tricore container to debian 10 Thomas Huth
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 31+ messages in thread
From: Thomas Huth @ 2020-09-21 17:43 UTC (permalink / raw)
  To: qemu-devel, Alex Bennée
  Cc: Daniel P . Berrangé,
	Eduardo Habkost, Philippe Mathieu-Daudé,
	Markus Armbruster, Wainer dos Santos Moschetta, Cleber Rosa,
	John Snow

According to our support policy, Debian 9 is not supported by the
QEMU project anymore. Since we now switched the MinGW cross-compiler
builds to Fedora, we do not need these Debian9-based containers
in the gitlab-CI anymore, and can now also get rid of the "layer3"
container build stage this way.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.d/containers.yml | 14 --------------
 .gitlab-ci.yml              |  1 -
 2 files changed, 15 deletions(-)

diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
index 15e7b564f9..6769eef0ff 100644
--- a/.gitlab-ci.d/containers.yml
+++ b/.gitlab-ci.d/containers.yml
@@ -214,20 +214,6 @@ tricore-debian-cross-container:
   variables:
     NAME: debian-tricore-cross
 
-win32-debian-cross-container:
-  <<: *container_job_definition
-  stage: containers-layer3
-  needs: ['amd64-debian9-mxe-container']
-  variables:
-    NAME: debian-win32-cross
-
-win64-debian-cross-container:
-  <<: *container_job_definition
-  stage: containers-layer3
-  needs: ['amd64-debian9-mxe-container']
-  variables:
-    NAME: debian-win64-cross
-
 xtensa-debian-cross-container:
   <<: *container_job_definition
   variables:
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a18e18b57e..c265e7f8ab 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,7 +4,6 @@
 stages:
   - containers
   - containers-layer2
-  - containers-layer3
   - build
   - test
 
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [PATCH 3/7] tests/docker: Update the tricore container to debian 10
  2020-09-21 17:43 [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore Thomas Huth
  2020-09-21 17:43 ` [PATCH 1/7] tests/docker: Use Fedora containers for MinGW cross-builds in the gitlab-CI Thomas Huth
  2020-09-21 17:43 ` [PATCH 2/7] gitlab-ci: Remove the Debian9-based containers and containers-layer3 Thomas Huth
@ 2020-09-21 17:43 ` Thomas Huth
  2020-09-21 18:05   ` Daniel P. Berrangé
  2020-09-22 10:35   ` Philippe Mathieu-Daudé
  2020-09-21 17:43 ` [PATCH 4/7] shippable.yml: Remove the Debian9-based MinGW cross-compiler tests Thomas Huth
                   ` (4 subsequent siblings)
  7 siblings, 2 replies; 31+ messages in thread
From: Thomas Huth @ 2020-09-21 17:43 UTC (permalink / raw)
  To: qemu-devel, Alex Bennée
  Cc: Daniel P . Berrangé,
	Eduardo Habkost, Philippe Mathieu-Daudé,
	Markus Armbruster, Wainer dos Santos Moschetta, Cleber Rosa,
	John Snow

We do not support Debian 9 anymore, thus update the Tricore container
to Debian 10 now.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.d/containers.yml                          | 2 +-
 tests/docker/Makefile.include                        | 2 +-
 tests/docker/dockerfiles/debian-tricore-cross.docker | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
index 6769eef0ff..089cea7c14 100644
--- a/.gitlab-ci.d/containers.yml
+++ b/.gitlab-ci.d/containers.yml
@@ -210,7 +210,7 @@ sparc64-debian-cross-container:
 tricore-debian-cross-container:
   <<: *container_job_definition
   stage: containers-layer2
-  needs: ['amd64-debian9-container']
+  needs: ['amd64-debian10-container']
   variables:
     NAME: debian-tricore-cross
 
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 75704268ff..02ec92830b 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -137,7 +137,7 @@ docker-image-debian-sparc64-cross: docker-image-debian10
 docker-image-travis: NOUSER=1
 
 # Specialist build images, sometimes very limited tools
-docker-image-debian-tricore-cross: docker-image-debian9
+docker-image-debian-tricore-cross: docker-image-debian10
 docker-image-debian-all-test-cross: docker-image-debian10
 docker-image-debian-arm64-test-cross: docker-image-debian11
 
diff --git a/tests/docker/dockerfiles/debian-tricore-cross.docker b/tests/docker/dockerfiles/debian-tricore-cross.docker
index 769d95c77b..985925134c 100644
--- a/tests/docker/dockerfiles/debian-tricore-cross.docker
+++ b/tests/docker/dockerfiles/debian-tricore-cross.docker
@@ -7,7 +7,7 @@
 #
 # SPDX-License-Identifier: GPL-2.0-or-later
 #
-FROM qemu/debian9
+FROM qemu/debian10
 
 MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org>
 
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [PATCH 4/7] shippable.yml: Remove the Debian9-based MinGW cross-compiler tests
  2020-09-21 17:43 [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore Thomas Huth
                   ` (2 preceding siblings ...)
  2020-09-21 17:43 ` [PATCH 3/7] tests/docker: Update the tricore container to debian 10 Thomas Huth
@ 2020-09-21 17:43 ` Thomas Huth
  2020-09-21 18:07   ` Daniel P. Berrangé
  2020-09-21 17:43 ` [PATCH 5/7] tests/docker: Remove old Debian 9 containers Thomas Huth
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 31+ messages in thread
From: Thomas Huth @ 2020-09-21 17:43 UTC (permalink / raw)
  To: qemu-devel, Alex Bennée
  Cc: Daniel P . Berrangé,
	Eduardo Habkost, Philippe Mathieu-Daudé,
	Markus Armbruster, Wainer dos Santos Moschetta, Cleber Rosa,
	John Snow

We're not supporting Debian 9 anymore, and we are now testing
MinGW cross-compiler builds in the gitlab-CI, too, so we do not
really need these jobs in the shippable.yml anymore.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .shippable.yml | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/.shippable.yml b/.shippable.yml
index 0b4fd6df1d..14350e6de8 100644
--- a/.shippable.yml
+++ b/.shippable.yml
@@ -7,10 +7,6 @@ env:
   matrix:
     - IMAGE=debian-amd64
       TARGET_LIST=x86_64-softmmu,x86_64-linux-user
-    - IMAGE=debian-win32-cross
-      TARGET_LIST=arm-softmmu,i386-softmmu
-    - IMAGE=debian-win64-cross
-      TARGET_LIST=aarch64-softmmu,sparc64-softmmu,x86_64-softmmu
     - IMAGE=debian-armel-cross
       TARGET_LIST=arm-softmmu,arm-linux-user,armeb-linux-user
     - IMAGE=debian-armhf-cross
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [PATCH 5/7] tests/docker: Remove old Debian 9 containers
  2020-09-21 17:43 [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore Thomas Huth
                   ` (3 preceding siblings ...)
  2020-09-21 17:43 ` [PATCH 4/7] shippable.yml: Remove the Debian9-based MinGW cross-compiler tests Thomas Huth
@ 2020-09-21 17:43 ` Thomas Huth
  2020-09-21 18:08   ` Daniel P. Berrangé
  2020-09-22 10:39   ` Philippe Mathieu-Daudé
  2020-09-21 17:43 ` [PATCH 6/7] gitlab-ci: Increase the timeout for the cross-compiler builds Thomas Huth
                   ` (2 subsequent siblings)
  7 siblings, 2 replies; 31+ messages in thread
From: Thomas Huth @ 2020-09-21 17:43 UTC (permalink / raw)
  To: qemu-devel, Alex Bennée
  Cc: Daniel P . Berrangé,
	Eduardo Habkost, Philippe Mathieu-Daudé,
	Markus Armbruster, Wainer dos Santos Moschetta, Cleber Rosa,
	John Snow

We do not support Debian 9 in QEMU anymore, and the Debian 9 containers
are now no longer used in the gitlab-CI. Time to remove them.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.d/containers.yml                   | 12 -----
 .../dockerfiles/debian-win32-cross.docker     | 38 ----------------
 .../dockerfiles/debian-win64-cross.docker     | 45 -------------------
 tests/docker/dockerfiles/debian9-mxe.docker   | 21 ---------
 tests/docker/dockerfiles/debian9.docker       | 32 -------------
 5 files changed, 148 deletions(-)
 delete mode 100644 tests/docker/dockerfiles/debian-win32-cross.docker
 delete mode 100644 tests/docker/dockerfiles/debian-win64-cross.docker
 delete mode 100644 tests/docker/dockerfiles/debian9-mxe.docker
 delete mode 100644 tests/docker/dockerfiles/debian9.docker

diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
index 089cea7c14..11d079ea58 100644
--- a/.gitlab-ci.d/containers.yml
+++ b/.gitlab-ci.d/containers.yml
@@ -48,18 +48,6 @@ amd64-debian11-container:
   variables:
     NAME: debian11
 
-amd64-debian9-container:
-  <<: *container_job_definition
-  variables:
-    NAME: debian9
-
-amd64-debian9-mxe-container:
-  <<: *container_job_definition
-  stage: containers-layer2
-  needs: ['amd64-debian9-container']
-  variables:
-    NAME: debian9-mxe
-
 alpha-debian-cross-container:
   <<: *container_job_definition
   stage: containers-layer2
diff --git a/tests/docker/dockerfiles/debian-win32-cross.docker b/tests/docker/dockerfiles/debian-win32-cross.docker
deleted file mode 100644
index b045e821b9..0000000000
--- a/tests/docker/dockerfiles/debian-win32-cross.docker
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-# Docker mingw32 cross-compiler target
-#
-# This docker target builds on the debian Stretch MXE base image.
-#
-FROM qemu/debian9-mxe
-
-MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org>
-
-ENV TARGET i686
-
-ENV PATH $PATH:/usr/lib/mxe/usr/bin:/usr/lib/mxe/usr/$TARGET-w64-mingw32.shared/bin
-
-ENV PKG_CONFIG_PATH \
-    $PKG_CONFIG_PATH:/usr/lib/mxe/usr/$TARGET-w64-mingw32.shared/lib/pkgconfig
-
-RUN apt-get update && \
-    DEBIAN_FRONTEND=noninteractive eatmydata \
-    apt-get install -y --no-install-recommends \
-        mxe-$TARGET-w64-mingw32.shared-bzip2 \
-        mxe-$TARGET-w64-mingw32.shared-curl \
-        mxe-$TARGET-w64-mingw32.shared-glib \
-        mxe-$TARGET-w64-mingw32.shared-libgcrypt \
-        mxe-$TARGET-w64-mingw32.shared-libusb1 \
-        mxe-$TARGET-w64-mingw32.shared-lzo \
-        mxe-$TARGET-w64-mingw32.shared-nettle \
-        mxe-$TARGET-w64-mingw32.shared-ncurses \
-        mxe-$TARGET-w64-mingw32.shared-nsis \
-        mxe-$TARGET-w64-mingw32.shared-pixman \
-        mxe-$TARGET-w64-mingw32.shared-pkgconf \
-        mxe-$TARGET-w64-mingw32.shared-pthreads \
-        mxe-$TARGET-w64-mingw32.shared-sdl2 \
-        mxe-$TARGET-w64-mingw32.shared-sdl2-mixer \
-        mxe-$TARGET-w64-mingw32.shared-sdl2-gfx \
-        mxe-$TARGET-w64-mingw32.shared-zlib
-
-# Specify the cross prefix for this image (see tests/docker/common.rc)
-ENV QEMU_CONFIGURE_OPTS --cross-prefix=$TARGET-w64-mingw32.shared-
diff --git a/tests/docker/dockerfiles/debian-win64-cross.docker b/tests/docker/dockerfiles/debian-win64-cross.docker
deleted file mode 100644
index 4cc4a3f365..0000000000
--- a/tests/docker/dockerfiles/debian-win64-cross.docker
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-# Docker mingw64 cross-compiler target
-#
-# This docker target builds on the debian Stretch MXE base image.
-#
-FROM qemu/debian9-mxe
-
-MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org>
-
-ENV TARGET x86-64
-
-ENV PATH $PATH:/usr/lib/mxe/usr/$TARGET-w64-mingw32.shared/bin
-
-ENV PKG_CONFIG_PATH \
-    $PKG_CONFIG_PATH:/usr/lib/mxe/usr/$TARGET-w64-mingw32.shared/lib/pkgconfig
-
-RUN apt-get update && \
-    DEBIAN_FRONTEND=noninteractive eatmydata \
-    apt-get install -y --no-install-recommends \
-        mxe-$TARGET-w64-mingw32.shared-bzip2 \
-        mxe-$TARGET-w64-mingw32.shared-curl \
-        mxe-$TARGET-w64-mingw32.shared-glib \
-        mxe-$TARGET-w64-mingw32.shared-libgcrypt \
-        mxe-$TARGET-w64-mingw32.shared-libusb1 \
-        mxe-$TARGET-w64-mingw32.shared-lzo \
-        mxe-$TARGET-w64-mingw32.shared-nettle \
-        mxe-$TARGET-w64-mingw32.shared-ncurses \
-        mxe-$TARGET-w64-mingw32.shared-nsis \
-        mxe-$TARGET-w64-mingw32.shared-pixman \
-        mxe-$TARGET-w64-mingw32.shared-pkgconf \
-        mxe-$TARGET-w64-mingw32.shared-pthreads \
-        mxe-$TARGET-w64-mingw32.shared-sdl2 \
-        mxe-$TARGET-w64-mingw32.shared-sdl2-mixer \
-        mxe-$TARGET-w64-mingw32.shared-sdl2-gfx \
-        mxe-$TARGET-w64-mingw32.shared-zlib \
-        curl && \
-    curl -s -S -o /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/WinHvEmulation.h \
-        "https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-headers/include/winhvemulation.h?format=raw" && \
-    curl -s -S -o /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/WinHvPlatform.h \
-        "https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-headers/include/winhvplatform.h?format=raw" && \
-    curl -s -S -o /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/winhvplatformdefs.h \
-        "https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-headers/include/winhvplatformdefs.h?format=raw"
-
-# Specify the cross prefix for this image (see tests/docker/common.rc)
-ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32.shared-
diff --git a/tests/docker/dockerfiles/debian9-mxe.docker b/tests/docker/dockerfiles/debian9-mxe.docker
deleted file mode 100644
index ae2c222a6f..0000000000
--- a/tests/docker/dockerfiles/debian9-mxe.docker
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# Docker mingw cross-compiler target
-#
-# This docker target builds on the debian Stretch base image.
-#
-FROM qemu/debian9
-
-MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org>
-
-RUN DEBIAN_FRONTEND=noninteractive eatmydata \
-    apt install -y --no-install-recommends gnupg dirmngr
-
-# Add the foreign architecture we want and install dependencies
-RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C6BF758A33A3A276 && \
-    echo "deb http://pkg.mxe.cc/repos/apt stretch main" > /etc/apt/sources.list.d/mxeapt.list
-RUN apt-get update && \
-    DEBIAN_FRONTEND=noninteractive eatmydata \
-    apt-get install -y --no-install-recommends \
-        $(apt-get -s install -y --no-install-recommends gw32.shared-mingw-w64 | egrep "^Inst mxe-x86-64-unknown-" | cut -d\  -f2)
-
-ENV PATH $PATH:/usr/lib/mxe/usr/bin/
diff --git a/tests/docker/dockerfiles/debian9.docker b/tests/docker/dockerfiles/debian9.docker
deleted file mode 100644
index 3edb5147ef..0000000000
--- a/tests/docker/dockerfiles/debian9.docker
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Docker multiarch cross-compiler target
-#
-# This docker target is builds on Debian cross compiler targets to build distro
-# with a selection of cross compilers for building test binaries.
-#
-# On its own you can't build much but the docker-foo-cross targets
-# build on top of the base debian image.
-#
-FROM debian:stretch-slim
-
-# Duplicate deb line as deb-src
-RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
-
-# Install common build utilities
-RUN apt update && \
-    DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
-    DEBIAN_FRONTEND=noninteractive eatmydata \
-    apt install -y --no-install-recommends \
-        bc \
-        build-essential \
-        ca-certificates \
-        clang \
-        gdb-multiarch \
-        gettext \
-        git \
-        libncurses5-dev \
-        pkg-config \
-        psmisc \
-        python3 \
-        python3-setuptools \
-        $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  -f2)
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [PATCH 6/7] gitlab-ci: Increase the timeout for the cross-compiler builds
  2020-09-21 17:43 [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore Thomas Huth
                   ` (4 preceding siblings ...)
  2020-09-21 17:43 ` [PATCH 5/7] tests/docker: Remove old Debian 9 containers Thomas Huth
@ 2020-09-21 17:43 ` Thomas Huth
  2020-09-21 18:09   ` Daniel P. Berrangé
  2020-09-22 10:40   ` Philippe Mathieu-Daudé
  2020-09-21 17:43 ` [PATCH 7/7] configure: Bump the minimum required Python version to 3.6 Thomas Huth
  2020-09-21 18:09 ` [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore Alex Bennée
  7 siblings, 2 replies; 31+ messages in thread
From: Thomas Huth @ 2020-09-21 17:43 UTC (permalink / raw)
  To: qemu-devel, Alex Bennée
  Cc: Daniel P . Berrangé,
	Eduardo Habkost, Philippe Mathieu-Daudé,
	Markus Armbruster, Wainer dos Santos Moschetta, Cleber Rosa,
	John Snow

Some of the cross-compiler builds (the mips build and the win64 build
for example) are quite slow and sometimes hit the 1h time limit.
Increase the limit a little bit to make sure that we do not get failures
in the CI runs just because of some few minutes.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.d/crossbuilds.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 510cfec03b..03ebfabb3f 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -2,6 +2,7 @@
 .cross_system_build_job_template: &cross_system_build_job_definition
   stage: build
   image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
+  timeout: 80m
   script:
     - mkdir build
     - cd build
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [PATCH 7/7] configure: Bump the minimum required Python version to 3.6
  2020-09-21 17:43 [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore Thomas Huth
                   ` (5 preceding siblings ...)
  2020-09-21 17:43 ` [PATCH 6/7] gitlab-ci: Increase the timeout for the cross-compiler builds Thomas Huth
@ 2020-09-21 17:43 ` Thomas Huth
  2020-09-21 18:04   ` John Snow
  2020-09-21 18:09   ` Daniel P. Berrangé
  2020-09-21 18:09 ` [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore Alex Bennée
  7 siblings, 2 replies; 31+ messages in thread
From: Thomas Huth @ 2020-09-21 17:43 UTC (permalink / raw)
  To: qemu-devel, Alex Bennée
  Cc: Daniel P . Berrangé,
	Eduardo Habkost, Philippe Mathieu-Daudé,
	Markus Armbruster, Wainer dos Santos Moschetta, Cleber Rosa,
	John Snow

All our supported build platforms have Python 3.6 or newer nowadays,
and there are some useful features in Python 3.6 which are not available
in 3.5 yet, so let's bump the minimum Python version to 3.6 now.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 configure | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 7564479008..a3a643168e 100755
--- a/configure
+++ b/configure
@@ -1965,8 +1965,8 @@ fi
 
 # Note that if the Python conditional here evaluates True we will exit
 # with status 1 which is a shell 'false' value.
-if ! $python -c 'import sys; sys.exit(sys.version_info < (3,5))'; then
-  error_exit "Cannot use '$python', Python >= 3.5 is required." \
+if ! $python -c 'import sys; sys.exit(sys.version_info < (3,6))'; then
+  error_exit "Cannot use '$python', Python >= 3.6 is required." \
       "Use --python=/path/to/python to specify a supported Python."
 fi
 
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 31+ messages in thread

* Re: [PATCH 1/7] tests/docker: Use Fedora containers for MinGW cross-builds in the gitlab-CI
  2020-09-21 17:43 ` [PATCH 1/7] tests/docker: Use Fedora containers for MinGW cross-builds in the gitlab-CI Thomas Huth
@ 2020-09-21 18:03   ` Daniel P. Berrangé
  2020-09-21 18:07     ` Thomas Huth
  0 siblings, 1 reply; 31+ messages in thread
From: Daniel P. Berrangé @ 2020-09-21 18:03 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Eduardo Habkost, Alex Bennée, qemu-devel,
	Wainer dos Santos Moschetta, Markus Armbruster, John Snow,
	Cleber Rosa, Philippe Mathieu-Daudé

On Mon, Sep 21, 2020 at 07:43:14PM +0200, Thomas Huth wrote:
> According to our support policy, we do not support Debian 9 in QEMU
> anymore, and we only support building the Windows binaries with a
> very recent version of the MinGW toolchain. So we should not test
> the MinGW cross-compilation with Debian 9 anymore, but switch to
> something newer like Fedora. To do this, we need a separate Fedora
> container for each build that provides the QEMU_CONFIGURE_OPTS
> environment variable.
> Unfortunately, the MinGW 64-bit compiler seems to be a little bit
> slow, so we also have to disable some features like "capstone" in the
> build here to make sure that the CI pipelines still finish within a
> reasonable amount of time.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  .gitlab-ci.d/containers.yml                   | 10 +++++
>  .gitlab-ci.d/crossbuilds.yml                  |  4 +-
>  .../dockerfiles/fedora-win32-cross.docker     | 42 +++++++++++++++++++
>  .../dockerfiles/fedora-win64-cross.docker     | 38 +++++++++++++++++
>  4 files changed, 92 insertions(+), 2 deletions(-)
>  create mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker
>  create mode 100644 tests/docker/dockerfiles/fedora-win64-cross.docker
> 
> diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
> index 8c89efeb6d..15e7b564f9 100644
> --- a/.gitlab-ci.d/containers.yml
> +++ b/.gitlab-ci.d/containers.yml
> @@ -248,6 +248,16 @@ i386-fedora-cross-container:
>    variables:
>      NAME: fedora-i386-cross
>  
> +win32-fedora-cross-container:
> +  <<: *container_job_definition
> +  variables:
> +    NAME: fedora-win32-cross
> +
> +win64-fedora-cross-container:
> +  <<: *container_job_definition
> +  variables:
> +    NAME: fedora-win64-cross
> +
>  amd64-ubuntu1804-container:
>    <<: *container_job_definition
>    variables:
> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> index 4ec7226b5c..510cfec03b 100644
> --- a/.gitlab-ci.d/crossbuilds.yml
> +++ b/.gitlab-ci.d/crossbuilds.yml
> @@ -105,9 +105,9 @@ cross-s390x-user:
>  cross-win32-system:
>    <<: *cross_system_build_job_definition
>    variables:
> -    IMAGE: debian-win32-cross
> +    IMAGE: fedora-win32-cross
>  
>  cross-win64-system:
>    <<: *cross_system_build_job_definition
>    variables:
> -    IMAGE: debian-win64-cross
> +    IMAGE: fedora-win64-cross
> diff --git a/tests/docker/dockerfiles/fedora-win32-cross.docker b/tests/docker/dockerfiles/fedora-win32-cross.docker
> new file mode 100644
> index 0000000000..5903e1b0b4
> --- /dev/null
> +++ b/tests/docker/dockerfiles/fedora-win32-cross.docker
> @@ -0,0 +1,42 @@
> +FROM fedora:32
> +
> +# Please keep this list sorted alphabetically
> +ENV PACKAGES \
> +    bc \
> +    bzip2 \
> +    diffutils \
> +    findutils \
> +    gcc \
> +    gettext \
> +    git \
> +    hostname \
> +    make \
> +    meson \
> +    mingw32-bzip2 \
> +    mingw32-curl \
> +    mingw32-glib2 \
> +    mingw32-gmp \
> +    mingw32-gnutls \
> +    mingw32-gtk3 \
> +    mingw32-libjpeg-turbo \
> +    mingw32-libpng \
> +    mingw32-libtasn1 \
> +    mingw32-nettle \
> +    mingw32-nsis \
> +    mingw32-pixman \
> +    mingw32-pkg-config \
> +    mingw32-SDL2 \

It feels like we could be removing the mingw packages from the
main fedora.docker now, so it results in smaller images.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 7/7] configure: Bump the minimum required Python version to 3.6
  2020-09-21 17:43 ` [PATCH 7/7] configure: Bump the minimum required Python version to 3.6 Thomas Huth
@ 2020-09-21 18:04   ` John Snow
  2020-09-22 10:55     ` Peter Maydell
  2020-09-22 14:15     ` [PATCH " Markus Armbruster
  2020-09-21 18:09   ` Daniel P. Berrangé
  1 sibling, 2 replies; 31+ messages in thread
From: John Snow @ 2020-09-21 18:04 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel, Alex Bennée
  Cc: Daniel P . Berrangé,
	Eduardo Habkost, Markus Armbruster, Wainer dos Santos Moschetta,
	Cleber Rosa, Philippe Mathieu-Daudé

On 9/21/20 1:43 PM, Thomas Huth wrote:
> All our supported build platforms have Python 3.6 or newer nowadays,
> and there are some useful features in Python 3.6 which are not available
> in 3.5 yet, so let's bump the minimum Python version to 3.6 now.
> 

Just to add in case anyone wonders: This isn't incrementalism for 
incrementalism's sake, but the type hint annotations added in Python 3.6 
allow us to statically type the QAPI parser.

We are already using (and enforcing) these annotations in iotests.py, 
and I believe adding this to QAPI will be of high value going forward.

> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   configure | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/configure b/configure
> index 7564479008..a3a643168e 100755
> --- a/configure
> +++ b/configure
> @@ -1965,8 +1965,8 @@ fi
>   
>   # Note that if the Python conditional here evaluates True we will exit
>   # with status 1 which is a shell 'false' value.
> -if ! $python -c 'import sys; sys.exit(sys.version_info < (3,5))'; then
> -  error_exit "Cannot use '$python', Python >= 3.5 is required." \
> +if ! $python -c 'import sys; sys.exit(sys.version_info < (3,6))'; then
> +  error_exit "Cannot use '$python', Python >= 3.6 is required." \
>         "Use --python=/path/to/python to specify a supported Python."
>   fi
>   
> 

Do we need to bump the minimum version in the Sphinx conf, too?

There's also a minimum version check in iotests.py that is now 
*possibly* redundant, but it does no harm.

Regardless, none of those things cause any harm:

Reviewed-by: John Snow <jsnow@redhat.com>



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/7] gitlab-ci: Remove the Debian9-based containers and containers-layer3
  2020-09-21 17:43 ` [PATCH 2/7] gitlab-ci: Remove the Debian9-based containers and containers-layer3 Thomas Huth
@ 2020-09-21 18:05   ` Daniel P. Berrangé
  0 siblings, 0 replies; 31+ messages in thread
From: Daniel P. Berrangé @ 2020-09-21 18:05 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Eduardo Habkost, Alex Bennée, qemu-devel,
	Wainer dos Santos Moschetta, Markus Armbruster, John Snow,
	Cleber Rosa, Philippe Mathieu-Daudé

On Mon, Sep 21, 2020 at 07:43:15PM +0200, Thomas Huth wrote:
> According to our support policy, Debian 9 is not supported by the
> QEMU project anymore. Since we now switched the MinGW cross-compiler
> builds to Fedora, we do not need these Debian9-based containers
> in the gitlab-CI anymore, and can now also get rid of the "layer3"
> container build stage this way.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  .gitlab-ci.d/containers.yml | 14 --------------
>  .gitlab-ci.yml              |  1 -
>  2 files changed, 15 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>

> 
> diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
> index 15e7b564f9..6769eef0ff 100644
> --- a/.gitlab-ci.d/containers.yml
> +++ b/.gitlab-ci.d/containers.yml
> @@ -214,20 +214,6 @@ tricore-debian-cross-container:
>    variables:
>      NAME: debian-tricore-cross
>  
> -win32-debian-cross-container:
> -  <<: *container_job_definition
> -  stage: containers-layer3
> -  needs: ['amd64-debian9-mxe-container']
> -  variables:
> -    NAME: debian-win32-cross
> -
> -win64-debian-cross-container:
> -  <<: *container_job_definition
> -  stage: containers-layer3
> -  needs: ['amd64-debian9-mxe-container']
> -  variables:
> -    NAME: debian-win64-cross
> -
>  xtensa-debian-cross-container:
>    <<: *container_job_definition
>    variables:
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index a18e18b57e..c265e7f8ab 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -4,7 +4,6 @@
>  stages:
>    - containers
>    - containers-layer2
> -  - containers-layer3

Yay, I never liked having so many layers.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 3/7] tests/docker: Update the tricore container to debian 10
  2020-09-21 17:43 ` [PATCH 3/7] tests/docker: Update the tricore container to debian 10 Thomas Huth
@ 2020-09-21 18:05   ` Daniel P. Berrangé
  2020-09-22 10:35   ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 31+ messages in thread
From: Daniel P. Berrangé @ 2020-09-21 18:05 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Eduardo Habkost, Alex Bennée, qemu-devel,
	Wainer dos Santos Moschetta, Markus Armbruster, John Snow,
	Cleber Rosa, Philippe Mathieu-Daudé

On Mon, Sep 21, 2020 at 07:43:16PM +0200, Thomas Huth wrote:
> We do not support Debian 9 anymore, thus update the Tricore container
> to Debian 10 now.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  .gitlab-ci.d/containers.yml                          | 2 +-
>  tests/docker/Makefile.include                        | 2 +-
>  tests/docker/dockerfiles/debian-tricore-cross.docker | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 4/7] shippable.yml: Remove the Debian9-based MinGW cross-compiler tests
  2020-09-21 17:43 ` [PATCH 4/7] shippable.yml: Remove the Debian9-based MinGW cross-compiler tests Thomas Huth
@ 2020-09-21 18:07   ` Daniel P. Berrangé
  2020-09-21 18:10     ` Thomas Huth
  0 siblings, 1 reply; 31+ messages in thread
From: Daniel P. Berrangé @ 2020-09-21 18:07 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Eduardo Habkost, Alex Bennée, qemu-devel,
	Wainer dos Santos Moschetta, Markus Armbruster, John Snow,
	Cleber Rosa, Philippe Mathieu-Daudé

On Mon, Sep 21, 2020 at 07:43:17PM +0200, Thomas Huth wrote:
> We're not supporting Debian 9 anymore, and we are now testing
> MinGW cross-compiler builds in the gitlab-CI, too, so we do not
> really need these jobs in the shippable.yml anymore.

For that matter aren't all the other shippable entries obsolete
now too since we added .gitlab-ci.d/crossbuilds.yml ?

IOW, can we remove shippable entirely at this point ?

> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  .shippable.yml | 4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/.shippable.yml b/.shippable.yml
> index 0b4fd6df1d..14350e6de8 100644
> --- a/.shippable.yml
> +++ b/.shippable.yml
> @@ -7,10 +7,6 @@ env:
>    matrix:
>      - IMAGE=debian-amd64
>        TARGET_LIST=x86_64-softmmu,x86_64-linux-user
> -    - IMAGE=debian-win32-cross
> -      TARGET_LIST=arm-softmmu,i386-softmmu
> -    - IMAGE=debian-win64-cross
> -      TARGET_LIST=aarch64-softmmu,sparc64-softmmu,x86_64-softmmu
>      - IMAGE=debian-armel-cross
>        TARGET_LIST=arm-softmmu,arm-linux-user,armeb-linux-user
>      - IMAGE=debian-armhf-cross

> -- 
> 2.18.2
> 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 1/7] tests/docker: Use Fedora containers for MinGW cross-builds in the gitlab-CI
  2020-09-21 18:03   ` Daniel P. Berrangé
@ 2020-09-21 18:07     ` Thomas Huth
  2020-09-22  8:21       ` Daniel P. Berrangé
  0 siblings, 1 reply; 31+ messages in thread
From: Thomas Huth @ 2020-09-21 18:07 UTC (permalink / raw)
  To: Daniel P. Berrangé, Philippe Mathieu-Daudé
  Cc: Eduardo Habkost, John Snow, qemu-devel,
	Wainer dos Santos Moschetta, Markus Armbruster, Cleber Rosa,
	Alex Bennée

On 21/09/2020 20.03, Daniel P. Berrangé wrote:
> On Mon, Sep 21, 2020 at 07:43:14PM +0200, Thomas Huth wrote:
>> According to our support policy, we do not support Debian 9 in QEMU
>> anymore, and we only support building the Windows binaries with a
>> very recent version of the MinGW toolchain. So we should not test
>> the MinGW cross-compilation with Debian 9 anymore, but switch to
>> something newer like Fedora. To do this, we need a separate Fedora
>> container for each build that provides the QEMU_CONFIGURE_OPTS
>> environment variable.
>> Unfortunately, the MinGW 64-bit compiler seems to be a little bit
>> slow, so we also have to disable some features like "capstone" in the
>> build here to make sure that the CI pipelines still finish within a
>> reasonable amount of time.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>  .gitlab-ci.d/containers.yml                   | 10 +++++
>>  .gitlab-ci.d/crossbuilds.yml                  |  4 +-
>>  .../dockerfiles/fedora-win32-cross.docker     | 42 +++++++++++++++++++
>>  .../dockerfiles/fedora-win64-cross.docker     | 38 +++++++++++++++++
>>  4 files changed, 92 insertions(+), 2 deletions(-)
>>  create mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker
>>  create mode 100644 tests/docker/dockerfiles/fedora-win64-cross.docker
>>
>> diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
>> index 8c89efeb6d..15e7b564f9 100644
>> --- a/.gitlab-ci.d/containers.yml
>> +++ b/.gitlab-ci.d/containers.yml
>> @@ -248,6 +248,16 @@ i386-fedora-cross-container:
>>    variables:
>>      NAME: fedora-i386-cross
>>  
>> +win32-fedora-cross-container:
>> +  <<: *container_job_definition
>> +  variables:
>> +    NAME: fedora-win32-cross
>> +
>> +win64-fedora-cross-container:
>> +  <<: *container_job_definition
>> +  variables:
>> +    NAME: fedora-win64-cross
>> +
>>  amd64-ubuntu1804-container:
>>    <<: *container_job_definition
>>    variables:
>> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
>> index 4ec7226b5c..510cfec03b 100644
>> --- a/.gitlab-ci.d/crossbuilds.yml
>> +++ b/.gitlab-ci.d/crossbuilds.yml
>> @@ -105,9 +105,9 @@ cross-s390x-user:
>>  cross-win32-system:
>>    <<: *cross_system_build_job_definition
>>    variables:
>> -    IMAGE: debian-win32-cross
>> +    IMAGE: fedora-win32-cross
>>  
>>  cross-win64-system:
>>    <<: *cross_system_build_job_definition
>>    variables:
>> -    IMAGE: debian-win64-cross
>> +    IMAGE: fedora-win64-cross
>> diff --git a/tests/docker/dockerfiles/fedora-win32-cross.docker b/tests/docker/dockerfiles/fedora-win32-cross.docker
>> new file mode 100644
>> index 0000000000..5903e1b0b4
>> --- /dev/null
>> +++ b/tests/docker/dockerfiles/fedora-win32-cross.docker
>> @@ -0,0 +1,42 @@
>> +FROM fedora:32
>> +
>> +# Please keep this list sorted alphabetically
>> +ENV PACKAGES \
>> +    bc \
>> +    bzip2 \
>> +    diffutils \
>> +    findutils \
>> +    gcc \
>> +    gettext \
>> +    git \
>> +    hostname \
>> +    make \
>> +    meson \
>> +    mingw32-bzip2 \
>> +    mingw32-curl \
>> +    mingw32-glib2 \
>> +    mingw32-gmp \
>> +    mingw32-gnutls \
>> +    mingw32-gtk3 \
>> +    mingw32-libjpeg-turbo \
>> +    mingw32-libpng \
>> +    mingw32-libtasn1 \
>> +    mingw32-nettle \
>> +    mingw32-nsis \
>> +    mingw32-pixman \
>> +    mingw32-pkg-config \
>> +    mingw32-SDL2 \
> 
> It feels like we could be removing the mingw packages from the
> main fedora.docker now, so it results in smaller images.

I wasn't quite sure whether anybody uses the mingw packages in that main
fedora docker image ... Philippe, do you know?

 Thomas



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 5/7] tests/docker: Remove old Debian 9 containers
  2020-09-21 17:43 ` [PATCH 5/7] tests/docker: Remove old Debian 9 containers Thomas Huth
@ 2020-09-21 18:08   ` Daniel P. Berrangé
  2020-09-22 10:39   ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 31+ messages in thread
From: Daniel P. Berrangé @ 2020-09-21 18:08 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Eduardo Habkost, Alex Bennée, qemu-devel,
	Wainer dos Santos Moschetta, Markus Armbruster, John Snow,
	Cleber Rosa, Philippe Mathieu-Daudé

On Mon, Sep 21, 2020 at 07:43:18PM +0200, Thomas Huth wrote:
> We do not support Debian 9 in QEMU anymore, and the Debian 9 containers
> are now no longer used in the gitlab-CI. Time to remove them.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  .gitlab-ci.d/containers.yml                   | 12 -----
>  .../dockerfiles/debian-win32-cross.docker     | 38 ----------------
>  .../dockerfiles/debian-win64-cross.docker     | 45 -------------------
>  tests/docker/dockerfiles/debian9-mxe.docker   | 21 ---------
>  tests/docker/dockerfiles/debian9.docker       | 32 -------------
>  5 files changed, 148 deletions(-)
>  delete mode 100644 tests/docker/dockerfiles/debian-win32-cross.docker
>  delete mode 100644 tests/docker/dockerfiles/debian-win64-cross.docker
>  delete mode 100644 tests/docker/dockerfiles/debian9-mxe.docker
>  delete mode 100644 tests/docker/dockerfiles/debian9.docker

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore
  2020-09-21 17:43 [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore Thomas Huth
                   ` (6 preceding siblings ...)
  2020-09-21 17:43 ` [PATCH 7/7] configure: Bump the minimum required Python version to 3.6 Thomas Huth
@ 2020-09-21 18:09 ` Alex Bennée
  2020-09-22  7:06   ` Thomas Huth
  7 siblings, 1 reply; 31+ messages in thread
From: Alex Bennée @ 2020-09-21 18:09 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Daniel P . Berrangé,
	Eduardo Habkost, John Snow, qemu-devel,
	Wainer dos Santos Moschetta, Markus Armbruster, Cleber Rosa,
	Philippe Mathieu-Daudé


Thomas Huth <thuth@redhat.com> writes:

> Debian 9 is EOL now, and according to our support policy, we do not
> support it anymore. Let's switch the corresponding CI builds to
> either Fedora (for a more recent version of the MinGW compilers) or
> Debian 10 instead.
>
> Together with the Travis patch series that I recently posted ("Update
> Travis from Xenial to Bionic and Focal"), our CI should now be free of
> distros that we do not support anymore. And all supported build systems
> now use at least Python 3.6, so we can drop the support for Python 3.5.
>
> Based-on: <20200918103430.297167-1-thuth@redhat.com>

I'm inclined to take all of these but I'll take all the CI based ones
now and add the 3.6 bump if there is more review/acks for it.

>
> Thomas Huth (7):
>   tests/docker: Use Fedora containers for MinGW cross-builds in the
>     gitlab-CI
>   gitlab-ci: Remove the Debian9-based containers and containers-layer3
>   tests/docker: Update the tricore container to debian 10
>   shippable.yml: Remove the Debian9-based MinGW cross-compiler tests
>   tests/docker: Remove old Debian 9 containers
>   gitlab-ci: Increase the timeout for the cross-compiler builds
>   configure: Bump the minimum required Python version to 3.6
>
>  .gitlab-ci.d/containers.yml                   | 38 +++++-----------
>  .gitlab-ci.d/crossbuilds.yml                  |  5 ++-
>  .gitlab-ci.yml                                |  1 -
>  .shippable.yml                                |  4 --
>  configure                                     |  4 +-
>  tests/docker/Makefile.include                 |  2 +-
>  .../dockerfiles/debian-tricore-cross.docker   |  2 +-
>  .../dockerfiles/debian-win32-cross.docker     | 38 ----------------
>  .../dockerfiles/debian-win64-cross.docker     | 45 -------------------
>  tests/docker/dockerfiles/debian9-mxe.docker   | 21 ---------
>  tests/docker/dockerfiles/debian9.docker       | 32 -------------
>  .../dockerfiles/fedora-win32-cross.docker     | 42 +++++++++++++++++
>  .../dockerfiles/fedora-win64-cross.docker     | 38 ++++++++++++++++
>  13 files changed, 98 insertions(+), 174 deletions(-)
>  delete mode 100644 tests/docker/dockerfiles/debian-win32-cross.docker
>  delete mode 100644 tests/docker/dockerfiles/debian-win64-cross.docker
>  delete mode 100644 tests/docker/dockerfiles/debian9-mxe.docker
>  delete mode 100644 tests/docker/dockerfiles/debian9.docker
>  create mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker
>  create mode 100644 tests/docker/dockerfiles/fedora-win64-cross.docker


-- 
Alex Bennée


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 6/7] gitlab-ci: Increase the timeout for the cross-compiler builds
  2020-09-21 17:43 ` [PATCH 6/7] gitlab-ci: Increase the timeout for the cross-compiler builds Thomas Huth
@ 2020-09-21 18:09   ` Daniel P. Berrangé
  2020-09-22 10:40   ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 31+ messages in thread
From: Daniel P. Berrangé @ 2020-09-21 18:09 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Eduardo Habkost, Alex Bennée, qemu-devel,
	Wainer dos Santos Moschetta, Markus Armbruster, John Snow,
	Cleber Rosa, Philippe Mathieu-Daudé

On Mon, Sep 21, 2020 at 07:43:19PM +0200, Thomas Huth wrote:
> Some of the cross-compiler builds (the mips build and the win64 build
> for example) are quite slow and sometimes hit the 1h time limit.
> Increase the limit a little bit to make sure that we do not get failures
> in the CI runs just because of some few minutes.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  .gitlab-ci.d/crossbuilds.yml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> index 510cfec03b..03ebfabb3f 100644
> --- a/.gitlab-ci.d/crossbuilds.yml
> +++ b/.gitlab-ci.d/crossbuilds.yml
> @@ -2,6 +2,7 @@
>  .cross_system_build_job_template: &cross_system_build_job_definition
>    stage: build
>    image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
> +  timeout: 80m
>    script:
>      - mkdir build
>      - cd build
> -- 
> 2.18.2
> 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 7/7] configure: Bump the minimum required Python version to 3.6
  2020-09-21 17:43 ` [PATCH 7/7] configure: Bump the minimum required Python version to 3.6 Thomas Huth
  2020-09-21 18:04   ` John Snow
@ 2020-09-21 18:09   ` Daniel P. Berrangé
  1 sibling, 0 replies; 31+ messages in thread
From: Daniel P. Berrangé @ 2020-09-21 18:09 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Eduardo Habkost, Alex Bennée, qemu-devel,
	Wainer dos Santos Moschetta, Markus Armbruster, John Snow,
	Cleber Rosa, Philippe Mathieu-Daudé

On Mon, Sep 21, 2020 at 07:43:20PM +0200, Thomas Huth wrote:
> All our supported build platforms have Python 3.6 or newer nowadays,
> and there are some useful features in Python 3.6 which are not available
> in 3.5 yet, so let's bump the minimum Python version to 3.6 now.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  configure | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 4/7] shippable.yml: Remove the Debian9-based MinGW cross-compiler tests
  2020-09-21 18:07   ` Daniel P. Berrangé
@ 2020-09-21 18:10     ` Thomas Huth
  2020-09-22 10:38       ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 31+ messages in thread
From: Thomas Huth @ 2020-09-21 18:10 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Eduardo Habkost, Alex Bennée, qemu-devel,
	Wainer dos Santos Moschetta, Markus Armbruster, John Snow,
	Cleber Rosa, Philippe Mathieu-Daudé

On 21/09/2020 20.07, Daniel P. Berrangé wrote:
> On Mon, Sep 21, 2020 at 07:43:17PM +0200, Thomas Huth wrote:
>> We're not supporting Debian 9 anymore, and we are now testing
>> MinGW cross-compiler builds in the gitlab-CI, too, so we do not
>> really need these jobs in the shippable.yml anymore.
> 
> For that matter aren't all the other shippable entries obsolete
> now too since we added .gitlab-ci.d/crossbuilds.yml ?

Yes, they are covered by the gitlab-ci now, too.

> IOW, can we remove shippable entirely at this point ?

We likely could ... but I recently had a very quick chat with Alex in
IRC, and we agreed to keep them for a while until it's  clearer whether
we can continue with unlimited CI minutes in gitlab or not.

 Thomas



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore
  2020-09-21 18:09 ` [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore Alex Bennée
@ 2020-09-22  7:06   ` Thomas Huth
  2020-09-22  8:38     ` Alex Bennée
  0 siblings, 1 reply; 31+ messages in thread
From: Thomas Huth @ 2020-09-22  7:06 UTC (permalink / raw)
  To: Alex Bennée
  Cc: Daniel P . Berrangé,
	Eduardo Habkost, John Snow, qemu-devel,
	Wainer dos Santos Moschetta, Markus Armbruster, Cleber Rosa,
	Philippe Mathieu-Daudé

On 21/09/2020 20.09, Alex Bennée wrote:
> 
> Thomas Huth <thuth@redhat.com> writes:
> 
>> Debian 9 is EOL now, and according to our support policy, we do not
>> support it anymore. Let's switch the corresponding CI builds to
>> either Fedora (for a more recent version of the MinGW compilers) or
>> Debian 10 instead.
>>
>> Together with the Travis patch series that I recently posted ("Update
>> Travis from Xenial to Bionic and Focal"), our CI should now be free of
>> distros that we do not support anymore. And all supported build systems
>> now use at least Python 3.6, so we can drop the support for Python 3.5.
>>
>> Based-on: <20200918103430.297167-1-thuth@redhat.com>
> 
> I'm inclined to take all of these but I'll take all the CI based ones
> now and add the 3.6 bump if there is more review/acks for it.

Thanks! ... but I just noticed that I missed to send out the patch that
removes the Python 3.5 job in .travis.yml. I just sent it out now, title
is "[PATCH 7/6] travis.yml: Drop the Python 3.5 build" ... please make
sure to also queue it if you include the patch that bumps the Python
version.

 Thomas



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 1/7] tests/docker: Use Fedora containers for MinGW cross-builds in the gitlab-CI
  2020-09-21 18:07     ` Thomas Huth
@ 2020-09-22  8:21       ` Daniel P. Berrangé
  0 siblings, 0 replies; 31+ messages in thread
From: Daniel P. Berrangé @ 2020-09-22  8:21 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Eduardo Habkost, Philippe Mathieu-Daudé,
	Markus Armbruster, Wainer dos Santos Moschetta, qemu-devel,
	Alex Bennée, Cleber Rosa, John Snow

On Mon, Sep 21, 2020 at 08:07:42PM +0200, Thomas Huth wrote:
> On 21/09/2020 20.03, Daniel P. Berrangé wrote:
> > On Mon, Sep 21, 2020 at 07:43:14PM +0200, Thomas Huth wrote:
> >> According to our support policy, we do not support Debian 9 in QEMU
> >> anymore, and we only support building the Windows binaries with a
> >> very recent version of the MinGW toolchain. So we should not test
> >> the MinGW cross-compilation with Debian 9 anymore, but switch to
> >> something newer like Fedora. To do this, we need a separate Fedora
> >> container for each build that provides the QEMU_CONFIGURE_OPTS
> >> environment variable.
> >> Unfortunately, the MinGW 64-bit compiler seems to be a little bit
> >> slow, so we also have to disable some features like "capstone" in the
> >> build here to make sure that the CI pipelines still finish within a
> >> reasonable amount of time.
> >>
> >> Signed-off-by: Thomas Huth <thuth@redhat.com>
> >> ---
> >>  .gitlab-ci.d/containers.yml                   | 10 +++++
> >>  .gitlab-ci.d/crossbuilds.yml                  |  4 +-
> >>  .../dockerfiles/fedora-win32-cross.docker     | 42 +++++++++++++++++++
> >>  .../dockerfiles/fedora-win64-cross.docker     | 38 +++++++++++++++++
> >>  4 files changed, 92 insertions(+), 2 deletions(-)
> >>  create mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker
> >>  create mode 100644 tests/docker/dockerfiles/fedora-win64-cross.docker
> >>
> >> diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
> >> index 8c89efeb6d..15e7b564f9 100644
> >> --- a/.gitlab-ci.d/containers.yml
> >> +++ b/.gitlab-ci.d/containers.yml
> >> @@ -248,6 +248,16 @@ i386-fedora-cross-container:
> >>    variables:
> >>      NAME: fedora-i386-cross
> >>  
> >> +win32-fedora-cross-container:
> >> +  <<: *container_job_definition
> >> +  variables:
> >> +    NAME: fedora-win32-cross
> >> +
> >> +win64-fedora-cross-container:
> >> +  <<: *container_job_definition
> >> +  variables:
> >> +    NAME: fedora-win64-cross
> >> +
> >>  amd64-ubuntu1804-container:
> >>    <<: *container_job_definition
> >>    variables:
> >> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> >> index 4ec7226b5c..510cfec03b 100644
> >> --- a/.gitlab-ci.d/crossbuilds.yml
> >> +++ b/.gitlab-ci.d/crossbuilds.yml
> >> @@ -105,9 +105,9 @@ cross-s390x-user:
> >>  cross-win32-system:
> >>    <<: *cross_system_build_job_definition
> >>    variables:
> >> -    IMAGE: debian-win32-cross
> >> +    IMAGE: fedora-win32-cross
> >>  
> >>  cross-win64-system:
> >>    <<: *cross_system_build_job_definition
> >>    variables:
> >> -    IMAGE: debian-win64-cross
> >> +    IMAGE: fedora-win64-cross
> >> diff --git a/tests/docker/dockerfiles/fedora-win32-cross.docker b/tests/docker/dockerfiles/fedora-win32-cross.docker
> >> new file mode 100644
> >> index 0000000000..5903e1b0b4
> >> --- /dev/null
> >> +++ b/tests/docker/dockerfiles/fedora-win32-cross.docker
> >> @@ -0,0 +1,42 @@
> >> +FROM fedora:32
> >> +
> >> +# Please keep this list sorted alphabetically
> >> +ENV PACKAGES \
> >> +    bc \
> >> +    bzip2 \
> >> +    diffutils \
> >> +    findutils \
> >> +    gcc \
> >> +    gettext \
> >> +    git \
> >> +    hostname \
> >> +    make \
> >> +    meson \
> >> +    mingw32-bzip2 \
> >> +    mingw32-curl \
> >> +    mingw32-glib2 \
> >> +    mingw32-gmp \
> >> +    mingw32-gnutls \
> >> +    mingw32-gtk3 \
> >> +    mingw32-libjpeg-turbo \
> >> +    mingw32-libpng \
> >> +    mingw32-libtasn1 \
> >> +    mingw32-nettle \
> >> +    mingw32-nsis \
> >> +    mingw32-pixman \
> >> +    mingw32-pkg-config \
> >> +    mingw32-SDL2 \
> > 
> > It feels like we could be removing the mingw packages from the
> > main fedora.docker now, so it results in smaller images.
> 
> I wasn't quite sure whether anybody uses the mingw packages in that main
> fedora docker image ... Philippe, do you know?

A actually patchew uses this  "docker-mingw@fedora".

So I guess we merge this one. Then update patchew, then delete the
mingw stuff from @fedora.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore
  2020-09-22  7:06   ` Thomas Huth
@ 2020-09-22  8:38     ` Alex Bennée
  0 siblings, 0 replies; 31+ messages in thread
From: Alex Bennée @ 2020-09-22  8:38 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Daniel P . Berrangé,
	Eduardo Habkost, John Snow, qemu-devel,
	Wainer dos Santos Moschetta, Markus Armbruster, Cleber Rosa,
	Philippe Mathieu-Daudé


Thomas Huth <thuth@redhat.com> writes:

> On 21/09/2020 20.09, Alex Bennée wrote:
>> 
>> Thomas Huth <thuth@redhat.com> writes:
>> 
>>> Debian 9 is EOL now, and according to our support policy, we do not
>>> support it anymore. Let's switch the corresponding CI builds to
>>> either Fedora (for a more recent version of the MinGW compilers) or
>>> Debian 10 instead.
>>>
>>> Together with the Travis patch series that I recently posted ("Update
>>> Travis from Xenial to Bionic and Focal"), our CI should now be free of
>>> distros that we do not support anymore. And all supported build systems
>>> now use at least Python 3.6, so we can drop the support for Python 3.5.
>>>
>>> Based-on: <20200918103430.297167-1-thuth@redhat.com>
>> 
>> I'm inclined to take all of these but I'll take all the CI based ones
>> now and add the 3.6 bump if there is more review/acks for it.
>
> Thanks! ... but I just noticed that I missed to send out the patch that
> removes the Python 3.5 job in .travis.yml. I just sent it out now, title
> is "[PATCH 7/6] travis.yml: Drop the Python 3.5 build" ... please make
> sure to also queue it if you include the patch that bumps the Python
> version.

I too noticed on my test run, will include it in the re-spin.

>
>  Thomas


-- 
Alex Bennée


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 3/7] tests/docker: Update the tricore container to debian 10
  2020-09-21 17:43 ` [PATCH 3/7] tests/docker: Update the tricore container to debian 10 Thomas Huth
  2020-09-21 18:05   ` Daniel P. Berrangé
@ 2020-09-22 10:35   ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 31+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-09-22 10:35 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel, Alex Bennée
  Cc: Daniel P . Berrangé,
	Eduardo Habkost, Markus Armbruster, Wainer dos Santos Moschetta,
	Cleber Rosa, John Snow

On 9/21/20 7:43 PM, Thomas Huth wrote:
> We do not support Debian 9 anymore, thus update the Tricore container
> to Debian 10 now.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> ---
>  .gitlab-ci.d/containers.yml                          | 2 +-
>  tests/docker/Makefile.include                        | 2 +-
>  tests/docker/dockerfiles/debian-tricore-cross.docker | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
> index 6769eef0ff..089cea7c14 100644
> --- a/.gitlab-ci.d/containers.yml
> +++ b/.gitlab-ci.d/containers.yml
> @@ -210,7 +210,7 @@ sparc64-debian-cross-container:
>  tricore-debian-cross-container:
>    <<: *container_job_definition
>    stage: containers-layer2
> -  needs: ['amd64-debian9-container']
> +  needs: ['amd64-debian10-container']
>    variables:
>      NAME: debian-tricore-cross
>  
> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
> index 75704268ff..02ec92830b 100644
> --- a/tests/docker/Makefile.include
> +++ b/tests/docker/Makefile.include
> @@ -137,7 +137,7 @@ docker-image-debian-sparc64-cross: docker-image-debian10
>  docker-image-travis: NOUSER=1
>  
>  # Specialist build images, sometimes very limited tools
> -docker-image-debian-tricore-cross: docker-image-debian9
> +docker-image-debian-tricore-cross: docker-image-debian10
>  docker-image-debian-all-test-cross: docker-image-debian10
>  docker-image-debian-arm64-test-cross: docker-image-debian11
>  
> diff --git a/tests/docker/dockerfiles/debian-tricore-cross.docker b/tests/docker/dockerfiles/debian-tricore-cross.docker
> index 769d95c77b..985925134c 100644
> --- a/tests/docker/dockerfiles/debian-tricore-cross.docker
> +++ b/tests/docker/dockerfiles/debian-tricore-cross.docker
> @@ -7,7 +7,7 @@
>  #
>  # SPDX-License-Identifier: GPL-2.0-or-later
>  #
> -FROM qemu/debian9
> +FROM qemu/debian10
>  
>  MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org>
>  
> 



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 4/7] shippable.yml: Remove the Debian9-based MinGW cross-compiler tests
  2020-09-21 18:10     ` Thomas Huth
@ 2020-09-22 10:38       ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 31+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-09-22 10:38 UTC (permalink / raw)
  To: Thomas Huth, Daniel P. Berrangé
  Cc: Eduardo Habkost, John Snow, qemu-devel,
	Wainer dos Santos Moschetta, Markus Armbruster, Cleber Rosa,
	Alex Bennée

On 9/21/20 8:10 PM, Thomas Huth wrote:
> On 21/09/2020 20.07, Daniel P. Berrangé wrote:
>> On Mon, Sep 21, 2020 at 07:43:17PM +0200, Thomas Huth wrote:
>>> We're not supporting Debian 9 anymore, and we are now testing
>>> MinGW cross-compiler builds in the gitlab-CI, too, so we do not
>>> really need these jobs in the shippable.yml anymore.
>>
>> For that matter aren't all the other shippable entries obsolete
>> now too since we added .gitlab-ci.d/crossbuilds.yml ?
> 
> Yes, they are covered by the gitlab-ci now, too.
> 
>> IOW, can we remove shippable entirely at this point ?
> 
> We likely could ... but I recently had a very quick chat with Alex in
> IRC, and we agreed to keep them for a while until it's  clearer whether
> we can continue with unlimited CI minutes in gitlab or not.

As an intermediate step we can pull the docker images from GitLab.

> 
>  Thomas
> 



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 5/7] tests/docker: Remove old Debian 9 containers
  2020-09-21 17:43 ` [PATCH 5/7] tests/docker: Remove old Debian 9 containers Thomas Huth
  2020-09-21 18:08   ` Daniel P. Berrangé
@ 2020-09-22 10:39   ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 31+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-09-22 10:39 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel, Alex Bennée
  Cc: Daniel P . Berrangé,
	Eduardo Habkost, Markus Armbruster, Wainer dos Santos Moschetta,
	Cleber Rosa, John Snow

On 9/21/20 7:43 PM, Thomas Huth wrote:
> We do not support Debian 9 in QEMU anymore, and the Debian 9 containers
> are now no longer used in the gitlab-CI. Time to remove them.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  .gitlab-ci.d/containers.yml                   | 12 -----
>  .../dockerfiles/debian-win32-cross.docker     | 38 ----------------
>  .../dockerfiles/debian-win64-cross.docker     | 45 -------------------
>  tests/docker/dockerfiles/debian9-mxe.docker   | 21 ---------
>  tests/docker/dockerfiles/debian9.docker       | 32 -------------
>  5 files changed, 148 deletions(-)
>  delete mode 100644 tests/docker/dockerfiles/debian-win32-cross.docker
>  delete mode 100644 tests/docker/dockerfiles/debian-win64-cross.docker
>  delete mode 100644 tests/docker/dockerfiles/debian9-mxe.docker
>  delete mode 100644 tests/docker/dockerfiles/debian9.docker

Yay \o/

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 6/7] gitlab-ci: Increase the timeout for the cross-compiler builds
  2020-09-21 17:43 ` [PATCH 6/7] gitlab-ci: Increase the timeout for the cross-compiler builds Thomas Huth
  2020-09-21 18:09   ` Daniel P. Berrangé
@ 2020-09-22 10:40   ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 31+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-09-22 10:40 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel, Alex Bennée
  Cc: Daniel P . Berrangé,
	Eduardo Habkost, Markus Armbruster, Wainer dos Santos Moschetta,
	Cleber Rosa, John Snow

On 9/21/20 7:43 PM, Thomas Huth wrote:
> Some of the cross-compiler builds (the mips build and the win64 build
> for example) are quite slow and sometimes hit the 1h time limit.
> Increase the limit a little bit to make sure that we do not get failures
> in the CI runs just because of some few minutes.

Good idea.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  .gitlab-ci.d/crossbuilds.yml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> index 510cfec03b..03ebfabb3f 100644
> --- a/.gitlab-ci.d/crossbuilds.yml
> +++ b/.gitlab-ci.d/crossbuilds.yml
> @@ -2,6 +2,7 @@
>  .cross_system_build_job_template: &cross_system_build_job_definition
>    stage: build
>    image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
> +  timeout: 80m
>    script:
>      - mkdir build
>      - cd build
> 



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 7/7] configure: Bump the minimum required Python version to 3.6
  2020-09-21 18:04   ` John Snow
@ 2020-09-22 10:55     ` Peter Maydell
  2020-09-23 16:29       ` [PATCH v2 " Thomas Huth
  2020-09-22 14:15     ` [PATCH " Markus Armbruster
  1 sibling, 1 reply; 31+ messages in thread
From: Peter Maydell @ 2020-09-22 10:55 UTC (permalink / raw)
  To: John Snow
  Cc: Thomas Huth, Daniel P . Berrangé,
	Eduardo Habkost, Philippe Mathieu-Daudé,
	QEMU Developers, Wainer dos Santos Moschetta, Markus Armbruster,
	Cleber Rosa, Alex Bennée

On Mon, 21 Sep 2020 at 19:20, John Snow <jsnow@redhat.com> wrote:
>
> On 9/21/20 1:43 PM, Thomas Huth wrote:
> > All our supported build platforms have Python 3.6 or newer nowadays,
> > and there are some useful features in Python 3.6 which are not available
> > in 3.5 yet, so let's bump the minimum Python version to 3.6 now.
> >
>
> Just to add in case anyone wonders: This isn't incrementalism for
> incrementalism's sake, but the type hint annotations added in Python 3.6
> allow us to statically type the QAPI parser.
>
> We are already using (and enforcing) these annotations in iotests.py,
> and I believe adding this to QAPI will be of high value going forward.
>
> > Signed-off-by: Thomas Huth <thuth@redhat.com>
> > ---
> >   configure | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/configure b/configure
> > index 7564479008..a3a643168e 100755
> > --- a/configure
> > +++ b/configure
> > @@ -1965,8 +1965,8 @@ fi
> >
> >   # Note that if the Python conditional here evaluates True we will exit
> >   # with status 1 which is a shell 'false' value.
> > -if ! $python -c 'import sys; sys.exit(sys.version_info < (3,5))'; then
> > -  error_exit "Cannot use '$python', Python >= 3.5 is required." \
> > +if ! $python -c 'import sys; sys.exit(sys.version_info < (3,6))'; then
> > +  error_exit "Cannot use '$python', Python >= 3.6 is required." \
> >         "Use --python=/path/to/python to specify a supported Python."
> >   fi
> >
> >
>
> Do we need to bump the minimum version in the Sphinx conf, too?

Yes -- the configure check only applies to python invoked
directly, not to python code invoked via Sphinx, so we
should keep both in sync.

thanks
-- PMM


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 7/7] configure: Bump the minimum required Python version to 3.6
  2020-09-21 18:04   ` John Snow
  2020-09-22 10:55     ` Peter Maydell
@ 2020-09-22 14:15     ` Markus Armbruster
  1 sibling, 0 replies; 31+ messages in thread
From: Markus Armbruster @ 2020-09-22 14:15 UTC (permalink / raw)
  To: John Snow
  Cc: Thomas Huth, Daniel P . Berrangé,
	Eduardo Habkost, Philippe Mathieu-Daudé,
	qemu-devel, Wainer dos Santos Moschetta, Cleber Rosa,
	Alex Bennée

John Snow <jsnow@redhat.com> writes:

> On 9/21/20 1:43 PM, Thomas Huth wrote:
>> All our supported build platforms have Python 3.6 or newer nowadays,
>> and there are some useful features in Python 3.6 which are not available
>> in 3.5 yet, so let's bump the minimum Python version to 3.6 now.
>> 
>
> Just to add in case anyone wonders: This isn't incrementalism for
> incrementalism's sake, but the type hint annotations added in Python
> 3.6 allow us to statically type the QAPI parser.
>
> We are already using (and enforcing) these annotations in iotests.py,
> and I believe adding this to QAPI will be of high value going forward.

Concur.

[...]



^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH v2 7/7] configure: Bump the minimum required Python version to 3.6
  2020-09-22 10:55     ` Peter Maydell
@ 2020-09-23 16:29       ` Thomas Huth
  2020-09-23 16:34         ` 罗勇刚(Yonggang Luo)
  0 siblings, 1 reply; 31+ messages in thread
From: Thomas Huth @ 2020-09-23 16:29 UTC (permalink / raw)
  To: qemu-devel, Alex Bennée
  Cc: John Snow, Markus Armbruster, qemu-block, Cleber Rosa

All our supported build platforms have Python 3.6 or newer nowadays, and
there are some useful features in Python 3.6 which are not available in
3.5 yet (e.g. the type hint annotations which will allow us to statically
type the QAPI parser), so let's bump the minimum Python version to 3.6 now.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 v2:
 - Bump the version in docs/conf.py, too
 - Remove the now unnecessary check in tests/qemu-iotests/iotests.py

 configure                     | 4 ++--
 docs/conf.py                  | 4 ++--
 tests/qemu-iotests/iotests.py | 2 --
 3 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/configure b/configure
index 7564479008..a3a643168e 100755
--- a/configure
+++ b/configure
@@ -1965,8 +1965,8 @@ fi
 
 # Note that if the Python conditional here evaluates True we will exit
 # with status 1 which is a shell 'false' value.
-if ! $python -c 'import sys; sys.exit(sys.version_info < (3,5))'; then
-  error_exit "Cannot use '$python', Python >= 3.5 is required." \
+if ! $python -c 'import sys; sys.exit(sys.version_info < (3,6))'; then
+  error_exit "Cannot use '$python', Python >= 3.6 is required." \
       "Use --python=/path/to/python to specify a supported Python."
 fi
 
diff --git a/docs/conf.py b/docs/conf.py
index 0dbd90dc11..8aeac40124 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -36,9 +36,9 @@ from sphinx.errors import ConfigError
 # In newer versions of Sphinx this will display nicely; in older versions
 # Sphinx will also produce a Python backtrace but at least the information
 # gets printed...
-if sys.version_info < (3,5):
+if sys.version_info < (3,6):
     raise ConfigError(
-        "QEMU requires a Sphinx that uses Python 3.5 or better\n")
+        "QEMU requires a Sphinx that uses Python 3.6 or better\n")
 
 # The per-manual conf.py will set qemu_docdir for a single-manual build;
 # otherwise set it here if this is an entire-manual-set build.
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index 91e4a57126..f48460480a 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -40,8 +40,6 @@ sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python'))
 from qemu import qtest
 from qemu.qmp import QMPMessage
 
-assert sys.version_info >= (3, 6)
-
 # Use this logger for logging messages directly from the iotests module
 logger = logging.getLogger('qemu.iotests')
 logger.addHandler(logging.NullHandler())
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 7/7] configure: Bump the minimum required Python version to 3.6
  2020-09-23 16:29       ` [PATCH v2 " Thomas Huth
@ 2020-09-23 16:34         ` 罗勇刚(Yonggang Luo)
  2020-09-23 16:44           ` Thomas Huth
  0 siblings, 1 reply; 31+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-23 16:34 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Qemu-block, Alex Bennée, qemu-level, Markus Armbruster,
	Cleber Rosa, John Snow

[-- Attachment #1: Type: text/plain, Size: 2906 bytes --]

Should we also warning it in meson.build, cause configure finally shoud be
removed.

On Thu, Sep 24, 2020 at 12:32 AM Thomas Huth <thuth@redhat.com> wrote:
>
> All our supported build platforms have Python 3.6 or newer nowadays, and
> there are some useful features in Python 3.6 which are not available in
> 3.5 yet (e.g. the type hint annotations which will allow us to statically
> type the QAPI parser), so let's bump the minimum Python version to 3.6
now.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  v2:
>  - Bump the version in docs/conf.py, too
>  - Remove the now unnecessary check in tests/qemu-iotests/iotests.py
>
>  configure                     | 4 ++--
>  docs/conf.py                  | 4 ++--
>  tests/qemu-iotests/iotests.py | 2 --
>  3 files changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/configure b/configure
> index 7564479008..a3a643168e 100755
> --- a/configure
> +++ b/configure
> @@ -1965,8 +1965,8 @@ fi
>
>  # Note that if the Python conditional here evaluates True we will exit
>  # with status 1 which is a shell 'false' value.
> -if ! $python -c 'import sys; sys.exit(sys.version_info < (3,5))'; then
> -  error_exit "Cannot use '$python', Python >= 3.5 is required." \
> +if ! $python -c 'import sys; sys.exit(sys.version_info < (3,6))'; then
> +  error_exit "Cannot use '$python', Python >= 3.6 is required." \
>        "Use --python=/path/to/python to specify a supported Python."
>  fi
>
> diff --git a/docs/conf.py b/docs/conf.py
> index 0dbd90dc11..8aeac40124 100644
> --- a/docs/conf.py
> +++ b/docs/conf.py
> @@ -36,9 +36,9 @@ from sphinx.errors import ConfigError
>  # In newer versions of Sphinx this will display nicely; in older versions
>  # Sphinx will also produce a Python backtrace but at least the
information
>  # gets printed...
> -if sys.version_info < (3,5):
> +if sys.version_info < (3,6):
>      raise ConfigError(
> -        "QEMU requires a Sphinx that uses Python 3.5 or better\n")
> +        "QEMU requires a Sphinx that uses Python 3.6 or better\n")
>
>  # The per-manual conf.py will set qemu_docdir for a single-manual build;
>  # otherwise set it here if this is an entire-manual-set build.
> diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
> index 91e4a57126..f48460480a 100644
> --- a/tests/qemu-iotests/iotests.py
> +++ b/tests/qemu-iotests/iotests.py
> @@ -40,8 +40,6 @@ sys.path.append(os.path.join(os.path.dirname(__file__),
'..', '..', 'python'))
>  from qemu import qtest
>  from qemu.qmp import QMPMessage
>
> -assert sys.version_info >= (3, 6)
> -
>  # Use this logger for logging messages directly from the iotests module
>  logger = logging.getLogger('qemu.iotests')
>  logger.addHandler(logging.NullHandler())
> --
> 2.18.2
>
>


--
         此致
礼
罗勇刚
Yours
    sincerely,
Yonggang Luo

[-- Attachment #2: Type: text/html, Size: 3568 bytes --]

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 7/7] configure: Bump the minimum required Python version to 3.6
  2020-09-23 16:34         ` 罗勇刚(Yonggang Luo)
@ 2020-09-23 16:44           ` Thomas Huth
  0 siblings, 0 replies; 31+ messages in thread
From: Thomas Huth @ 2020-09-23 16:44 UTC (permalink / raw)
  To: luoyonggang
  Cc: Qemu-block, Alex Bennée, qemu-level, Markus Armbruster,
	Cleber Rosa, John Snow

On 23/09/2020 18.34, 罗勇刚(Yonggang Luo) wrote:
> Should we also warning it in meson.build, cause configure finally shoud
> be removed.

Sounds like a good idea for a separate patch (let's do one issue at a
time...).

 Thomas



^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2020-09-23 16:46 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-21 17:43 [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore Thomas Huth
2020-09-21 17:43 ` [PATCH 1/7] tests/docker: Use Fedora containers for MinGW cross-builds in the gitlab-CI Thomas Huth
2020-09-21 18:03   ` Daniel P. Berrangé
2020-09-21 18:07     ` Thomas Huth
2020-09-22  8:21       ` Daniel P. Berrangé
2020-09-21 17:43 ` [PATCH 2/7] gitlab-ci: Remove the Debian9-based containers and containers-layer3 Thomas Huth
2020-09-21 18:05   ` Daniel P. Berrangé
2020-09-21 17:43 ` [PATCH 3/7] tests/docker: Update the tricore container to debian 10 Thomas Huth
2020-09-21 18:05   ` Daniel P. Berrangé
2020-09-22 10:35   ` Philippe Mathieu-Daudé
2020-09-21 17:43 ` [PATCH 4/7] shippable.yml: Remove the Debian9-based MinGW cross-compiler tests Thomas Huth
2020-09-21 18:07   ` Daniel P. Berrangé
2020-09-21 18:10     ` Thomas Huth
2020-09-22 10:38       ` Philippe Mathieu-Daudé
2020-09-21 17:43 ` [PATCH 5/7] tests/docker: Remove old Debian 9 containers Thomas Huth
2020-09-21 18:08   ` Daniel P. Berrangé
2020-09-22 10:39   ` Philippe Mathieu-Daudé
2020-09-21 17:43 ` [PATCH 6/7] gitlab-ci: Increase the timeout for the cross-compiler builds Thomas Huth
2020-09-21 18:09   ` Daniel P. Berrangé
2020-09-22 10:40   ` Philippe Mathieu-Daudé
2020-09-21 17:43 ` [PATCH 7/7] configure: Bump the minimum required Python version to 3.6 Thomas Huth
2020-09-21 18:04   ` John Snow
2020-09-22 10:55     ` Peter Maydell
2020-09-23 16:29       ` [PATCH v2 " Thomas Huth
2020-09-23 16:34         ` 罗勇刚(Yonggang Luo)
2020-09-23 16:44           ` Thomas Huth
2020-09-22 14:15     ` [PATCH " Markus Armbruster
2020-09-21 18:09   ` Daniel P. Berrangé
2020-09-21 18:09 ` [PATCH 0/7] Do not support Debian 9 and Python 3.5 anymore Alex Bennée
2020-09-22  7:06   ` Thomas Huth
2020-09-22  8:38     ` Alex Bennée

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).