[PATCH 08/13] ci: Drop Ubuntu 20.04

Michal Privoznik posted 13 patches 1 year, 9 months ago
There is a newer version of this series
[PATCH 08/13] ci: Drop Ubuntu 20.04
Posted by Michal Privoznik 1 year, 9 months ago
It's now more than two years since Ubuntu 22.04 was released and
per our support policy, Ubuntu 20.04 (the previous major release)
is now not supported. Remove it from our CI testing.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
---
 ci/buildenv/ubuntu-2004.sh           | 103 --------------------------
 ci/containers/ubuntu-2004.Dockerfile | 107 ---------------------------
 ci/gitlab/builds.yml                 |  28 ++-----
 ci/gitlab/containers.yml             |  21 ++----
 ci/manifest.yml                      |   8 --
 5 files changed, 14 insertions(+), 253 deletions(-)
 delete mode 100644 ci/buildenv/ubuntu-2004.sh
 delete mode 100644 ci/containers/ubuntu-2004.Dockerfile

diff --git a/ci/buildenv/ubuntu-2004.sh b/ci/buildenv/ubuntu-2004.sh
deleted file mode 100644
index e001fcf012..0000000000
--- a/ci/buildenv/ubuntu-2004.sh
+++ /dev/null
@@ -1,103 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-#  $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-function install_buildenv() {
-    export DEBIAN_FRONTEND=noninteractive
-    apt-get update
-    apt-get dist-upgrade -y
-    apt-get install --no-install-recommends -y \
-            augeas-lenses \
-            augeas-tools \
-            bash-completion \
-            black \
-            ca-certificates \
-            ccache \
-            clang \
-            codespell \
-            cpp \
-            diffutils \
-            dwarves \
-            ebtables \
-            flake8 \
-            gcc \
-            gettext \
-            git \
-            grep \
-            iproute2 \
-            iptables \
-            kmod \
-            libacl1-dev \
-            libapparmor-dev \
-            libattr1-dev \
-            libaudit-dev \
-            libblkid-dev \
-            libc6-dev \
-            libcap-ng-dev \
-            libcurl4-gnutls-dev \
-            libdevmapper-dev \
-            libfuse-dev \
-            libglib2.0-dev \
-            libglusterfs-dev \
-            libgnutls28-dev \
-            libiscsi-dev \
-            libnetcf-dev \
-            libnl-3-dev \
-            libnl-route-3-dev \
-            libnuma-dev \
-            libopenwsman-dev \
-            libparted-dev \
-            libpcap0.8-dev \
-            libpciaccess-dev \
-            librbd-dev \
-            libreadline-dev \
-            libsanlock-dev \
-            libsasl2-dev \
-            libselinux1-dev \
-            libssh-dev \
-            libssh2-1-dev \
-            libtirpc-dev \
-            libudev-dev \
-            libxen-dev \
-            libxml2-dev \
-            libxml2-utils \
-            libyajl-dev \
-            locales \
-            lvm2 \
-            make \
-            nfs-common \
-            ninja-build \
-            numad \
-            open-iscsi \
-            perl-base \
-            pkgconf \
-            policykit-1 \
-            python3 \
-            python3-docutils \
-            python3-pip \
-            python3-pytest \
-            python3-setuptools \
-            python3-wheel \
-            qemu-utils \
-            sed \
-            systemtap-sdt-dev \
-            wireshark-dev \
-            xsltproc
-    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
-    dpkg-reconfigure locales
-    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /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
-    /usr/bin/pip3 install meson==0.56.0
-}
-
-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/ubuntu-2004.Dockerfile b/ci/containers/ubuntu-2004.Dockerfile
deleted file mode 100644
index b43b85873e..0000000000
--- a/ci/containers/ubuntu-2004.Dockerfile
+++ /dev/null
@@ -1,107 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-#  $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/ubuntu:20.04
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
-    apt-get update && \
-    apt-get install -y eatmydata && \
-    eatmydata apt-get dist-upgrade -y && \
-    eatmydata apt-get install --no-install-recommends -y \
-                      augeas-lenses \
-                      augeas-tools \
-                      bash-completion \
-                      black \
-                      ca-certificates \
-                      ccache \
-                      clang \
-                      codespell \
-                      cpp \
-                      diffutils \
-                      dwarves \
-                      ebtables \
-                      flake8 \
-                      gcc \
-                      gettext \
-                      git \
-                      grep \
-                      iproute2 \
-                      iptables \
-                      kmod \
-                      libacl1-dev \
-                      libapparmor-dev \
-                      libattr1-dev \
-                      libaudit-dev \
-                      libblkid-dev \
-                      libc6-dev \
-                      libcap-ng-dev \
-                      libcurl4-gnutls-dev \
-                      libdevmapper-dev \
-                      libfuse-dev \
-                      libglib2.0-dev \
-                      libglusterfs-dev \
-                      libgnutls28-dev \
-                      libiscsi-dev \
-                      libnetcf-dev \
-                      libnl-3-dev \
-                      libnl-route-3-dev \
-                      libnuma-dev \
-                      libopenwsman-dev \
-                      libparted-dev \
-                      libpcap0.8-dev \
-                      libpciaccess-dev \
-                      librbd-dev \
-                      libreadline-dev \
-                      libsanlock-dev \
-                      libsasl2-dev \
-                      libselinux1-dev \
-                      libssh-dev \
-                      libssh2-1-dev \
-                      libtirpc-dev \
-                      libudev-dev \
-                      libxen-dev \
-                      libxml2-dev \
-                      libxml2-utils \
-                      libyajl-dev \
-                      locales \
-                      lvm2 \
-                      make \
-                      nfs-common \
-                      ninja-build \
-                      numad \
-                      open-iscsi \
-                      perl-base \
-                      pkgconf \
-                      policykit-1 \
-                      python3 \
-                      python3-docutils \
-                      python3-pip \
-                      python3-pytest \
-                      python3-setuptools \
-                      python3-wheel \
-                      qemu-utils \
-                      sed \
-                      systemtap-sdt-dev \
-                      wireshark-dev \
-                      xsltproc && \
-    eatmydata apt-get autoremove -y && \
-    eatmydata apt-get autoclean -y && \
-    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
-    dpkg-reconfigure locales && \
-    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \
-    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /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
-
-RUN /usr/bin/pip3 install meson==0.56.0
-
-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 e17d83710c..ffad94aea5 100644
--- a/ci/gitlab/builds.yml
+++ b/ci/gitlab/builds.yml
@@ -191,20 +191,6 @@ x86_64-opensuse-tumbleweed:
     TARGET_BASE_IMAGE: registry.opensuse.org/opensuse/tumbleweed:latest
 
 
