Fedora 40 was released recently. Add it to our CI.

Signed-off-by: Michal Privoznik <mpriv...@redhat.com>
---
 ci/buildenv/fedora-40-cross-mingw32.sh        |  77 ++++++++++++
 ci/buildenv/fedora-40-cross-mingw64.sh        |  77 ++++++++++++
 ci/buildenv/fedora-40.sh                      |  98 ++++++++++++++++
 .../fedora-40-cross-mingw32.Dockerfile        |  91 +++++++++++++++
 .../fedora-40-cross-mingw64.Dockerfile        |  91 +++++++++++++++
 ci/containers/fedora-40.Dockerfile            | 110 ++++++++++++++++++
 ci/gitlab/builds.yml                          |  40 +++++++
 ci/gitlab/containers.yml                      |  22 ++++
 ci/manifest.yml                               |  13 +++
 9 files changed, 619 insertions(+)
 create mode 100644 ci/buildenv/fedora-40-cross-mingw32.sh
 create mode 100644 ci/buildenv/fedora-40-cross-mingw64.sh
 create mode 100644 ci/buildenv/fedora-40.sh
 create mode 100644 ci/containers/fedora-40-cross-mingw32.Dockerfile
 create mode 100644 ci/containers/fedora-40-cross-mingw64.Dockerfile
 create mode 100644 ci/containers/fedora-40.Dockerfile

