qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Drop 32-bit Windows as a supported platform
@ 2024-02-20 17:44 Peter Maydell
  2024-02-20 17:44 ` [PATCH 1/3] docs: Document that 32-bit Windows is unsupported Peter Maydell
                   ` (2 more replies)
  0 siblings, 3 replies; 22+ messages in thread
From: Peter Maydell @ 2024-02-20 17:44 UTC (permalink / raw)
  To: qemu-devel; +Cc: Daniel P. Berrangé, Yonggang Luo

This is the not-for-stable part of dropping 32-bit Windows support:
 * document it
 * drop the cross-win32-system job so we don't spend CI
   defending a config we no longer support
 * drop the shared-msys2 yaml template

I think the only thing remaining after this is to update the
website; I'll put together a merge request for that either
today or on Thursday.

Based-on: 20240220165602.135695-1-peter.maydell@linaro.org
(".gitlab-ci.d/windows.yml: Drop msys2-32bit job")

thanks
-- PMM


Peter Maydell (3):
  docs: Document that 32-bit Windows is unsupported
  .gitlab-ci.d: Drop cross-win32-system job
  .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction

 docs/about/build-platforms.rst                |   2 +
 docs/about/removed-features.rst               |  15 +++
 .gitlab-ci.d/container-cross.yml              |   5 -
 .gitlab-ci.d/crossbuilds.yml                  |  14 ---
 .gitlab-ci.d/windows.yml                      |  84 +++++++------
 .../dockerfiles/fedora-win32-cross.docker     | 111 ------------------
 tests/lcitool/refresh                         |   5 -
 7 files changed, 57 insertions(+), 179 deletions(-)
 delete mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker

-- 
2.34.1



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

* [PATCH 1/3] docs: Document that 32-bit Windows is unsupported
  2024-02-20 17:44 [PATCH 0/3] Drop 32-bit Windows as a supported platform Peter Maydell