-x86_64-ubuntu-2004:
-  extends: .native_build_job
-  needs:
-    - job: x86_64-ubuntu-2004-container
-      optional: true
-  allow_failure: false
-  variables:
-    ASAN_OPTIONS: verify_asan_link_order=0
-    MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined
-    NAME: ubuntu-2004
-    TARGET_BASE_IMAGE: docker.io/library/ubuntu:20.04
-    UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1
-
-
 x86_64-ubuntu-2204:
   extends: .native_build_job
   needs:
@@ -446,7 +432,7 @@ aarch64-debian-sid:
   needs:
     - job: aarch64-debian-sid-container
       optional: true
-  allow_failure: false
+  allow_failure: true
   variables:
     CROSS: aarch64
     JOB_OPTIONAL: 1
@@ -459,7 +445,7 @@ armv6l-debian-sid:
   needs:
     - job: armv6l-debian-sid-container
       optional: true
-  allow_failure: false
+  allow_failure: true
   variables:
     CROSS: armv6l
     JOB_OPTIONAL: 1
@@ -472,7 +458,7 @@ armv7l-debian-sid:
   needs:
     - job: armv7l-debian-sid-container
       optional: true
-  allow_failure: false
+  allow_failure: true
   variables:
     CROSS: armv7l
     JOB_OPTIONAL: 1
@@ -485,7 +471,7 @@ i686-debian-sid:
   needs:
     - job: i686-debian-sid-container
       optional: true