diff --git a/ci/buildenv/fedora-40-cross-mingw32.sh 
b/ci/buildenv/fedora-40-cross-mingw32.sh
new file mode 100644
index 0000000000..f349d1f60d
--- /dev/null
+++ b/ci/buildenv/fedora-40-cross-mingw32.sh
@@ -0,0 +1,77 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+function install_buildenv() {
+    dnf update -y
+    dnf install -y \
+        augeas \
+        bash-completion \
+        ca-certificates \
+        ccache \
+        codespell \
+        cpp \
+        cppi \
+        diffutils \
+        dwarves \
+        ebtables \
+        firewalld-filesystem \
+        gettext \
+        git \
+        glibc-langpack-en \
+        grep \
+        iproute \
+        iproute-tc \
+        iptables \
+        iscsi-initiator-utils \
+        kmod \
+        libnbd-devel \
+        libxml2 \
+        libxslt \
+        lvm2 \
+        make \
+        meson \
+        nfs-utils \
+        ninja-build \
+        numad \
+        perl-base \
+        polkit \
+        python3 \
+        python3-black \
+        python3-docutils \
+        python3-flake8 \
+        python3-pytest \
+        qemu-img \
+        rpm-build \
+        sed \
+        systemd-rpm-macros
+    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+    dnf install -y \
+        mingw32-curl \
+        mingw32-dlfcn \
+        mingw32-gcc \
+        mingw32-gettext \
+        mingw32-glib2 \
+        mingw32-gnutls \
+        mingw32-headers \
+        mingw32-libssh2 \
+        mingw32-libxml2 \
+        mingw32-pkg-config \
+        mingw32-portablexdr \
+        mingw32-readline
+    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
+}
+
+export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
+export LANG="en_US.UTF-8"
+export MAKE="/usr/bin/make"
+export NINJA="/usr/bin/ninja"
+export PYTHON="/usr/bin/python3"
+
+export ABI="i686-w64-mingw32"
+export MESON_OPTS="--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
diff --git a/ci/buildenv/fedora-40-cross-mingw64.sh 
b/ci/buildenv/fedora-40-cross-mingw64.sh
new file mode 100644
index 0000000000..fd20ff812b
--- /dev/null
+++ b/ci/buildenv/fedora-40-cross-mingw64.sh
@@ -0,0 +1,77 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+function install_buildenv() {
+    dnf update -y
+    dnf install -y \
+        augeas \
+        bash-completion \
+        ca-certificates \
+        ccache \
+        codespell \
+        cpp \
+        cppi \
+        diffutils \
+        dwarves \
+        ebtables \
+        firewalld-filesystem \
+        gettext \
+        git \
+        glibc-langpack-en \
+        grep \
+        iproute \
+        iproute-tc \
+        iptables \
+        iscsi-initiator-utils \
+        kmod \
+        libnbd-devel \
+        libxml2 \
+        libxslt \
+        lvm2 \
+        make \
+        meson \
+        nfs-utils \
+        ninja-build \
+        numad \
+        perl-base \
+        polkit \
+        python3 \
+        python3-black \
+        python3-docutils \
+        python3-flake8 \
+        python3-pytest \
+        qemu-img \
+        rpm-build \
+        sed \
+        systemd-rpm-macros
+    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+    dnf install -y \
+        mingw64-curl \
+        mingw64-dlfcn \
+        mingw64-gcc \
+        mingw64-gettext \
+        mingw64-glib2 \
+        mingw64-gnutls \
+        mingw64-headers \
+        mingw64-libssh2 \
+        mingw64-libxml2 \
+        mingw64-pkg-config \
+        mingw64-portablexdr \
+        mingw64-readline
+    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
+}
+
+export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
+export LANG="en_US.UTF-8"
+export MAKE="/usr/bin/make"
+export NINJA="/usr/bin/ninja"
+export PYTHON="/usr/bin/python3"
+
+export ABI="x86_64-w64-mingw32"
+export MESON_OPTS="--cross-file=/usr/share/mingw/toolchain-mingw64.meson"
diff --git a/ci/buildenv/fedora-40.sh b/ci/buildenv/fedora-40.sh
new file mode 100644
index 0000000000..0cce268050
--- /dev/null
+++ b/ci/buildenv/fedora-40.sh
@@ -0,0 +1,98 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+function install_buildenv() {
+    dnf update -y
+    dnf install -y \
+        audit-libs-devel \
+        augeas \
+        bash-completion \
+        ca-certificates \
+        ccache \
+        clang \
+        codespell \
+        cpp \
+        cppi \
+        cyrus-sasl-devel \
+        device-mapper-devel \
+        diffutils \
+        dwarves \
+        ebtables \
+        firewalld-filesystem \
+        fuse-devel \
+        gcc \
+        gettext \
+        git \
+        glib2-devel \
+        glibc-devel \
+        glibc-langpack-en \
+        glusterfs-api-devel \
+        gnutls-devel \
+        grep \
+        iproute \
+        iproute-tc \
+        iptables \
+        iscsi-initiator-utils \
+        kmod \
+        libacl-devel \
+        libattr-devel \
+        libblkid-devel \
+        libcap-ng-devel \
+        libcurl-devel \
+        libiscsi-devel \
+        libnbd-devel \
+        libnl3-devel \
+        libpcap-devel \
+        libpciaccess-devel \
+        librbd-devel \
+        libselinux-devel \
+        libssh-devel \
+        libssh2-devel \
+        libtirpc-devel \
+        libwsman-devel \
+        libxml2 \
+        libxml2-devel \
+        libxslt \
+        lvm2 \
+        make \
+        meson \
+        nfs-utils \
+        ninja-build \
+        numactl-devel \
+        numad \
+        parted-devel \
+        perl-base \
+        pkgconfig \
+        polkit \
+        python3 \
+        python3-black \
+        python3-docutils \
+        python3-flake8 \
+        python3-pytest \
+        qemu-img \
+        readline-devel \
+        rpm-build \
+        sanlock-devel \
+        sed \
+        systemd-devel \
+        systemd-rpm-macros \
+        systemtap-sdt-devel \
+        wireshark-devel \
+        xen-devel \
+        yajl-devel
+    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+    rpm -qa | sort > /packages.txt
+    mkdir -p /usr/libexec/ccache-wrappers
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
+}
+
+export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
+export LANG="en_US.UTF-8"
+export MAKE="/usr/bin/make"
+export NINJA="/usr/bin/ninja"
+export PYTHON="/usr/bin/python3"
diff --git a/ci/containers/fedora-40-cross-mingw32.Dockerfile 
b/ci/containers/fedora-40-cross-mingw32.Dockerfile
new file mode 100644
index 0000000000..9721481171
--- /dev/null
+++ b/ci/containers/fedora-40-cross-mingw32.Dockerfile
@@ -0,0 +1,91 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+FROM registry.fedoraproject.org/fedora:40
+
+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 \
+               augeas \
+               bash-completion \
+               ca-certificates \
+               ccache \
+               codespell \
+               cpp \
+               cppi \
+               diffutils \
+               dwarves \
+               ebtables \
+               firewalld-filesystem \
+               gettext \
+               git \
+               glibc-langpack-en \
+               grep \
+               iproute \
+               iproute-tc \
+               iptables \
+               iscsi-initiator-utils \
+               kmod \
+               libnbd-devel \
+               libxml2 \
+               libxslt \
+               lvm2 \
+               make \
+               meson \
+               nfs-utils \
+               ninja-build \
+               numad \
+               perl-base \
+               polkit \
+               python3 \
+               python3-black \
+               python3-docutils \
+               python3-flake8 \
+               python3-pytest \
+               qemu-img \
+               rpm-build \
+               sed \
+               systemd-rpm-macros && \
+    nosync dnf autoremove -y && \
+    nosync dnf clean all -y && \
+    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+
+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-curl \
+               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 ABI "i686-w64-mingw32"
+ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
diff --git a/ci/containers/fedora-40-cross-mingw64.Dockerfile 
b/ci/containers/fedora-40-cross-mingw64.Dockerfile
new file mode 100644
index 0000000000..f25012abb6
--- /dev/null
+++ b/ci/containers/fedora-40-cross-mingw64.Dockerfile
@@ -0,0 +1,91 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+FROM registry.fedoraproject.org/fedora:40
+
+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 \
+               augeas \
+               bash-completion \
+               ca-certificates \
+               ccache \
+               codespell \
+               cpp \
+               cppi \
+               diffutils \
+               dwarves \
+               ebtables \
+               firewalld-filesystem \
+               gettext \
+               git \
+               glibc-langpack-en \
+               grep \
+               iproute \
+               iproute-tc \
+               iptables \
+               iscsi-initiator-utils \
+               kmod \
+               libnbd-devel \
+               libxml2 \
+               libxslt \
+               lvm2 \
+               make \
+               meson \
+               nfs-utils \
+               ninja-build \
+               numad \
+               perl-base \
+               polkit \
+               python3 \
+               python3-black \
+               python3-docutils \
+               python3-flake8 \
+               python3-pytest \
+               qemu-img \
+               rpm-build \
+               sed \
+               systemd-rpm-macros && \
+    nosync dnf autoremove -y && \
+    nosync dnf clean all -y && \
+    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+
+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 \
+               mingw64-curl \
+               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 ABI "x86_64-w64-mingw32"
+ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw64.meson"
diff --git a/ci/containers/fedora-40.Dockerfile 
b/ci/containers/fedora-40.Dockerfile
new file mode 100644
index 0000000000..32a9cdae12
--- /dev/null
+++ b/ci/containers/fedora-40.Dockerfile
@@ -0,0 +1,110 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+FROM registry.fedoraproject.org/fedora:40
+
+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 \
+               audit-libs-devel \
+               augeas \
+               bash-completion \
+               ca-certificates \
+               ccache \
+               clang \
+               codespell \
+               cpp \
+               cppi \
+               cyrus-sasl-devel \
+               device-mapper-devel \
+               diffutils \
+               dwarves \
+               ebtables \
+               firewalld-filesystem \
+               fuse-devel \
+               gcc \
+               gettext \
+               git \
+               glib2-devel \
+               glibc-devel \
+               glibc-langpack-en \
+               glusterfs-api-devel \
+               gnutls-devel \
+               grep \
+               iproute \
+               iproute-tc \
+               iptables \
+               iscsi-initiator-utils \
+               kmod \
+               libacl-devel \
+               libattr-devel \
+               libblkid-devel \
+               libcap-ng-devel \
+               libcurl-devel \
+               libiscsi-devel \
+               libnbd-devel \
+               libnl3-devel \
+               libpcap-devel \
+               libpciaccess-devel \
+               librbd-devel \
+               libselinux-devel \
+               libssh-devel \
+               libssh2-devel \
+               libtirpc-devel \
+               libwsman-devel \
+               libxml2 \
+               libxml2-devel \
+               libxslt \
+               lvm2 \
+               make \
+               meson \
+               nfs-utils \
+               ninja-build \
+               numactl-devel \
+               numad \
+               parted-devel \
+               perl-base \
+               pkgconfig \
+               polkit \
+               python3 \
+               python3-black \
+               python3-docutils \
+               python3-flake8 \
+               python3-pytest \
+               qemu-img \
+               readline-devel \
+               rpm-build \
+               sanlock-devel \
+               sed \
+               systemd-devel \
+               systemd-rpm-macros \
+               systemtap-sdt-devel \
+               wireshark-devel \
+               xen-devel \
+               yajl-devel && \
+    nosync dnf autoremove -y && \
+    nosync dnf clean all -y && \
+    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \
+    rpm -qa | sort > /packages.txt && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
+
+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"
diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml
index 8d1a8141da..50ae89be77 100644
--- a/ci/gitlab/builds.yml
+++ b/ci/gitlab/builds.yml
@@ -116,6 +116,21 @@ x86_64-fedora-39:
       - libvirt-rpms
 
 
