Fedora 40 was released recently. Add it to our CI.
Signed-off-by: Michal Privoznik <mprivozn(a)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