-  allow_failure: false
+  allow_failure: true
   variables:
     CROSS: i686
     JOB_OPTIONAL: 1
@@ -498,7 +484,7 @@ mips64el-debian-sid:
   needs:
     - job: mips64el-debian-sid-container
       optional: true
-  allow_failure: false
+  allow_failure: true
   variables:
     CROSS: mips64el
     JOB_OPTIONAL: 1
@@ -511,7 +497,7 @@ ppc64le-debian-sid:
   needs:
     - job: ppc64le-debian-sid-container
       optional: true
-  allow_failure: false
+  allow_failure: true
   variables:
     CROSS: ppc64le
     JOB_OPTIONAL: 1
@@ -524,7 +510,7 @@ s390x-debian-sid:
   needs:
     - job: s390x-debian-sid-container
       optional: true
-  allow_failure: false
+  allow_failure: true
   variables:
     CROSS: s390x
     JOB_OPTIONAL: 1
diff --git a/ci/gitlab/containers.yml b/ci/gitlab/containers.yml
index 04516d8f55..75104d2486 100644
--- a/ci/gitlab/containers.yml
+++ b/ci/gitlab/containers.yml
@@ -85,13 +85,6 @@ x86_64-opensuse-tumbleweed-container:
     NAME: opensuse-tumbleweed
 
 
-x86_64-ubuntu-2004-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: ubuntu-2004
-
-
 x86_64-ubuntu-2204-container:
   extends: .container_job
   allow_failure: false
@@ -231,7 +224,7 @@ s390x-debian-12-container:
 
 aarch64-debian-sid-container:
   extends: .container_job
-  allow_failure: false
+  allow_failure: true
   variables:
     JOB_OPTIONAL: 1
     NAME: debian-sid-cross-aarch64
@@ -239,7 +232,7 @@ aarch64-debian-sid-container:
 
 armv6l-debian-sid-container:
   extends: .container_job
-  allow_failure: false
+  allow_failure: true
   variables:
     JOB_OPTIONAL: 1
     NAME: debian-sid-cross-armv6l
@@ -247,7 +240,7 @@ armv6l-debian-sid-container:
 
 armv7l-debian-sid-container:
   extends: .container_job
-  allow_failure: false
+  allow_failure: true
   variables:
     JOB_OPTIONAL: 1
     NAME: debian-sid-cross-armv7l
@@ -255,7 +248,7 @@ armv7l-debian-sid-container:
 
 i686-debian-sid-container:
   extends: .container_job
-  allow_failure: false
+  allow_failure: true
   variables:
     JOB_OPTIONAL: 1
     NAME: debian-sid-cross-i686
@@ -263,7 +256,7 @@ i686-debian-sid-container:
 
 mips64el-debian-sid-container:
   extends: .container_job
-  allow_failure: false
+  allow_failure: true
   variables:
     JOB_OPTIONAL: 1
     NAME: debian-sid-cross-mips64el
@@ -271,7 +264,7 @@ mips64el-debian-sid-container:
 
 ppc64le-debian-sid-container:
   extends: .container_job
-  allow_failure: false
+  allow_failure: true
   variables:
     JOB_OPTIONAL: 1
     NAME: debian-sid-cross-ppc64le
@@ -279,7 +272,7 @@ ppc64le-debian-sid-container:
 
 s390x-debian-sid-container:
   extends: .container_job
-  allow_failure: false
+  allow_failure: true
   variables:
     JOB_OPTIONAL: 1
     NAME: debian-sid-cross-s390x
diff --git a/ci/manifest.yml b/ci/manifest.yml
index d54276a25d..d51b7f7be1 100644
--- a/ci/manifest.yml
+++ b/ci/manifest.yml
@@ -204,14 +204,6 @@ targets:
           PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin:/usr/local/opt/libpcap/bin:/usr/local/opt/libxslt/bin
           PKG_CONFIG_PATH: /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/libpcap/lib/pkgconfig:/usr/local/opt/libxml2/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig
 
-  ubuntu-2004:
-    jobs:
-      - arch: x86_64
-        variables:
-          ASAN_OPTIONS: verify_asan_link_order=0
-          MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined
-          UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1
-
   ubuntu-2204:
     jobs:
       - arch: x86_64