@ 2024-02-20 17:44 ` Peter Maydell
  2024-02-20 18:02   ` Alex Bennée
                     ` (2 more replies)
  2024-02-20 17:44 ` [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job Peter Maydell
  2024-02-20 17:44 ` [PATCH 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction Peter Maydell
  2 siblings, 3 replies; 22+ messages in thread
From: Peter Maydell @ 2024-02-20 17:44 UTC (permalink / raw)
  To: qemu-devel; +Cc: Daniel P. Berrangé, Yonggang Luo

---
 docs/about/build-platforms.rst  |  2 ++
 docs/about/removed-features.rst | 15 +++++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
index f2a7aec56ff..8fd7da140a3 100644
--- a/docs/about/build-platforms.rst
+++ b/docs/about/build-platforms.rst
@@ -139,6 +139,8 @@ unprivileged accounts can create symlinks if Developer Mode is enabled.
 When Developer Mode is not available/enabled, the SeCreateSymbolicLinkPrivilege
 privilege is required, or the process must be run as an administrator.
 
+Only 64-bit Windows is supported.
+
 .. _Homebrew: https://brew.sh/
 .. _MacPorts: https://www.macports.org/
 .. _MSYS2: https://www.msys2.org/
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index 54081a6c196..417a0e4fa1d 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -659,6 +659,21 @@ This command didn't produce any output already. Removed with no replacement.
 The ``singlestep`` command has been replaced by the ``one-insn-per-tb``
 command, which has the same behaviour but a less misleading name.
 
+Host Architectures
+------------------
+
+System emulation on 32-bit Windows hosts (removed in 9.0)
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
+Windows 11 has no support for 32-bit host installs, and Windows 10 did
+not support new 32-bit installs, only upgrades. 32-bit Windows support
+has now been dropped by the MSYS2 project. QEMU also is deprecating
+and dropping support for 32-bit x86 host deployments in
+general. 32-bit Windows is therefore no longer a supported host for
+QEMU.  Since all recent x86 hardware from the past >10 years is
+capable of the 64-bit x86 extensions, a corresponding 64-bit OS should
+be used instead.
+
 Guest Emulator ISAs
 -------------------
 
-- 
2.34.1



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

* [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job
  2024-02-20 17:44 [PATCH 0/3] Drop 32-bit Windows as a supported platform Peter Maydell
  2024-02-20 17:44 ` [PATCH 1/3] docs: Document that 32-bit Windows is unsupported Peter Maydell
@ 2024-02-20 17:44 ` Peter Maydell
  2024-02-20 18:02   ` Alex Bennée
                     ` (3 more replies)
  2024-02-20 17:44 ` [PATCH 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction Peter Maydell
  2 siblings, 4 replies; 22+ messages in thread
From: Peter Maydell @ 2024-02-20 17:44 UTC (permalink / raw)
  To: qemu-devel; +Cc: Daniel P. Berrangé, Yonggang Luo

We don't support 32-bit Windows any more, so we don't need to defend it
with this CI job.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 .gitlab-ci.d/container-cross.yml              |   5 -
 .gitlab-ci.d/crossbuilds.yml                  |  14 ---
 .../dockerfiles/fedora-win32-cross.docker     | 111 ------------------
 tests/lcitool/refresh                         |   5 -
 4 files changed, 135 deletions(-)
 delete mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker

diff --git a/.gitlab-ci.d/container-cross.yml b/.gitlab-ci.d/container-cross.yml
index 8d235cbea01..e3103940a0e 100644
--- a/.gitlab-ci.d/container-cross.yml
+++ b/.gitlab-ci.d/container-cross.yml
@@ -101,11 +101,6 @@ cris-fedora-cross-container:
   variables:
     NAME: fedora-cris-cross
 
-win32-fedora-cross-container:
-  extends: .container_job_template
-  variables:
-    NAME: fedora-win32-cross
-
 win64-fedora-cross-container:
   extends: .container_job_template
   variables:
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index d19d98cde05..987ba9694ba 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -159,20 +159,6 @@ cross-mips64el-kvm-only:
     IMAGE: debian-mips64el-cross
     EXTRA_CONFIGURE_OPTS: --disable-tcg --target-list=mips64el-softmmu
 
-cross-win32-system:
-  extends: .cross_system_build_job
-  needs:
-    job: win32-fedora-cross-container
-  variables:
-    IMAGE: fedora-win32-cross
-    EXTRA_CONFIGURE_OPTS: --enable-fdt=internal
-    CROSS_SKIP_TARGETS: alpha-softmmu avr-softmmu hppa-softmmu m68k-softmmu
-                        microblazeel-softmmu mips64el-softmmu nios2-softmmu
-  artifacts:
-    when: on_success
-    paths:
-      - build/qemu-setup*.exe
-
 cross-win64-system:
   extends: .cross_system_build_job
   needs:
diff --git a/tests/docker/dockerfiles/fedora-win32-cross.docker b/tests/docker/dockerfiles/fedora-win32-cross.docker
deleted file mode 100644
index 08799219f98..00000000000
--- a/tests/docker/dockerfiles/fedora-win32-cross.docker
+++ /dev/null
@@ -1,111 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-#  $ lcitool dockerfile --layers all --cross-arch mingw32 fedora-38 qemu
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM registry.fedoraproject.org/fedora:38
-
-RUN dnf install -y nosync && \
-    printf '#!/bin/sh\n\
-if test -d /usr/lib64\n\
-then\n\
-    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
-else\n\
-    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
-fi\n\
-exec "$@"\n' > /usr/bin/nosync && \
-    chmod +x /usr/bin/nosync && \
-    nosync dnf update -y && \
-    nosync dnf install -y \
-               bash \
-               bc \
-               bison \
-               bzip2 \
-               ca-certificates \
-               ccache \
-               ctags \
-               dbus-daemon \
-               diffutils \
-               findutils \
-               flex \
-               gcc \
-               gcovr \
-               git \
-               glib2-devel \
-               glibc-langpack-en \
-               hostname \
-               llvm \
-               make \
-               meson \
-               mtools \
-               ninja-build \
-               nmap-ncat \
-               openssh-clients \
-               pcre-static \
-               python3 \
-               python3-PyYAML \
-               python3-numpy \
-               python3-opencv \
-               python3-pillow \
-               python3-pip \
-               python3-sphinx \
-               python3-sphinx_rtd_theme \
-               sed \
-               socat \
-               sparse \
-               spice-protocol \
-               swtpm \
-               tar \
-               tesseract \
-               tesseract-langpack-eng \
-               util-linux \
-               which \
-               xorriso \
-               zstd && \
-    nosync dnf autoremove -y && \
-    nosync dnf clean all -y
-
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
-ENV LANG "en_US.UTF-8"
-ENV MAKE "/usr/bin/make"
-ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
-
-RUN nosync dnf install -y \
-               mingw32-SDL2 \
-               mingw32-SDL2_image \
-               mingw32-bzip2 \
-               mingw32-curl \
-               mingw32-gcc \
-               mingw32-gcc-c++ \
-               mingw32-gettext \
-               mingw32-glib2 \
-               mingw32-gnutls \
-               mingw32-gtk3 \
-               mingw32-libepoxy \
-               mingw32-libgcrypt \
-               mingw32-libjpeg-turbo \
-               mingw32-libpng \
-               mingw32-libtasn1 \
-               mingw32-nettle \
-               mingw32-nsis \
-               mingw32-pixman \
-               mingw32-pkg-config && \
-    nosync dnf clean all -y && \
-    rpm -qa | sort > /packages.txt && \
-    mkdir -p /usr/libexec/ccache-wrappers && \
-    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-c++ && \
-    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \
-    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-g++ && \
-    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc
-
-ENV ABI "i686-w64-mingw32"
-ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
-ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32-
-ENV DEF_TARGET_LIST i386-softmmu
-# As a final step configure the user (if env is defined)
-ARG USER
-ARG UID
-RUN if [ "${USER}" ]; then \
-  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index 0c93557ad67..fe7692c5006 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -192,11 +192,6 @@ try:
                         trailer=cross_build("s390x-linux-gnu-",
                                             "s390x-softmmu,s390x-linux-user"))
 
-    generate_dockerfile("fedora-win32-cross", "fedora-38",
-                        cross="mingw32",
-                        trailer=cross_build("i686-w64-mingw32-",
-                                            "i386-softmmu"))
-
     generate_dockerfile("fedora-win64-cross", "fedora-38",
                         cross="mingw64",
                         trailer=cross_build("x86_64-w64-mingw32-",
-- 
2.34.1



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

* [PATCH 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction
  2024-02-20 17:44 [PATCH 0/3] Drop 32-bit Windows as a supported platform Peter Maydell
  2024-02-20 17:44 ` [PATCH 1/3] docs: Document that 32-bit Windows is unsupported Peter Maydell
  2024-02-20 17:44 ` [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job Peter Maydell
@ 2024-02-20 17:44 ` Peter Maydell
  2024-02-20 18:06   ` Daniel P. Berrangé
  2024-02-20 18:50   ` Philippe Mathieu-Daudé
  2 siblings, 2 replies; 22+ messages in thread
From: Peter Maydell @ 2024-02-20 17:44 UTC (permalink / raw)
  To: qemu-devel; +Cc: Daniel P. Berrangé, Yonggang Luo

Now we don't build msys2-32bit we don't need the abstraction out of the
common msys2 handling from the 32-vs-64-bit specifics. Collapse it
down into the msys2-64bit job definition.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 .gitlab-ci.d/windows.yml | 84 +++++++++++++++++++---------------------
 1 file changed, 40 insertions(+), 44 deletions(-)

diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
index 8fc08218d28..e784d5a68cd 100644
--- a/.gitlab-ci.d/windows.yml
+++ b/.gitlab-ci.d/windows.yml
@@ -1,4 +1,4 @@
-.shared_msys2_builder:
+msys2-64bit:
   extends: .base_job_template
   tags:
   - shared-windows
@@ -14,9 +14,19 @@
   stage: build
   timeout: 100m
   variables:
+    MINGW_TARGET: mingw-w64-x86_64
+    MSYSTEM: MINGW64
     # This feature doesn't (currently) work with PowerShell, it stops
     # the echo'ing of commands being run and doesn't show any timing
     FF_SCRIPT_SECTIONS: 0
+    # do not remove "--without-default-devices"!
+    # commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices"
+    # changed to compile QEMU with the --without-default-devices switch
+    # for the msys2 64-bit job, due to the build could not complete within
+    CONFIGURE_ARGS:  --target-list=x86_64-softmmu --without-default-devices -Ddebug=false -Doptimization=0
+    # qTests don't run successfully with "--without-default-devices",
+    # so let's exclude the qtests from CI for now.
+    TEST_ARGS: --no-suite qtest
   artifacts:
     name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
     expire_in: 7 days
@@ -72,33 +82,35 @@
   - .\msys64\usr\bin\bash -lc "pacman -Sy --noconfirm --needed
       bison diffutils flex
       git grep make sed
-      $MINGW_TARGET-binutils
-      $MINGW_TARGET-capstone
-      $MINGW_TARGET-ccache
-      $MINGW_TARGET-curl
-      $MINGW_TARGET-cyrus-sasl
-      $MINGW_TARGET-dtc
-      $MINGW_TARGET-gcc
-      $MINGW_TARGET-glib2
-      $MINGW_TARGET-gnutls
-      $MINGW_TARGET-gtk3
-      $MINGW_TARGET-libgcrypt
-      $MINGW_TARGET-libjpeg-turbo
-      $MINGW_TARGET-libnfs
-      $MINGW_TARGET-libpng
-      $MINGW_TARGET-libssh
-      $MINGW_TARGET-libtasn1
-      $MINGW_TARGET-lzo2
-      $MINGW_TARGET-nettle
-      $MINGW_TARGET-ninja
-      $MINGW_TARGET-pixman
-      $MINGW_TARGET-pkgconf
-      $MINGW_TARGET-python
-      $MINGW_TARGET-SDL2
-      $MINGW_TARGET-SDL2_image
-      $MINGW_TARGET-snappy
-      $MINGW_TARGET-zstd
-      $EXTRA_PACKAGES "
+      mingw-w64-x86_64-binutils
+      mingw-w64-x86_64-capstone
+      mingw-w64-x86_64-ccache
+      mingw-w64-x86_64-curl
+      mingw-w64-x86_64-cyrus-sasl
+      mingw-w64-x86_64-dtc
+      mingw-w64-x86_64-gcc
+      mingw-w64-x86_64-glib2
+      mingw-w64-x86_64-gnutls
+      mingw-w64-x86_64-gtk3
+      mingw-w64-x86_64-libgcrypt
+      mingw-w64-x86_64-libjpeg-turbo
+      mingw-w64-x86_64-libnfs
+      mingw-w64-x86_64-libpng
+      mingw-w64-x86_64-libssh
+      mingw-w64-x86_64-libtasn1
+      mingw-w64-x86_64-libusb
+      mingw-w64-x86_64-lzo2
+      mingw-w64-x86_64-nettle
+      mingw-w64-x86_64-ninja
+      mingw-w64-x86_64-pixman
+      mingw-w64-x86_64-pkgconf
+      mingw-w64-x86_64-python
+      mingw-w64-x86_64-SDL2
+      mingw-w64-x86_64-SDL2_image
+      mingw-w64-x86_64-snappy
+      mingw-w64-x86_64-spice
+      mingw-w64-x86_64-usbredir
+      mingw-w64-x86_64-zstd"
   - Write-Output "Running build at $(Get-Date -Format u)"
   - $env:CHERE_INVOKING = 'yes'  # Preserve the current working directory
   - $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink
@@ -115,19 +127,3 @@
   - ..\msys64\usr\bin\bash -lc "make check MTESTARGS='$TEST_ARGS' || { cat meson-logs/testlog.txt; exit 1; } ;"
   - ..\msys64\usr\bin\bash -lc "ccache --show-stats"
   - Write-Output "Finished build at $(Get-Date -Format u)"
-
-msys2-64bit:
-  extends: .shared_msys2_builder
-  variables:
-    MINGW_TARGET: mingw-w64-x86_64
-    MSYSTEM: MINGW64
-    # msys2 only ship these packages for 64-bit, not 32-bit
-    EXTRA_PACKAGES: $MINGW_TARGET-libusb $MINGW_TARGET-usbredir $MINGW_TARGET-spice
-    # do not remove "--without-default-devices"!
-    # commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices"
-    # changed to compile QEMU with the --without-default-devices switch
-    # for the msys2 64-bit job, due to the build could not complete within
-    CONFIGURE_ARGS:  --target-list=x86_64-softmmu --without-default-devices -Ddebug=false -Doptimization=0
-    # qTests don't run successfully with "--without-default-devices",
-    # so let's exclude the qtests from CI for now.
-    TEST_ARGS: --no-suite qtest
-- 
2.34.1



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

* Re: [PATCH 1/3] docs: Document that 32-bit Windows is unsupported
  2024-02-20 17:44 ` [PATCH 1/3] docs: Document that 32-bit Windows is unsupported Peter Maydell
@ 2024-02-20 18:02   ` Alex Bennée
  2024-02-20 18:02   ` Daniel P. Berrangé
  2024-02-21  7:10   ` Thomas Huth
  2 siblings, 0 replies; 22+ messages in thread
From: Alex Bennée @ 2024-02-20 18:02 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Daniel P. Berrangé, Yonggang Luo

Peter Maydell <peter.maydell@linaro.org> writes:

> ---
>  docs/about/build-platforms.rst  |  2 ++
>  docs/about/removed-features.rst | 15 +++++++++++++++
>  2 files changed, 17 insertions(+)

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


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

* Re: [PATCH 1/3] docs: Document that 32-bit Windows is unsupported
  2024-02-20 17:44 ` [PATCH 1/3] docs: Document that 32-bit Windows is unsupported Peter Maydell
  2024-02-20 18:02   ` Alex Bennée
@ 2024-02-20 18:02   ` Daniel P. Berrangé
  2024-02-21  7:10   ` Thomas Huth
  2 siblings, 0 replies; 22+ messages in thread
From: Daniel P. Berrangé @ 2024-02-20 18:02 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Yonggang Luo

On Tue, Feb 20, 2024 at 05:44:10PM +0000, Peter Maydell wrote:
> ---
>  docs/about/build-platforms.rst  |  2 ++
>  docs/about/removed-features.rst | 15 +++++++++++++++
>  2 files changed, 17 insertions(+)

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


With 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] 22+ messages in thread

* Re: [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job
  2024-02-20 17:44 ` [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job Peter Maydell
@ 2024-02-20 18:02   ` Alex Bennée
  2024-02-20 18:04   ` Daniel P. Berrangé
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 22+ messages in thread
From: Alex Bennée @ 2024-02-20 18:02 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Daniel P. Berrangé, Yonggang Luo

Peter Maydell <peter.maydell@linaro.org> writes:

> We don't support 32-bit Windows any more, so we don't need to defend it
> with this CI job.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


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

* Re: [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job
  2024-02-20 17:44 ` [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job Peter Maydell
  2024-02-20 18:02   ` Alex Bennée
@ 2024-02-20 18:04   ` Daniel P. Berrangé
  2024-02-20 18:46   ` Philippe Mathieu-Daudé
  2024-02-21  7:11   ` Thomas Huth
  3 siblings, 0 replies; 22+ messages in thread
From: Daniel P. Berrangé @ 2024-02-20 18:04 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Yonggang Luo

On Tue, Feb 20, 2024 at 05:44:11PM +0000, Peter Maydell wrote:
> We don't support 32-bit Windows any more, so we don't need to defend it
> with this CI job.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>  .gitlab-ci.d/container-cross.yml              |   5 -
>  .gitlab-ci.d/crossbuilds.yml                  |  14 ---
>  .../dockerfiles/fedora-win32-cross.docker     | 111 ------------------
>  tests/lcitool/refresh                         |   5 -
>  4 files changed, 135 deletions(-)
>  delete mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker

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


With 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] 22+ messages in thread

* Re: [PATCH 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction
  2024-02-20 17:44 ` [PATCH 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction Peter Maydell
@ 2024-02-20 18:06   ` Daniel P. Berrangé
  2024-02-21  7:16     ` Thomas Huth
  2024-02-20 18:50   ` Philippe Mathieu-Daudé
  1 sibling, 1 reply; 22+ messages in thread
From: Daniel P. Berrangé @ 2024-02-20 18:06 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Yonggang Luo

On Tue, Feb 20, 2024 at 05:44:12PM +0000, Peter Maydell wrote:
> Now we don't build msys2-32bit we don't need the abstraction out of the
> common msys2 handling from the 32-vs-64-bit specifics. Collapse it
> down into the msys2-64bit job definition.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>  .gitlab-ci.d/windows.yml | 84 +++++++++++++++++++---------------------
>  1 file changed, 40 insertions(+), 44 deletions(-)
> 
> diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
> index 8fc08218d28..e784d5a68cd 100644
> --- a/.gitlab-ci.d/windows.yml
> +++ b/.gitlab-ci.d/windows.yml
> @@ -1,4 +1,4 @@
> -.shared_msys2_builder:
> +msys2-64bit:
>    extends: .base_job_template
>    tags:
>    - shared-windows
> @@ -14,9 +14,19 @@
>    stage: build
>    timeout: 100m
>    variables:
> +    MINGW_TARGET: mingw-w64-x86_64

This var isn't needed since you remove the only usage of it.

> +    MSYSTEM: MINGW64

I'm fuzzy on whether this is needed or not ?   We don't use it,
but perhaps it is something MSys wants set ?

>      # This feature doesn't (currently) work with PowerShell, it stops
>      # the echo'ing of commands being run and doesn't show any timing
>      FF_SCRIPT_SECTIONS: 0
> +    # do not remove "--without-default-devices"!
> +    # commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices"
> +    # changed to compile QEMU with the --without-default-devices switch
> +    # for the msys2 64-bit job, due to the build could not complete within
> +    CONFIGURE_ARGS:  --target-list=x86_64-softmmu --without-default-devices -Ddebug=false -Doptimization=0
> +    # qTests don't run successfully with "--without-default-devices",
> +    # so let's exclude the qtests from CI for now.
> +    TEST_ARGS: --no-suite qtest
>    artifacts:
>      name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
>      expire_in: 7 days
> @@ -72,33 +82,35 @@
>    - .\msys64\usr\bin\bash -lc "pacman -Sy --noconfirm --needed
>        bison diffutils flex
>        git grep make sed
> -      $MINGW_TARGET-binutils
> -      $MINGW_TARGET-capstone
> -      $MINGW_TARGET-ccache
> -      $MINGW_TARGET-curl
> -      $MINGW_TARGET-cyrus-sasl
> -      $MINGW_TARGET-dtc
> -      $MINGW_TARGET-gcc
> -      $MINGW_TARGET-glib2
> -      $MINGW_TARGET-gnutls
> -      $MINGW_TARGET-gtk3
> -      $MINGW_TARGET-libgcrypt
> -      $MINGW_TARGET-libjpeg-turbo
> -      $MINGW_TARGET-libnfs
> -      $MINGW_TARGET-libpng
> -      $MINGW_TARGET-libssh
> -      $MINGW_TARGET-libtasn1
> -      $MINGW_TARGET-lzo2
> -      $MINGW_TARGET-nettle
> -      $MINGW_TARGET-ninja
> -      $MINGW_TARGET-pixman
> -      $MINGW_TARGET-pkgconf
> -      $MINGW_TARGET-python
> -      $MINGW_TARGET-SDL2
> -      $MINGW_TARGET-SDL2_image
> -      $MINGW_TARGET-snappy
> -      $MINGW_TARGET-zstd
> -      $EXTRA_PACKAGES "
> +      mingw-w64-x86_64-binutils
> +      mingw-w64-x86_64-capstone
> +      mingw-w64-x86_64-ccache
> +      mingw-w64-x86_64-curl
> +      mingw-w64-x86_64-cyrus-sasl
> +      mingw-w64-x86_64-dtc
> +      mingw-w64-x86_64-gcc
> +      mingw-w64-x86_64-glib2
> +      mingw-w64-x86_64-gnutls
> +      mingw-w64-x86_64-gtk3
> +      mingw-w64-x86_64-libgcrypt
> +      mingw-w64-x86_64-libjpeg-turbo
> +      mingw-w64-x86_64-libnfs
> +      mingw-w64-x86_64-libpng
> +      mingw-w64-x86_64-libssh
> +      mingw-w64-x86_64-libtasn1
> +      mingw-w64-x86_64-libusb
> +      mingw-w64-x86_64-lzo2
> +      mingw-w64-x86_64-nettle
> +      mingw-w64-x86_64-ninja
> +      mingw-w64-x86_64-pixman
> +      mingw-w64-x86_64-pkgconf
> +      mingw-w64-x86_64-python
> +      mingw-w64-x86_64-SDL2
> +      mingw-w64-x86_64-SDL2_image
> +      mingw-w64-x86_64-snappy
> +      mingw-w64-x86_64-spice
> +      mingw-w64-x86_64-usbredir
> +      mingw-w64-x86_64-zstd"
>    - Write-Output "Running build at $(Get-Date -Format u)"
>    - $env:CHERE_INVOKING = 'yes'  # Preserve the current working directory
>    - $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink
> @@ -115,19 +127,3 @@
>    - ..\msys64\usr\bin\bash -lc "make check MTESTARGS='$TEST_ARGS' || { cat meson-logs/testlog.txt; exit 1; } ;"
>    - ..\msys64\usr\bin\bash -lc "ccache --show-stats"
>    - Write-Output "Finished build at $(Get-Date -Format u)"
> -
> -msys2-64bit:
> -  extends: .shared_msys2_builder
> -  variables:
> -    MINGW_TARGET: mingw-w64-x86_64
> -    MSYSTEM: MINGW64
> -    # msys2 only ship these packages for 64-bit, not 32-bit
> -    EXTRA_PACKAGES: $MINGW_TARGET-libusb $MINGW_TARGET-usbredir $MINGW_TARGET-spice
> -    # do not remove "--without-default-devices"!
> -    # commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices"
> -    # changed to compile QEMU with the --without-default-devices switch
> -    # for the msys2 64-bit job, due to the build could not complete within
> -    CONFIGURE_ARGS:  --target-list=x86_64-softmmu --without-default-devices -Ddebug=false -Doptimization=0
> -    # qTests don't run successfully with "--without-default-devices",
> -    # so let's exclude the qtests from CI for now.
> -    TEST_ARGS: --no-suite qtest
> -- 
> 2.34.1
> 

With 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] 22+ messages in thread

* Re: [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job
  2024-02-20 17:44 ` [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job Peter Maydell
  2024-02-20 18:02   ` Alex Bennée
  2024-02-20 18:04   ` Daniel P. Berrangé
@ 2024-02-20 18:46   ` Philippe Mathieu-Daudé
  2024-02-20 18:55     ` Daniel P. Berrangé
  2024-02-22 11:44     ` Peter Maydell
  2024-02-21  7:11   ` Thomas Huth
  3 siblings, 2 replies; 22+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-02-20 18:46 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel, Thomas Huth
  Cc: Daniel P. Berrangé, Yonggang Luo

On 20/2/24 18:44, Peter Maydell wrote:
> We don't support 32-bit Windows any more, so we don't need to defend it
> with this CI job.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>   .gitlab-ci.d/container-cross.yml              |   5 -
>   .gitlab-ci.d/crossbuilds.yml                  |  14 ---
>   .../dockerfiles/fedora-win32-cross.docker     | 111 ------------------
>   tests/lcitool/refresh                         |   5 -
>   4 files changed, 135 deletions(-)
>   delete mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker


> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> index d19d98cde05..987ba9694ba 100644
> --- a/.gitlab-ci.d/crossbuilds.yml
> +++ b/.gitlab-ci.d/crossbuilds.yml
> @@ -159,20 +159,6 @@ cross-mips64el-kvm-only:
>       IMAGE: debian-mips64el-cross
>       EXTRA_CONFIGURE_OPTS: --disable-tcg --target-list=mips64el-softmmu
>   
> -cross-win32-system:
> -  extends: .cross_system_build_job
> -  needs:
> -    job: win32-fedora-cross-container
> -  variables:
> -    IMAGE: fedora-win32-cross
> -    EXTRA_CONFIGURE_OPTS: --enable-fdt=internal
> -    CROSS_SKIP_TARGETS: alpha-softmmu avr-softmmu hppa-softmmu m68k-softmmu
> -                        microblazeel-softmmu mips64el-softmmu nios2-softmmu

Thomas, is it possible to add mips64el-softmmu to the cross-win64-system
job or is it already at the timeout limit?

> -  artifacts:
> -    when: on_success
> -    paths:
> -      - build/qemu-setup*.exe
> -
>   cross-win64-system:
>     extends: .cross_system_build_job
>     needs:


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

* Re: [PATCH 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction
  2024-02-20 17:44 ` [PATCH 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction Peter Maydell
  2024-02-20 18:06   ` Daniel P. Berrangé
@ 2024-02-20 18:50   ` Philippe Mathieu-Daudé
  2024-02-22 11:38     ` Peter Maydell
  1 sibling, 1 reply; 22+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-02-20 18:50 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel; +Cc: Daniel P. Berrangé, Yonggang Luo

On 20/2/24 18:44, Peter Maydell wrote:
> Now we don't build msys2-32bit we don't need the abstraction out of the
> common msys2 handling from the 32-vs-64-bit specifics. Collapse it
> down into the msys2-64bit job definition.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>   .gitlab-ci.d/windows.yml | 84 +++++++++++++++++++---------------------
>   1 file changed, 40 insertions(+), 44 deletions(-)
> 
> diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
> index 8fc08218d28..e784d5a68cd 100644
> --- a/.gitlab-ci.d/windows.yml
> +++ b/.gitlab-ci.d/windows.yml
> @@ -1,4 +1,4 @@
> -.shared_msys2_builder:
> +msys2-64bit:
>     extends: .base_job_template
>     tags:
>     - shared-windows
> @@ -14,9 +14,19 @@
>     stage: build
>     timeout: 100m
>     variables:
> +    MINGW_TARGET: mingw-w64-x86_64

You expanded $MINGW_TARGET so we can remove it.

> +    MSYSTEM: MINGW64
>       # This feature doesn't (currently) work with PowerShell, it stops
>       # the echo'ing of commands being run and doesn't show any timing
>       FF_SCRIPT_SECTIONS: 0
> +    # do not remove "--without-default-devices"!
> +    # commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices"
> +    # changed to compile QEMU with the --without-default-devices switch
> +    # for the msys2 64-bit job, due to the build could not complete within

s/the msys2 64-bit/this/, although it seems this sentence got truncated.

> +    CONFIGURE_ARGS:  --target-list=x86_64-softmmu --without-default-devices -Ddebug=false -Doptimization=0
> +    # qTests don't run successfully with "--without-default-devices",
> +    # so let's exclude the qtests from CI for now.
> +    TEST_ARGS: --no-suite qtest
>     artifacts:
>       name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
>       expire_in: 7 days

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



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

* Re: [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job
  2024-02-20 18:46   ` Philippe Mathieu-Daudé
@ 2024-02-20 18:55     ` Daniel P. Berrangé
  2024-02-21  7:06       ` Thomas Huth
  2024-02-22 11:44     ` Peter Maydell
  1 sibling, 1 reply; 22+ messages in thread
From: Daniel P. Berrangé @ 2024-02-20 18:55 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Peter Maydell, qemu-devel, Thomas Huth, Yonggang Luo

On Tue, Feb 20, 2024 at 07:46:37PM +0100, Philippe Mathieu-Daudé wrote:
> On 20/2/24 18:44, Peter Maydell wrote:
> > We don't support 32-bit Windows any more, so we don't need to defend it
> > with this CI job.
> > 
> > Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> > ---
> >   .gitlab-ci.d/container-cross.yml              |   5 -
> >   .gitlab-ci.d/crossbuilds.yml                  |  14 ---
> >   .../dockerfiles/fedora-win32-cross.docker     | 111 ------------------
> >   tests/lcitool/refresh                         |   5 -
> >   4 files changed, 135 deletions(-)
> >   delete mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker
> 
> 
> > diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> > index d19d98cde05..987ba9694ba 100644
> > --- a/.gitlab-ci.d/crossbuilds.yml
> > +++ b/.gitlab-ci.d/crossbuilds.yml
> > @@ -159,20 +159,6 @@ cross-mips64el-kvm-only:
> >       IMAGE: debian-mips64el-cross
> >       EXTRA_CONFIGURE_OPTS: --disable-tcg --target-list=mips64el-softmmu
> > -cross-win32-system:
> > -  extends: .cross_system_build_job
> > -  needs:
> > -    job: win32-fedora-cross-container
> > -  variables:
> > -    IMAGE: fedora-win32-cross
> > -    EXTRA_CONFIGURE_OPTS: --enable-fdt=internal
> > -    CROSS_SKIP_TARGETS: alpha-softmmu avr-softmmu hppa-softmmu m68k-softmmu
> > -                        microblazeel-softmmu mips64el-softmmu nios2-softmmu
> 
> Thomas, is it possible to add mips64el-softmmu to the cross-win64-system
> job or is it already at the timeout limit?

If its too close to the limit, we could add  across-win64-system-part2
job now we freed time from the deleting the win32 job.

> 
> > -  artifacts:
> > -    when: on_success
> > -    paths:
> > -      - build/qemu-setup*.exe
> > -
> >   cross-win64-system:
> >     extends: .cross_system_build_job
> >     needs:
> 

With 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] 22+ messages in thread

* Re: [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job
  2024-02-20 18:55     ` Daniel P. Berrangé
@ 2024-02-21  7:06       ` Thomas Huth
  0 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2024-02-21  7:06 UTC (permalink / raw)
  To: Daniel P. Berrangé, Philippe Mathieu-Daudé
  Cc: Peter Maydell, qemu-devel, Yonggang Luo

On 20/02/2024 19.55, Daniel P. Berrangé wrote:
> On Tue, Feb 20, 2024 at 07:46:37PM +0100, Philippe Mathieu-Daudé wrote:
>> On 20/2/24 18:44, Peter Maydell wrote:
>>> We don't support 32-bit Windows any more, so we don't need to defend it
>>> with this CI job.
>>>
>>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>>> ---
>>>    .gitlab-ci.d/container-cross.yml              |   5 -
>>>    .gitlab-ci.d/crossbuilds.yml                  |  14 ---
>>>    .../dockerfiles/fedora-win32-cross.docker     | 111 ------------------
>>>    tests/lcitool/refresh                         |   5 -
>>>    4 files changed, 135 deletions(-)
>>>    delete mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker
>>
>>
>>> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
>>> index d19d98cde05..987ba9694ba 100644
>>> --- a/.gitlab-ci.d/crossbuilds.yml
>>> +++ b/.gitlab-ci.d/crossbuilds.yml
>>> @@ -159,20 +159,6 @@ cross-mips64el-kvm-only:
>>>        IMAGE: debian-mips64el-cross
>>>        EXTRA_CONFIGURE_OPTS: --disable-tcg --target-list=mips64el-softmmu
>>> -cross-win32-system:
>>> -  extends: .cross_system_build_job
>>> -  needs:
>>> -    job: win32-fedora-cross-container
>>> -  variables:
>>> -    IMAGE: fedora-win32-cross
>>> -    EXTRA_CONFIGURE_OPTS: --enable-fdt=internal
>>> -    CROSS_SKIP_TARGETS: alpha-softmmu avr-softmmu hppa-softmmu m68k-softmmu
>>> -                        microblazeel-softmmu mips64el-softmmu nios2-softmmu
>>
>> Thomas, is it possible to add mips64el-softmmu to the cross-win64-system
>> job or is it already at the timeout limit?
> 
> If its too close to the limit, we could add  across-win64-system-part2
> job now we freed time from the deleting the win32 job.

Looking at a recent run:

  https://gitlab.com/qemu-project/qemu/-/jobs/6189303285

It seems like we're in the 50 minutes range here, and timeout is set to 
1h20m, so I think there should still be enough headroom for adding 
mips64el-softmmu to that job.

  Thomas




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

* Re: [PATCH 1/3] docs: Document that 32-bit Windows is unsupported
  2024-02-20 17:44 ` [PATCH 1/3] docs: Document that 32-bit Windows is unsupported Peter Maydell
  2024-02-20 18:02   ` Alex Bennée
  2024-02-20 18:02   ` Daniel P. Berrangé
@ 2024-02-21  7:10   ` Thomas Huth
  2 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2024-02-21  7:10 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel; +Cc: Daniel P. Berrangé, Yonggang Luo

On 20/02/2024 18.44, Peter Maydell wrote:
> ---
>   docs/about/build-platforms.rst  |  2 ++
>   docs/about/removed-features.rst | 15 +++++++++++++++
>   2 files changed, 17 insertions(+)
> 
> diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
> index f2a7aec56ff..8fd7da140a3 100644
> --- a/docs/about/build-platforms.rst
> +++ b/docs/about/build-platforms.rst
> @@ -139,6 +139,8 @@ unprivileged accounts can create symlinks if Developer Mode is enabled.
>   When Developer Mode is not available/enabled, the SeCreateSymbolicLinkPrivilege
>   privilege is required, or the process must be run as an administrator.
>   
> +Only 64-bit Windows is supported.
...


Reviewed-by: Thomas Huth <thuth@redhat.com>



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

* Re: [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job
  2024-02-20 17:44 ` [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job Peter Maydell
                     ` (2 preceding siblings ...)
  2024-02-20 18:46   ` Philippe Mathieu-Daudé
@ 2024-02-21  7:11   ` Thomas Huth
  3 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2024-02-21  7:11 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel; +Cc: Daniel P. Berrangé, Yonggang Luo

On 20/02/2024 18.44, Peter Maydell wrote:
> We don't support 32-bit Windows any more, so we don't need to defend it
> with this CI job.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>   .gitlab-ci.d/container-cross.yml              |   5 -
>   .gitlab-ci.d/crossbuilds.yml                  |  14 ---
>   .../dockerfiles/fedora-win32-cross.docker     | 111 ------------------
>   tests/lcitool/refresh                         |   5 -
>   4 files changed, 135 deletions(-)
>   delete mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker

Reviewed-by: Thomas Huth <thuth@redhat.com>




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

* Re: [PATCH 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction
  2024-02-20 18:06   ` Daniel P. Berrangé
@ 2024-02-21  7:16     ` Thomas Huth
  2024-02-22 11:33       ` Peter Maydell
  0 siblings, 1 reply; 22+ messages in thread
From: Thomas Huth @ 2024-02-21  7:16 UTC (permalink / raw)
  To: Daniel P. Berrangé, Peter Maydell; +Cc: qemu-devel, Yonggang Luo

On 20/02/2024 19.06, Daniel P. Berrangé wrote:
> On Tue, Feb 20, 2024 at 05:44:12PM +0000, Peter Maydell wrote:
>> Now we don't build msys2-32bit we don't need the abstraction out of the
>> common msys2 handling from the 32-vs-64-bit specifics. Collapse it
>> down into the msys2-64bit job definition.
>>
>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>> ---
>>   .gitlab-ci.d/windows.yml | 84 +++++++++++++++++++---------------------
>>   1 file changed, 40 insertions(+), 44 deletions(-)
>>
>> diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
>> index 8fc08218d28..e784d5a68cd 100644
>> --- a/.gitlab-ci.d/windows.yml
>> +++ b/.gitlab-ci.d/windows.yml
>> @@ -1,4 +1,4 @@
>> -.shared_msys2_builder:
>> +msys2-64bit:
>>     extends: .base_job_template
>>     tags:
>>     - shared-windows
>> @@ -14,9 +14,19 @@
>>     stage: build
>>     timeout: 100m
>>     variables:
>> +    MINGW_TARGET: mingw-w64-x86_64
> 
> This var isn't needed since you remove the only usage of it.
> 
>> +    MSYSTEM: MINGW64
> 
> I'm fuzzy on whether this is needed or not ?   We don't use it,
> but perhaps it is something MSys wants set ?

We've had this in the very first version of this file already:

  - $env:MSYSTEM = 'MINGW64'     # Start a 64 bit Mingw environment

So I think this is required by MSYS.

  Thomas




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

* Re: [PATCH 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction
  2024-02-21  7:16     ` Thomas Huth
@ 2024-02-22 11:33       ` Peter Maydell
  0 siblings, 0 replies; 22+ messages in thread
From: Peter Maydell @ 2024-02-22 11:33 UTC (permalink / raw)
  To: Thomas Huth; +Cc: Daniel P. Berrangé, qemu-devel, Yonggang Luo

On Wed, 21 Feb 2024 at 07:16, Thomas Huth <thuth@redhat.com> wrote:
>
> On 20/02/2024 19.06, Daniel P. Berrangé wrote:
> > On Tue, Feb 20, 2024 at 05:44:12PM +0000, Peter Maydell wrote:
> >> Now we don't build msys2-32bit we don't need the abstraction out of the
> >> common msys2 handling from the 32-vs-64-bit specifics. Collapse it
> >> down into the msys2-64bit job definition.
> >>
> >> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> >> ---
> >>   .gitlab-ci.d/windows.yml | 84 +++++++++++++++++++---------------------
> >>   1 file changed, 40 insertions(+), 44 deletions(-)
> >>
> >> diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
> >> index 8fc08218d28..e784d5a68cd 100644
> >> --- a/.gitlab-ci.d/windows.yml
> >> +++ b/.gitlab-ci.d/windows.yml
> >> @@ -1,4 +1,4 @@
> >> -.shared_msys2_builder:
> >> +msys2-64bit:
> >>     extends: .base_job_template
> >>     tags:
> >>     - shared-windows
> >> @@ -14,9 +14,19 @@
> >>     stage: build
> >>     timeout: 100m
> >>     variables:
> >> +    MINGW_TARGET: mingw-w64-x86_64
> >
> > This var isn't needed since you remove the only usage of it.
> >
> >> +    MSYSTEM: MINGW64
> >
> > I'm fuzzy on whether this is needed or not ?   We don't use it,
> > but perhaps it is something MSys wants set ?
>
> We've had this in the very first version of this file already:
>
>   - $env:MSYSTEM = 'MINGW64'     # Start a 64 bit Mingw environment
>
> So I think this is required by MSYS.

Yes; it selects the compiler and C library to build with:
https://www.msys2.org/docs/environments/

-- PMM


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

* Re: [PATCH 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction
  2024-02-20 18:50   ` Philippe Mathieu-Daudé
@ 2024-02-22 11:38     ` Peter Maydell
  0 siblings, 0 replies; 22+ messages in thread
From: Peter Maydell @ 2024-02-22 11:38 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Daniel P. Berrangé, Yonggang Luo

On Tue, 20 Feb 2024 at 18:50, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> On 20/2/24 18:44, Peter Maydell wrote:
> > Now we don't build msys2-32bit we don't need the abstraction out of the
> > common msys2 handling from the 32-vs-64-bit specifics. Collapse it
> > down into the msys2-64bit job definition.
> >
> > Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> > ---
> >   .gitlab-ci.d/windows.yml | 84 +++++++++++++++++++---------------------
> >   1 file changed, 40 insertions(+), 44 deletions(-)
> >
> > diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
> > index 8fc08218d28..e784d5a68cd 100644
> > --- a/.gitlab-ci.d/windows.yml
> > +++ b/.gitlab-ci.d/windows.yml
> > @@ -1,4 +1,4 @@
> > -.shared_msys2_builder:
> > +msys2-64bit:
> >     extends: .base_job_template
> >     tags:
> >     - shared-windows
> > @@ -14,9 +14,19 @@
> >     stage: build
> >     timeout: 100m
> >     variables:
> > +    MINGW_TARGET: mingw-w64-x86_64
>
> You expanded $MINGW_TARGET so we can remove it.
>
> > +    MSYSTEM: MINGW64
> >       # This feature doesn't (currently) work with PowerShell, it stops
> >       # the echo'ing of commands being run and doesn't show any timing
> >       FF_SCRIPT_SECTIONS: 0
> > +    # do not remove "--without-default-devices"!
> > +    # commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices"
> > +    # changed to compile QEMU with the --without-default-devices switch
> > +    # for the msys2 64-bit job, due to the build could not complete within
>
> s/the msys2 64-bit/this/, although it seems this sentence got truncated.

Looks like commit 11961d08fcbddf accidentally dropped a line
when refactoring the file; it should end:
  # the project timeout.

-- PMM


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

* Re: [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job
  2024-02-20 18:46   ` Philippe Mathieu-Daudé
  2024-02-20 18:55     ` Daniel P. Berrangé
@ 2024-02-22 11:44     ` Peter Maydell
  2024-02-22 11:56       ` Thomas Huth
  2024-02-22 12:21       ` Alex Bennée
  1 sibling, 2 replies; 22+ messages in thread
From: Peter Maydell @ 2024-02-22 11:44 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Thomas Huth, Daniel P. Berrangé, Yonggang Luo

On Tue, 20 Feb 2024 at 18:46, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> On 20/2/24 18:44, Peter Maydell wrote:
> > We don't support 32-bit Windows any more, so we don't need to defend it
> > with this CI job.
> >
> > Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> > ---
> >   .gitlab-ci.d/container-cross.yml              |   5 -
> >   .gitlab-ci.d/crossbuilds.yml                  |  14 ---
> >   .../dockerfiles/fedora-win32-cross.docker     | 111 ------------------
> >   tests/lcitool/refresh                         |   5 -
> >   4 files changed, 135 deletions(-)
> >   delete mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker
>
>
> > diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> > index d19d98cde05..987ba9694ba 100644
> > --- a/.gitlab-ci.d/crossbuilds.yml
> > +++ b/.gitlab-ci.d/crossbuilds.yml
> > @@ -159,20 +159,6 @@ cross-mips64el-kvm-only:
> >       IMAGE: debian-mips64el-cross
> >       EXTRA_CONFIGURE_OPTS: --disable-tcg --target-list=mips64el-softmmu
> >
> > -cross-win32-system:
> > -  extends: .cross_system_build_job
> > -  needs:
> > -    job: win32-fedora-cross-container
> > -  variables:
> > -    IMAGE: fedora-win32-cross
> > -    EXTRA_CONFIGURE_OPTS: --enable-fdt=internal
> > -    CROSS_SKIP_TARGETS: alpha-softmmu avr-softmmu hppa-softmmu m68k-softmmu
> > -                        microblazeel-softmmu mips64el-softmmu nios2-softmmu
>
> Thomas, is it possible to add mips64el-softmmu to the cross-win64-system
> job or is it already at the timeout limit?

This is a skip, i.e. exclude, list, not an include list. So dropping
this job is not removing mips64el-softmmu from coverage.
The Windows build coverage we lose will be the targets we
are skipping in the cross-win64-system job and weren't
skipping here:
 or1k-softmmu rx-softmmu sh4eb-softmmu sparc64-softmmu
 tricore-softmmu xtensaeb-softmmu

which then fall into the same bucket as
   alpha-softmmu avr-softmmu hppa-softmmu m68k-softmmu
   microblazeel-softmmu nios2-softmmu

which are already not built in either cross-win*-system job.

Is there a reason why we aren't covering those in Windows
builds?

thanks
-- PMM


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

* Re: [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job
  2024-02-22 11:44     ` Peter Maydell
@ 2024-02-22 11:56       ` Thomas Huth
  2024-02-22 12:21       ` Alex Bennée
  1 sibling, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2024-02-22 11:56 UTC (permalink / raw)
  To: Peter Maydell, Philippe Mathieu-Daudé
  Cc: qemu-devel, Daniel P. Berrangé, Yonggang Luo

On 22/02/2024 12.44, Peter Maydell wrote:
> On Tue, 20 Feb 2024 at 18:46, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>>
>> On 20/2/24 18:44, Peter Maydell wrote:
>>> We don't support 32-bit Windows any more, so we don't need to defend it
>>> with this CI job.
>>>
>>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>>> ---
>>>    .gitlab-ci.d/container-cross.yml              |   5 -
>>>    .gitlab-ci.d/crossbuilds.yml                  |  14 ---
>>>    .../dockerfiles/fedora-win32-cross.docker     | 111 ------------------
>>>    tests/lcitool/refresh                         |   5 -
>>>    4 files changed, 135 deletions(-)
>>>    delete mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker
>>
>>
>>> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
>>> index d19d98cde05..987ba9694ba 100644
>>> --- a/.gitlab-ci.d/crossbuilds.yml
>>> +++ b/.gitlab-ci.d/crossbuilds.yml
>>> @@ -159,20 +159,6 @@ cross-mips64el-kvm-only:
>>>        IMAGE: debian-mips64el-cross
>>>        EXTRA_CONFIGURE_OPTS: --disable-tcg --target-list=mips64el-softmmu
>>>
>>> -cross-win32-system:
>>> -  extends: .cross_system_build_job
>>> -  needs:
>>> -    job: win32-fedora-cross-container
>>> -  variables:
>>> -    IMAGE: fedora-win32-cross
>>> -    EXTRA_CONFIGURE_OPTS: --enable-fdt=internal
>>> -    CROSS_SKIP_TARGETS: alpha-softmmu avr-softmmu hppa-softmmu m68k-softmmu
>>> -                        microblazeel-softmmu mips64el-softmmu nios2-softmmu
>>
>> Thomas, is it possible to add mips64el-softmmu to the cross-win64-system
>> job or is it already at the timeout limit?
> 
> This is a skip, i.e. exclude, list, not an include list. So dropping
> this job is not removing mips64el-softmmu from coverage.
> The Windows build coverage we lose will be the targets we
> are skipping in the cross-win64-system job and weren't
> skipping here:
>   or1k-softmmu rx-softmmu sh4eb-softmmu sparc64-softmmu
>   tricore-softmmu xtensaeb-softmmu
> 
> which then fall into the same bucket as
>     alpha-softmmu avr-softmmu hppa-softmmu m68k-softmmu
>     microblazeel-softmmu nios2-softmmu
> 
> which are already not built in either cross-win*-system job.
> 
> Is there a reason why we aren't covering those in Windows
> builds?

I guess it's just an arbitrary list to keep the compilation time within the 
timeout limits.

  Thomas



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

* Re: [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job
  2024-02-22 11:44     ` Peter Maydell
  2024-02-22 11:56       ` Thomas Huth
@ 2024-02-22 12:21       ` Alex Bennée
  2024-02-22 12:47         ` Peter Maydell
  1 sibling, 1 reply; 22+ messages in thread
From: Alex Bennée @ 2024-02-22 12:21 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Philippe Mathieu-Daudé, qemu-devel, Thomas Huth,
	Daniel P. Berrangé, Yonggang Luo

Peter Maydell <peter.maydell@linaro.org> writes:

> On Tue, 20 Feb 2024 at 18:46, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>>
>> On 20/2/24 18:44, Peter Maydell wrote:
>> > We don't support 32-bit Windows any more, so we don't need to defend it
>> > with this CI job.
>> >
>> > Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>> > ---
>> >   .gitlab-ci.d/container-cross.yml              |   5 -
>> >   .gitlab-ci.d/crossbuilds.yml                  |  14 ---
>> >   .../dockerfiles/fedora-win32-cross.docker     | 111 ------------------
>> >   tests/lcitool/refresh                         |   5 -
>> >   4 files changed, 135 deletions(-)
>> >   delete mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker
>>
>>
>> > diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
>> > index d19d98cde05..987ba9694ba 100644
>> > --- a/.gitlab-ci.d/crossbuilds.yml
>> > +++ b/.gitlab-ci.d/crossbuilds.yml
>> > @@ -159,20 +159,6 @@ cross-mips64el-kvm-only:
>> >       IMAGE: debian-mips64el-cross
>> >       EXTRA_CONFIGURE_OPTS: --disable-tcg --target-list=mips64el-softmmu
>> >
>> > -cross-win32-system:
>> > -  extends: .cross_system_build_job
>> > -  needs:
>> > -    job: win32-fedora-cross-container
>> > -  variables:
>> > -    IMAGE: fedora-win32-cross
>> > -    EXTRA_CONFIGURE_OPTS: --enable-fdt=internal
>> > -    CROSS_SKIP_TARGETS: alpha-softmmu avr-softmmu hppa-softmmu m68k-softmmu
>> > -                        microblazeel-softmmu mips64el-softmmu nios2-softmmu
>>
>> Thomas, is it possible to add mips64el-softmmu to the cross-win64-system
>> job or is it already at the timeout limit?
>
> This is a skip, i.e. exclude, list, not an include list. So dropping
> this job is not removing mips64el-softmmu from coverage.
> The Windows build coverage we lose will be the targets we
> are skipping in the cross-win64-system job and weren't
> skipping here:
>  or1k-softmmu rx-softmmu sh4eb-softmmu sparc64-softmmu
>  tricore-softmmu xtensaeb-softmmu
>
> which then fall into the same bucket as
>    alpha-softmmu avr-softmmu hppa-softmmu m68k-softmmu
>    microblazeel-softmmu nios2-softmmu
>
> which are already not built in either cross-win*-system job.
>
> Is there a reason why we aren't covering those in Windows
> builds?

I think it came down to the Windows builds being particularly prone to
timing out and these targets being fairly niche. Do we really expect to
catch build failures here that the other more featured targets wont?

BTW this is in addition to the default set of targets we skip for
crossbuilds:

    - ../configure --enable-werror --disable-docs --enable-fdt=system
        --disable-user $QEMU_CONFIGURE_OPTS $EXTRA_CONFIGURE_OPTS
        --target-list-exclude="arm-softmmu cris-softmmu
          i386-softmmu microblaze-softmmu mips-softmmu mipsel-softmmu
          mips64-softmmu ppc-softmmu riscv32-softmmu sh4-softmmu
          sparc-softmmu xtensa-softmmu $CROSS_SKIP_TARGETS"

>
> thanks
> -- PMM

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


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

* Re: [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job
  2024-02-22 12:21       ` Alex Bennée
@ 2024-02-22 12:47         ` Peter Maydell
  0 siblings, 0 replies; 22+ messages in thread
From: Peter Maydell @ 2024-02-22 12:47 UTC (permalink / raw)
  To: Alex Bennée
  Cc: Philippe Mathieu-Daudé, qemu-devel, Thomas Huth,
	Daniel P. Berrangé, Yonggang Luo

On Thu, 22 Feb 2024 at 12:21, Alex Bennée <alex.bennee@linaro.org> wrote:
>
> Peter Maydell <peter.maydell@linaro.org> writes:
> > Is there a reason why we aren't covering those in Windows
> > builds?
>
> I think it came down to the Windows builds being particularly prone to
> timing out and these targets being fairly niche. Do we really expect to
> catch build failures here that the other more featured targets wont?

In my experience, yes, the weirdo host platforms (big-endian,
32-bit, Windows, BSD) are the ones that developers won't be
testing on and that we therefore want to have CI for the full
range of target configs on. It's safer to skip niche targets
on non-niche hosts (read x86-64 Linux) because you can be
reasonably sure the niche-target developers test on that host.

thanks
-- PMM


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

end of thread, other threads:[~2024-02-22 12:48 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-20 17:44 [PATCH 0/3] Drop 32-bit Windows as a supported platform Peter Maydell
2024-02-20 17:44 ` [PATCH 1/3] docs: Document that 32-bit Windows is unsupported Peter Maydell
2024-02-20 18:02   ` Alex Bennée
2024-02-20 18:02   ` Daniel P. Berrangé
2024-02-21  7:10   ` Thomas Huth
2024-02-20 17:44 ` [PATCH 2/3] .gitlab-ci.d: Drop cross-win32-system job Peter Maydell
2024-02-20 18:02   ` Alex Bennée
2024-02-20 18:04   ` Daniel P. Berrangé
2024-02-20 18:46   ` Philippe Mathieu-Daudé
2024-02-20 18:55     ` Daniel P. Berrangé
2024-02-21  7:06       ` Thomas Huth
2024-02-22 11:44     ` Peter Maydell
2024-02-22 11:56       ` Thomas Huth
2024-02-22 12:21       ` Alex Bennée
2024-02-22 12:47         ` Peter Maydell
2024-02-21  7:11   ` Thomas Huth
2024-02-20 17:44 ` [PATCH 3/3] .gitlab-ci.d/windows.yml: Remove shared-msys2 abstraction Peter Maydell
2024-02-20 18:06   ` Daniel P. Berrangé
2024-02-21  7:16     ` Thomas Huth
2024-02-22 11:33       ` Peter Maydell
2024-02-20 18:50   ` Philippe Mathieu-Daudé
2024-02-22 11:38     ` Peter Maydell

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).