]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
ci: run a mingw64 job on stable Fedora
authorDaniel P. Berrangé <berrange@redhat.com>
Tue, 23 Nov 2021 12:12:25 +0000 (12:12 +0000)
committerDaniel P. Berrangé <berrange@redhat.com>
Tue, 23 Nov 2021 16:44:18 +0000 (16:44 +0000)
Both of the current mingw jobs are marked as 'allow_failure' because
they are running against Fedora rawhide which is an unstable distro.

We need at least one mingw job to be gating to more reliably detect
problems.

This introduces dockerfiles for both mingw variants on Fedora 35
and sets the mingw64 build to run on Fedora 34, and mingw32 on
Fedora rawhide.

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
ci/containers/fedora-35-cross-mingw32.Dockerfile [new file with mode: 0644]
ci/containers/fedora-35-cross-mingw64.Dockerfile [new file with mode: 0644]
ci/gitlab.yml
ci/manifest.yml

diff --git a/ci/containers/fedora-35-cross-mingw32.Dockerfile b/ci/containers/fedora-35-cross-mingw32.Dockerfile
new file mode 100644 (file)
index 0000000..0a26a1f
--- /dev/null
@@ -0,0 +1,92 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+FROM registry.fedoraproject.org/fedora:35
+
+RUN dnf install -y nosync && \
+    echo -e '#!/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 "$@"' > /usr/bin/nosync && \
+    chmod +x /usr/bin/nosync && \
+    nosync dnf update -y && \
+    nosync dnf install -y \
+        augeas \
+        bash-completion \
+        ca-certificates \
+        ccache \
+        cpp \
+        cppi \
+        diffutils \
+        dnsmasq \
+        dwarves \
+        ebtables \
+        firewalld-filesystem \
+        git \
+        glibc-langpack-en \
+        grep \
+        iproute \
+        iproute-tc \
+        iptables \
+        iscsi-initiator-utils \
+        kmod \
+        libxml2 \
+        libxslt \
+        lvm2 \
+        make \
+        meson \
+        nfs-utils \
+        ninja-build \
+        numad \
+        parted \
+        perl-base \
+        polkit \
+        python3 \
+        python3-docutils \
+        python3-flake8 \
+        qemu-img \
+        radvd \
+        rpcgen \
+        rpm-build \
+        scrub \
+        sed \
+        sheepdog \
+        zfs-fuse && \
+    nosync dnf autoremove -y && \
+    nosync dnf clean all -y
+
+RUN nosync dnf install -y \
+        mingw32-curl \
+        mingw32-dbus \
+        mingw32-dlfcn \
+        mingw32-gcc \
+        mingw32-gettext \
+        mingw32-glib2 \
+        mingw32-gnutls \
+        mingw32-headers \
+        mingw32-libssh2 \
+        mingw32-libxml2 \
+        mingw32-pkg-config \
+        mingw32-portablexdr \
+        mingw32-readline && \
+    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-cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc
+
+ENV LANG "en_US.UTF-8"
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
+
+ENV ABI "i686-w64-mingw32"
+ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
diff --git a/ci/containers/fedora-35-cross-mingw64.Dockerfile b/ci/containers/fedora-35-cross-mingw64.Dockerfile
new file mode 100644 (file)
index 0000000..e2a3ba9
--- /dev/null
@@ -0,0 +1,92 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+FROM registry.fedoraproject.org/fedora:35
+
+RUN dnf install -y nosync && \
+    echo -e '#!/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 "$@"' > /usr/bin/nosync && \
+    chmod +x /usr/bin/nosync && \
+    nosync dnf update -y && \
+    nosync dnf install -y \
+        augeas \
+        bash-completion \
+        ca-certificates \
+        ccache \
+        cpp \
+        cppi \
+        diffutils \
+        dnsmasq \
+        dwarves \
+        ebtables \
+        firewalld-filesystem \
+        git \
+        glibc-langpack-en \
+        grep \
+        iproute \
+        iproute-tc \
+        iptables \
+        iscsi-initiator-utils \
+        kmod \
+        libxml2 \
+        libxslt \
+        lvm2 \
+        make \
+        meson \
+        nfs-utils \
+        ninja-build \
+        numad \
+        parted \
+        perl-base \
+        polkit \
+        python3 \
+        python3-docutils \
+        python3-flake8 \
+        qemu-img \
+        radvd \
+        rpcgen \
+        rpm-build \
+        scrub \
+        sed \
+        sheepdog \
+        zfs-fuse && \
+    nosync dnf autoremove -y && \
+    nosync dnf clean all -y
+
+RUN nosync dnf install -y \
+        mingw64-curl \
+        mingw64-dbus \
+        mingw64-dlfcn \
+        mingw64-gcc \
+        mingw64-gettext \
+        mingw64-glib2 \
+        mingw64-gnutls \
+        mingw64-headers \
+        mingw64-libssh2 \
+        mingw64-libxml2 \
+        mingw64-pkg-config \
+        mingw64-portablexdr \
+        mingw64-readline && \
+    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/x86_64-w64-mingw32-cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-gcc
+
+ENV LANG "en_US.UTF-8"
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
+
+ENV ABI "x86_64-w64-mingw32"
+ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw64.meson"
index 964e93d6d40bb8e57418063f66e0c5f4328ad1ac..120ece8fb72f11681f67062049f2d7509d064e2c 100644 (file)
@@ -342,6 +342,20 @@ s390x-debian-sid-container:
     NAME: debian-sid-cross-s390x
 
 
+mingw32-fedora-35-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: fedora-35-cross-mingw32
+
+
+mingw64-fedora-35-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: fedora-35-cross-mingw64
+
+
 mingw32-fedora-rawhide-container:
   extends: .container_job
   allow_failure: true
@@ -609,24 +623,24 @@ s390x-debian-sid:
     CROSS: s390x
 
 
-mingw32-fedora-rawhide:
+mingw64-fedora-35:
   extends: .cross_build_job
   needs:
-    - mingw32-fedora-rawhide-container
-  allow_failure: true
+    - mingw64-fedora-35-container
+  allow_failure: false
   variables:
-    NAME: fedora-rawhide
-    CROSS: mingw32
+    NAME: fedora-35
+    CROSS: mingw64
 
 
-mingw64-fedora-rawhide:
+mingw32-fedora-rawhide:
   extends: .cross_build_job
   needs:
-    - mingw64-fedora-rawhide-container
+    - mingw32-fedora-rawhide-container
   allow_failure: true
   variables:
     NAME: fedora-rawhide
-    CROSS: mingw64
+    CROSS: mingw32
 
 
 # Native cirrus build jobs
index 460fdb4d34a9193b217bca9711e5e34289f06660..2b64effef8027db4d3186c16f7214af1c6b67d31 100644 (file)
@@ -127,7 +127,15 @@ targets:
 
   fedora-34: x86_64
 
-  fedora-35: x86_64
+  fedora-35:
+    jobs:
+      - arch: x86_64
+
+      - arch: mingw32
+        allow-failure: true
+        builds: false
+
+      - arch: mingw64
 
   fedora-rawhide:
     jobs:
@@ -146,6 +154,7 @@ targets:
 
       - arch: mingw64
         allow-failure: true
+        builds: false
 
   freebsd-12: x86_64