-- 
2.43.2
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [PATCH 08/13] ci: Drop Ubuntu 20.04
Posted by Daniel P. Berrangé 1 year, 9 months ago
On Mon, May 06, 2024 at 10:43:05AM +0200, Michal Privoznik wrote:
> It's now more than two years since Ubuntu 22.04 was released and
> per our support policy, Ubuntu 20.04 (the previous major release)
> is now not supported. Remove it from our CI testing.
> 
> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
> ---
>  ci/buildenv/ubuntu-2004.sh           | 103 --------------------------
>  ci/containers/ubuntu-2004.Dockerfile | 107 ---------------------------
>  ci/gitlab/builds.yml                 |  28 ++-----
>  ci/gitlab/containers.yml             |  21 ++----
>  ci/manifest.yml                      |   8 --
>  5 files changed, 14 insertions(+), 253 deletions(-)
>  delete mode 100644 ci/buildenv/ubuntu-2004.sh
>  delete mode 100644 ci/containers/ubuntu-2004.Dockerfile

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


FYI, I'd really *not* splitting out the removal and addition into
separate jobs.  If you remove 20.04  and add 24.04 in the same
commit, then git shows the rename and we get a tiny diff so we
can see the interesting changes.

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 :|
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [PATCH 08/13] ci: Drop Ubuntu 20.04
Posted by Michal Prívozník 1 year, 9 months ago
On 5/7/24 12:11, Daniel P. Berrangé wrote:
> On Mon, May 06, 2024 at 10:43:05AM +0200, Michal Privoznik wrote:
>> It's now more than two years since Ubuntu 22.04 was released and
>> per our support policy, Ubuntu 20.04 (the previous major release)
>> is now not supported. Remove it from our CI testing.
>>
>> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
>> ---
>>  ci/buildenv/ubuntu-2004.sh           | 103 --------------------------
>>  ci/containers/ubuntu-2004.Dockerfile | 107 ---------------------------
>>  ci/gitlab/builds.yml                 |  28 ++-----
>>  ci/gitlab/containers.yml             |  21 ++----
>>  ci/manifest.yml                      |   8 --
>>  5 files changed, 14 insertions(+), 253 deletions(-)
>>  delete mode 100644 ci/buildenv/ubuntu-2004.sh
>>  delete mode 100644 ci/containers/ubuntu-2004.Dockerfile
> 
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> 
> 
> FYI, I'd really *not* splitting out the removal and addition into
> separate jobs.  If you remove 20.04  and add 24.04 in the same
> commit, then git shows the rename and we get a tiny diff so we
> can see the interesting changes.

Yeah, and that's how I've started. But then I realized I needed to bump
glib version and Ubuntu 20.04 doesn't have it, but without the bump
Ubuntu 24.04 build fails. But maybe Fedora and AlmaLinux can be done
this way.

Michal
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [PATCH 08/13] ci: Drop Ubuntu 20.04
Posted by Daniel P. Berrangé 1 year, 9 months ago
On Tue, May 07, 2024 at 02:37:05PM +0200, Michal Prívozník wrote:
> On 5/7/24 12:11, Daniel P. Berrangé wrote:
> > On Mon, May 06, 2024 at 10:43:05AM +0200, Michal Privoznik wrote:
> >> It's now more than two years since Ubuntu 22.04 was released and
> >> per our support policy, Ubuntu 20.04 (the previous major release)
> >> is now not supported. Remove it from our CI testing.
> >>
> >> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
> >> ---
> >>  ci/buildenv/ubuntu-2004.sh           | 103 --------------------------
> >>  ci/containers/ubuntu-2004.Dockerfile | 107 ---------------------------
> >>  ci/gitlab/builds.yml                 |  28 ++-----
> >>  ci/gitlab/containers.yml             |  21 ++----
> >>  ci/manifest.yml                      |   8 --
> >>  5 files changed, 14 insertions(+), 253 deletions(-)
> >>  delete mode 100644 ci/buildenv/ubuntu-2004.sh
> >>  delete mode 100644 ci/containers/ubuntu-2004.Dockerfile
> > 
> > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> > 
> > 
> > FYI, I'd really *not* splitting out the removal and addition into
> > separate jobs.  If you remove 20.04  and add 24.04 in the same
> > commit, then git shows the rename and we get a tiny diff so we
> > can see the interesting changes.
> 
> Yeah, and that's how I've started. But then I realized I needed to bump
> glib version and Ubuntu 20.04 doesn't have it, but without the bump
> Ubuntu 24.04 build fails. But maybe Fedora and AlmaLinux can be done
> this way.