+x86_64-fedora-40:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-fedora-40-container
+      optional: true
+  allow_failure: false
+  variables:
+    NAME: fedora-40
+    TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:40
+  artifacts:
+    expire_in: 1 day
+    paths:
+      - libvirt-rpms
+
+
 x86_64-fedora-rawhide:
   extends: .native_build_job
   needs:
@@ -492,6 +507,31 @@ s390x-debian-sid:
     TARGET_BASE_IMAGE: docker.io/library/debian:sid-slim
 
 
+mingw32-fedora-40:
+  extends: .cross_build_job
+  needs:
+    - job: mingw32-fedora-40-container
+      optional: true
+  allow_failure: false
+  variables:
+    CROSS: mingw32
+    JOB_OPTIONAL: 1
+    NAME: fedora-40
+    TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:40
+
+
+mingw64-fedora-40:
+  extends: .cross_build_job
+  needs:
+    - job: mingw64-fedora-40-container
+      optional: true
+  allow_failure: false
+  variables:
+    CROSS: mingw64
+    NAME: fedora-40
+    TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:40
+
+
 mingw32-fedora-rawhide:
   extends: .cross_build_job
   needs:
diff --git a/ci/gitlab/containers.yml b/ci/gitlab/containers.yml
index 9c9aeb5d3d..7dc875fedb 100644
--- a/ci/gitlab/containers.yml
+++ b/ci/gitlab/containers.yml
@@ -57,6 +57,13 @@ x86_64-fedora-39-container:
     NAME: fedora-39
 
 
+x86_64-fedora-40-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: fedora-40
+
+
 x86_64-fedora-rawhide-container:
   extends: .container_job
   allow_failure: true
@@ -271,6 +278,21 @@ s390x-debian-sid-container:
     NAME: debian-sid-cross-s390x
 
 
+mingw32-fedora-40-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    JOB_OPTIONAL: 1
+    NAME: fedora-40-cross-mingw32
+
+
+mingw64-fedora-40-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: fedora-40-cross-mingw64
+
+
 mingw32-fedora-rawhide-container:
   extends: .container_job
   allow_failure: true
diff --git a/ci/manifest.yml b/ci/manifest.yml
index 03d03633ec..5f15e4ee9f 100644
--- a/ci/manifest.yml
+++ b/ci/manifest.yml
@@ -139,6 +139,19 @@ targets:
           paths:
             - libvirt-rpms
 
+  fedora-40:
+    jobs:
+      - arch: x86_64
+        artifacts:
+          expire_in: 1 day
+          paths:
+            - libvirt-rpms
+
+      - arch: mingw32
+        builds: false
+
+      - arch: mingw64
+
   fedora-rawhide:
     jobs:
       - arch: x86_64
-- 
2.43.2
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-le...@lists.libvirt.org

Reply via email to