[libvirt PATCH 1/4] ci: Add Fedora 38 target

Erik Skultety eskultet at redhat.com
Wed May 3 07:19:11 UTC 2023


Signed-off-by: Erik Skultety <eskultet at redhat.com>
---
 ci/buildenv/fedora-38.sh           |  96 +++++++++++++++++++++++++
 ci/containers/fedora-38.Dockerfile | 108 +++++++++++++++++++++++++++++
 ci/gitlab/builds.yml               |  26 +++++++
 ci/gitlab/containers.yml           |   7 ++
 ci/integration.yml                 |  40 +++++++++++
 ci/manifest.yml                    |   8 +++
 6 files changed, 285 insertions(+)
 create mode 100644 ci/buildenv/fedora-38.sh
 create mode 100644 ci/containers/fedora-38.Dockerfile

diff --git a/ci/buildenv/fedora-38.sh b/ci/buildenv/fedora-38.sh
new file mode 100644
index 0000000000..23886ae77c
--- /dev/null
+++ b/ci/buildenv/fedora-38.sh
@@ -0,0 +1,96 @@
+# 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 \
+        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-docutils \
+        python3-flake8 \
+        qemu-img \
+        readline-devel \
+        rpcgen \
+        rpm-build \
+        sanlock-devel \
+        scrub \
+        sed \
+        systemd-devel \
+        systemd-rpm-macros \
+        systemtap-sdt-devel \
+        wireshark-devel \
+        xen-devel \
+        yajl-devel
+    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-38.Dockerfile b/ci/containers/fedora-38.Dockerfile
new file mode 100644
index 0000000000..0b67a56b80
--- /dev/null
+++ b/ci/containers/fedora-38.Dockerfile
@@ -0,0 +1,108 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# 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 \
+               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 \
+               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-docutils \
+               python3-flake8 \
+               qemu-img \
+               readline-devel \
+               rpcgen \
+               rpm-build \
+               sanlock-devel \
+               scrub \
+               sed \
+               systemd-devel \
+               systemd-rpm-macros \
+               systemtap-sdt-devel \
+               wireshark-devel \
+               xen-devel \
+               yajl-devel && \
+    nosync dnf autoremove -y && \
+    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/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 258d7a1da7..49c95143a3 100644
--- a/ci/gitlab/builds.yml
+++ b/ci/gitlab/builds.yml
@@ -245,6 +245,32 @@ x86_64-fedora-37-local-env:
       - libvirt-rpms
 
 
+x86_64-fedora-38-prebuilt-env:
+  extends: .native_build_job_prebuilt_env
+  needs:
+    - job: x86_64-fedora-38-container
+      optional: true
+  allow_failure: false
+  variables:
+    NAME: fedora-38
+  artifacts:
+    expire_in: 1 day
+    paths:
+      - libvirt-rpms
+
+x86_64-fedora-38-local-env:
+  extends: .native_build_job_local_env
+  needs: []
+  allow_failure: false
+  variables:
+    IMAGE: registry.fedoraproject.org/fedora:38
+    NAME: fedora-38
+  artifacts:
+    expire_in: 1 day
+    paths:
+      - libvirt-rpms
+
+
 x86_64-fedora-rawhide-prebuilt-env:
   extends: .native_build_job_prebuilt_env
   needs:
diff --git a/ci/gitlab/containers.yml b/ci/gitlab/containers.yml
index 5a02843ed9..d3bffa3b6c 100644
--- a/ci/gitlab/containers.yml
+++ b/ci/gitlab/containers.yml
@@ -70,6 +70,13 @@ x86_64-fedora-37-container:
     NAME: fedora-37
 
 
+x86_64-fedora-38-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: fedora-38
+
+
 x86_64-fedora-rawhide-container:
   extends: .container_job
   allow_failure: true
diff --git a/ci/integration.yml b/ci/integration.yml
index 2bdda1d3c1..5c0071d072 100644
--- a/ci/integration.yml
+++ b/ci/integration.yml
@@ -161,6 +161,46 @@ fedora-37-tests-local-env:
       artifacts: true
 
 
+.fedora-38-tests:
+  variables:
+    # needed by libvirt-gitlab-executor
+    DISTRO: fedora-38
+    # can be overridden in forks to set a different runner tag
+    LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host
+  tags:
+    - $LIBVIRT_CI_INTEGRATION_RUNNER_TAG
+
+fedora-38-tests-prebuilt-env:
+  extends:
+    - .integration_tests_prebuilt_env
+    - .fedora-38-tests
+  needs:
+    - x86_64-fedora-38-prebuilt-env
+    - project: libvirt/libvirt-perl
+      job: x86_64-fedora-38-prebuilt-env
+      ref: master
+      artifacts: true
+    - project: libvirt/libvirt-python
+      job: x86_64-fedora-38-prebuilt-env
+      ref: master
+      artifacts: true
+
+fedora-38-tests-local-env:
+  extends:
+    - .integration_tests_local_env
+    - .fedora-38-tests
+  needs:
+    - x86_64-fedora-38-local-env
+    - project: libvirt/libvirt-perl
+      job: x86_64-fedora-38-prebuilt-env
+      ref: master
+      artifacts: true
+    - project: libvirt/libvirt-python
+      job: x86_64-fedora-38-prebuilt-env
+      ref: master
+      artifacts: true
+
+
 .fedora-37-upstream-qemu-tests:
   variables:
     # needed by libvirt-gitlab-executor
diff --git a/ci/manifest.yml b/ci/manifest.yml
index 82b8463605..400e048e2b 100644
--- a/ci/manifest.yml
+++ b/ci/manifest.yml
@@ -137,6 +137,14 @@ targets:
 
       - arch: mingw64
 
+  fedora-38:
+    jobs:
+      - arch: x86_64
+        artifacts:
+          expire_in: 1 day
+          paths:
+            - libvirt-rpms
+
   fedora-rawhide:
     jobs:
       - arch: x86_64
-- 
2.40.0



More information about the libvir-list mailing list