I'd suggest just temporarily disabling -Werror warnings, or disabling
UBSAN. That way you can

* squash the forthcoming warning
* update all the distros new/old in one go
* update glib & re-enable the warning

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 :|
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [PATCH 08/13] ci: Drop Ubuntu 20.04
Posted by Andrea Bolognani 1 year, 9 months ago
On Tue, May 07, 2024 at 01:58:07PM GMT, Daniel P. Berrangé wrote:
> On Tue, May 07, 2024 at 02:37:05PM +0200, Michal Prívozník wrote:
> > On 5/7/24 12:11, Daniel P. Berrangé wrote:
> > > FYI, I'd really *not* splitting out the removal and addition into
> > > separate jobs.  If you remove 20.04  and add 24.04 in the same
> > > commit, then git shows the rename and we get a tiny diff so we
> > > can see the interesting changes.
> >
> > Yeah, and that's how I've started. But then I realized I needed to bump
> > glib version and Ubuntu 20.04 doesn't have it, but without the bump
> > Ubuntu 24.04 build fails. But maybe Fedora and AlmaLinux can be done
> > this way.
>
> I'd suggest just temporarily disabling -Werror warnings, or disabling
> UBSAN. That way you can
>
> * squash the forthcoming warning
> * update all the distros new/old in one go
> * update glib & re-enable the warning

Is this dance really necessary? We obviously care about bisectability
of the code itself, but IMO it's fine if the CI pipeline stops making
sense for a bit in the middle of a series, as long as things are once
again working by the end of it.

-- 
Andrea Bolognani / Red Hat / Virtualization
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [PATCH 08/13] ci: Drop Ubuntu 20.04
Posted by Michal Prívozník 1 year, 9 months ago
On 5/7/24 18:40, Andrea Bolognani wrote:
> On Tue, May 07, 2024 at 01:58:07PM GMT, Daniel P. Berrangé wrote:
>> On Tue, May 07, 2024 at 02:37:05PM +0200, Michal Prívozník wrote:
>>> On 5/7/24 12:11, Daniel P. Berrangé wrote:
>>>> FYI, I'd really *not* splitting out the removal and addition into
>>>> separate jobs.  If you remove 20.04  and add 24.04 in the same
>>>> commit, then git shows the rename and we get a tiny diff so we
>>>> can see the interesting changes.
>>>
>>> Yeah, and that's how I've started. But then I realized I needed to bump
>>> glib version and Ubuntu 20.04 doesn't have it, but without the bump
>>> Ubuntu 24.04 build fails. But maybe Fedora and AlmaLinux can be done
>>> this way.
>>
>> I'd suggest just temporarily disabling -Werror warnings, or disabling
>> UBSAN. That way you can
>>
>> * squash the forthcoming warning
>> * update all the distros new/old in one go
>> * update glib & re-enable the warning
> 
> Is this dance really necessary? We obviously care about bisectability
> of the code itself, but IMO it's fine if the CI pipeline stops making
> sense for a bit in the middle of a series, as long as things are once
> again working by the end of it.
> 

Well, I've picked the best of both worlds in my v2: patches that could
be squashed together are, and that left me with just ubuntu where I
needed to update glib in between. But now that I think about it more,
maybe I could just have one patch where Ubuntu 20.04 is replaced with
24.04 WITHOUT ASAN/UBSAN; then bump glib version and finally enable
ASAN/UBSAN on Ubuntu 24.04; Well, I should have thought of that couple
of hours ago, before I sent v2.

Michal
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org