ci: Introduce Ubuntu 24.04

Ubuntu 24.04 was released recently. Add it to our CI. Also, to be
able to run ASAN/UBSAN builds on Ubuntu 24.04 libclang-rt-dev
needs to be installed (because clang's runtime was moved into a
separate package). Hence so many seemingly unrelated changes.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Michal Privoznik 2024-05-03 15:58:20 +02:00
parent 9c1cfc337e
commit 0759cf3fa6
56 changed files with 283 additions and 5 deletions

View File

@ -17,6 +17,7 @@ function install_buildenv() {
ca-certificates \
ccache \
clang \
compiler-rt \
cpp \
cyrus-sasl-devel \
device-mapper-devel \

View File

@ -27,6 +27,7 @@ function install_buildenv() {
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -27,6 +27,7 @@ function install_buildenv() {
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -27,6 +27,7 @@ function install_buildenv() {
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -27,6 +27,7 @@ function install_buildenv() {
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -27,6 +27,7 @@ function install_buildenv() {
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -27,6 +27,7 @@ function install_buildenv() {
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -27,6 +27,7 @@ function install_buildenv() {
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -27,6 +27,7 @@ function install_buildenv() {
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -36,6 +36,7 @@ function install_buildenv() {
libblkid-dev \
libc6-dev \
libcap-ng-dev \
libclang-rt-dev \
libcurl4-gnutls-dev \
libdevmapper-dev \
libfuse-dev \

View File

@ -27,6 +27,7 @@ function install_buildenv() {
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -27,6 +27,7 @@ function install_buildenv() {
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -27,6 +27,7 @@ function install_buildenv() {
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -27,6 +27,7 @@ function install_buildenv() {
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -27,6 +27,7 @@ function install_buildenv() {
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -27,6 +27,7 @@ function install_buildenv() {
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -27,6 +27,7 @@ function install_buildenv() {
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -36,6 +36,7 @@ function install_buildenv() {
libblkid-dev \
libc6-dev \
libcap-ng-dev \
libclang-rt-dev \
libcurl4-gnutls-dev \
libdevmapper-dev \
libfuse-dev \

View File

@ -14,6 +14,7 @@ function install_buildenv() {
ccache \
clang \
codespell \
compiler-rt \
cpp \
cppi \
cyrus-sasl-devel \

View File

@ -12,6 +12,7 @@ function install_buildenv() {
ca-certificates \
ccache \
codespell \
compiler-rt \
cpp \
cppi \
diffutils \

View File

@ -12,6 +12,7 @@ function install_buildenv() {
ca-certificates \
ccache \
codespell \
compiler-rt \
cpp \
cppi \
diffutils \

View File

@ -14,6 +14,7 @@ function install_buildenv() {
ccache \
clang \
codespell \
compiler-rt \
cpp \
cppi \
cyrus-sasl-devel \

View File

@ -13,6 +13,7 @@ function install_buildenv() {
ca-certificates \
ccache \
codespell \
compiler-rt \
cpp \
cppi \
diffutils \

View File

@ -13,6 +13,7 @@ function install_buildenv() {
ca-certificates \
ccache \
codespell \
compiler-rt \
cpp \
cppi \
diffutils \

View File

@ -15,6 +15,7 @@ function install_buildenv() {
ccache \
clang \
codespell \
compiler-rt \
cpp \
cppi \
cyrus-sasl-devel \

101
ci/buildenv/ubuntu-2404.sh Normal file
View File

@ -0,0 +1,101 @@
# 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 \
libclang-rt-dev \
libcurl4-gnutls-dev \
libdevmapper-dev \
libfuse-dev \
libglib2.0-dev \
libglusterfs-dev \
libgnutls28-dev \
libiscsi-dev \
libnbd-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 \
meson \
nfs-common \
ninja-build \
numad \
open-iscsi \
perl-base \
pkgconf \
policykit-1 \
python3 \
python3-docutils \
python3-pytest \
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
}
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"

View File

@ -18,6 +18,7 @@ RUN dnf distro-sync -y && \
ca-certificates \
ccache \
clang \
compiler-rt \
cpp \
cyrus-sasl-devel \
device-mapper-devel \

View File

@ -29,6 +29,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -29,6 +29,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -29,6 +29,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -29,6 +29,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -29,6 +29,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -29,6 +29,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -29,6 +29,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -29,6 +29,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -38,6 +38,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libblkid-dev \
libc6-dev \
libcap-ng-dev \
libclang-rt-dev \
libcurl4-gnutls-dev \
libdevmapper-dev \
libfuse-dev \

View File

@ -29,6 +29,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -29,6 +29,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -29,6 +29,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -29,6 +29,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -29,6 +29,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -29,6 +29,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -29,6 +29,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
iproute2 \
iptables \
kmod \
libclang-rt-dev \
libnbd-dev \
libxml2-utils \
locales \

View File

@ -38,6 +38,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libblkid-dev \
libc6-dev \
libcap-ng-dev \
libclang-rt-dev \
libcurl4-gnutls-dev \
libdevmapper-dev \
libfuse-dev \

View File

@ -25,6 +25,7 @@ exec "$@"\n' > /usr/bin/nosync && \
ccache \
clang \
codespell \
compiler-rt \
cpp \
cppi \
cyrus-sasl-devel \

View File

@ -23,6 +23,7 @@ exec "$@"\n' > /usr/bin/nosync && \
ca-certificates \
ccache \
codespell \
compiler-rt \
cpp \
cppi \
diffutils \

View File

@ -23,6 +23,7 @@ exec "$@"\n' > /usr/bin/nosync && \
ca-certificates \
ccache \
codespell \
compiler-rt \
cpp \
cppi \
diffutils \

View File

@ -25,6 +25,7 @@ exec "$@"\n' > /usr/bin/nosync && \
ccache \
clang \
codespell \
compiler-rt \
cpp \
cppi \
cyrus-sasl-devel \

View File

@ -24,6 +24,7 @@ exec "$@"\n' > /usr/bin/nosync && \
ca-certificates \
ccache \
codespell \
compiler-rt \
cpp \
cppi \
diffutils \

View File

@ -24,6 +24,7 @@ exec "$@"\n' > /usr/bin/nosync && \
ca-certificates \
ccache \
codespell \
compiler-rt \
cpp \
cppi \
diffutils \

View File

@ -26,6 +26,7 @@ exec "$@"\n' > /usr/bin/nosync && \
ccache \
clang \
codespell \
compiler-rt \
cpp \
cppi \
cyrus-sasl-devel \

View File

@ -0,0 +1,104 @@
# THIS FILE WAS AUTO-GENERATED
#
# $ lcitool manifest ci/manifest.yml
#
# https://gitlab.com/libvirt/libvirt-ci
FROM docker.io/library/ubuntu:24.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 \
libclang-rt-dev \
libcurl4-gnutls-dev \
libdevmapper-dev \
libfuse-dev \
libglib2.0-dev \
libglusterfs-dev \
libgnutls28-dev \
libiscsi-dev \
libnbd-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 \
meson \
nfs-common \
ninja-build \
numad \
open-iscsi \
perl-base \
pkgconf \
policykit-1 \
python3 \
python3-docutils \
python3-pytest \
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
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"

View File

@ -213,22 +213,33 @@ x86_64-ubuntu-2204:
optional: true
allow_failure: false
variables:
JOB_OPTIONAL: 1
NAME: ubuntu-2204
TARGET_BASE_IMAGE: docker.io/library/ubuntu:22.04
x86_64-ubuntu-2204-clang:
x86_64-ubuntu-2404:
extends: .native_build_job
needs:
- job: x86_64-ubuntu-2204-container
- job: x86_64-ubuntu-2404-container
optional: true
allow_failure: false
variables:
JOB_OPTIONAL: 1
NAME: ubuntu-2404
TARGET_BASE_IMAGE: docker.io/library/ubuntu:24.04
x86_64-ubuntu-2404-clang:
extends: .native_build_job
needs:
- job: x86_64-ubuntu-2404-container
optional: true
allow_failure: false
variables:
CC: clang
MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined
NAME: ubuntu-2204
TARGET_BASE_IMAGE: docker.io/library/ubuntu:22.04
NAME: ubuntu-2404
TARGET_BASE_IMAGE: docker.io/library/ubuntu:24.04
UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1

View File

@ -99,6 +99,13 @@ x86_64-ubuntu-2204-container:
NAME: ubuntu-2204
x86_64-ubuntu-2404-container:
extends: .container_job
allow_failure: false
variables:
NAME: ubuntu-2404
# Cross container jobs

View File

@ -36,6 +36,7 @@ packages:
- libblkid
- libc
- libcap-ng
- libclang-rt-dev
- libcurl
- libiscsi
- libnbd

View File

@ -218,6 +218,10 @@ targets:
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-2204:
jobs:
- arch: x86_64
ubuntu-2404:
jobs:
- arch: x86_64
builds: false