ci: refresh with latest lcitool manifest

This updates the distros:

 * Add Alpine 3.18, 3.19, Edge, CentOS Stream 9, Fedora 39, 40,
   Ubuntu 24.04, AlmaLinux 8, 9, Debian 11, 12
 * Remove CentOS Stream 8, Fedora 37, 38, Ubuntu 20.04,
   Debian 10, Fedora 35, 36
 * Rename OpenSUSE 15.3 to 15

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé 2023-11-27 16:50:08 +00:00 committed by Daniel P. Berrangé
parent 41949dba74
commit 82dbca46b6
44 changed files with 1163 additions and 424 deletions

View File

@ -13,6 +13,8 @@ stages:
export PKG_CONFIG_PATH="$LIBDIR/pkgconfig"
.native_build_job:
extends:
- .gitlab_native_build_job
script:
- *script_variables
- meson build
@ -22,17 +24,9 @@ stages:
rpmbuild --nodeps -ta build/meson-dist/virt-viewer-*.tar.xz;
fi
.native_build_job_prebuilt_env:
extends:
- .native_build_job
- .gitlab_native_build_job_prebuilt_env
.native_build_job_local_env:
extends:
- .native_build_job
- .gitlab_native_build_job_local_env
.native_git_build_job:
extends:
- .gitlab_native_build_job
script:
- *script_variables
- pushd "$PWD"
@ -59,18 +53,9 @@ stages:
rpmbuild --nodeps -ta build/meson-dist/virt-viewer-*.tar.xz;
fi
.native_git_build_job_prebuilt_env:
extends:
- .native_git_build_job
- .gitlab_native_build_job_prebuilt_env
.native_git_build_job_local_env:
extends:
- .native_git_build_job
- .gitlab_native_build_job_local_env
.cross_build_job:
image: $CI_REGISTRY_IMAGE/ci-$NAME:latest
extends:
- .gitlab_cross_build_job
cache:
paths:
- ccache/
@ -80,39 +65,19 @@ stages:
- meson build $MESON_OPTS
- $NINJA -C build
.cross_build_job_prebuilt_env:
extends:
- .cross_build_job
- .gitlab_cross_build_job_prebuilt_env
.cross_build_job_local_env:
extends:
- .cross_build_job
- .gitlab_cross_build_job_local_env
include: '/ci/gitlab.yml'
.codestyle_job:
extends:
- .gitlab_native_build_job
needs:
- job: x86_64-centos-stream-8-container
optional: true
stage: sanity_checks
script:
- *script_variables
- meson build || (cat build/meson-logs/meson-log.txt && exit 1)
- meson test -C build --suite syntax-check --no-rebuild || (cat build/meson-logs/testlog.txt && exit 1)
codestyle_prebuilt_env:
extends:
- .codestyle_job
- .gitlab_native_build_job_prebuilt_env
needs:
- job: x86_64-centos-stream-8-container
optional: true
variables:
NAME: centos-stream-8
codestyle_local_env:
extends:
- .codestyle_job
- .gitlab_native_build_job_local_env
variables:
IMAGE: quay.io/centos/centos:stream8
TARGET_BASE_IMAGE: quay.io/centos/centos:stream8
NAME: centos-stream-8

View File

@ -0,0 +1,47 @@
# THIS FILE WAS AUTO-GENERATED
#
# $ lcitool manifest ci/manifest.yml
#
# https://gitlab.com/libvirt/libvirt-ci
function install_buildenv() {
dnf update -y
dnf install 'dnf-command(config-manager)' -y
dnf config-manager --set-enabled -y powertools
dnf install -y centos-release-advanced-virtualization
dnf install -y epel-release
dnf install -y \
bash-completion \
ca-certificates \
ccache \
gcc \
gettext \
git \
glib2-devel \
glibc-devel \
glibc-langpack-en \
gtk-vnc2-devel \
gtk3-devel \
icoutils \
libtool \
libvirt-devel \
libvirt-gobject-devel \
libxml2 \
libxml2-devel \
make \
meson \
ninja-build \
pkgconfig \
rpm-build \
spice-gtk3-devel \
vte291-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/gcc
}
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
export LANG="en_US.UTF-8"
export MAKE="/usr/bin/make"
export NINJA="/usr/bin/ninja"

110
ci/buildenv/almalinux-9.sh Normal file
View File

@ -0,0 +1,110 @@
# THIS FILE WAS AUTO-GENERATED
#
# $ lcitool manifest ci/manifest.yml
#
# https://gitlab.com/libvirt/libvirt-ci
function install_buildenv() {
dnf update -y
dnf install 'dnf-command(config-manager)' -y
dnf config-manager --set-enabled -y crb
dnf install -y epel-release
dnf install -y \
audit-libs-devel \
augeas \
bash-completion \
ca-certificates \
ccache \
clang \
cpp \
cyrus-sasl-devel \
device-mapper-devel \
diffutils \
dwarves \
ebtables \
firewalld-filesystem \
fuse-devel \
gcc \
gdk-pixbuf2-devel \
gettext \
git \
glib2-devel \
glibc-devel \
glibc-langpack-en \
gnutls-devel \
gobject-introspection-devel \
grep \
gtk-doc \
gtk3-devel \
icoutils \
iproute \
iproute-tc \
iptables \
iscsi-initiator-utils \
kmod \
libacl-devel \
libattr-devel \
libblkid-devel \
libcap-ng-devel \
libcurl-devel \
libgcrypt-devel \
libiscsi-devel \
libnbd-devel \
libnl3-devel \
libpcap-devel \
libpciaccess-devel \
librbd-devel \
libselinux-devel \
libssh-devel \
libssh2-devel \
libtirpc-devel \
libtool \
libwsman-devel \
libxml2 \
libxml2-devel \
libxslt \
lvm2 \
make \
meson \
nfs-utils \
ninja-build \
numactl-devel \
numad \
parted-devel \
perl-base \
pkgconfig \
polkit \
pulseaudio-libs-devel \
python3 \
python3-docutils \
python3-flake8 \
python3-pip \
python3-pytest \
python3-setuptools \
python3-wheel \
qemu-img \
readline-devel \
rpm-build \
sanlock-devel \
sed \
systemd-devel \
systemd-rpm-macros \
systemtap-sdt-devel \
vala \
vte291-devel \
wireshark-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
/usr/bin/pip3 install black
}
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"

43
ci/buildenv/alpine-318.sh Normal file
View File

@ -0,0 +1,43 @@
# THIS FILE WAS AUTO-GENERATED
#
# $ lcitool manifest ci/manifest.yml
#
# https://gitlab.com/libvirt/libvirt-ci
function install_buildenv() {
apk update
apk upgrade
apk add \
bash-completion \
ca-certificates \
ccache \
gcc \
gettext \
git \
glib-dev \
gtk+3.0-dev \
gtk-vnc-dev \
icoutils \
libtool \
libvirt-dev \
libvirt-glib-dev \
libxml2-dev \
libxml2-utils \
make \
meson \
musl-dev \
pkgconf \
rest-dev \
samurai \
spice-gtk-dev \
vte3-dev
apk list --installed | 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/gcc
}
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
export LANG="en_US.UTF-8"
export MAKE="/usr/bin/make"
export NINJA="/usr/bin/ninja"

43
ci/buildenv/alpine-319.sh Normal file
View File

@ -0,0 +1,43 @@
# THIS FILE WAS AUTO-GENERATED
#
# $ lcitool manifest ci/manifest.yml
#
# https://gitlab.com/libvirt/libvirt-ci
function install_buildenv() {
apk update
apk upgrade
apk add \
bash-completion \
ca-certificates \
ccache \
gcc \
gettext \
git \
glib-dev \
gtk+3.0-dev \
gtk-vnc-dev \
icoutils \
libtool \
libvirt-dev \
libvirt-glib-dev \
libxml2-dev \
libxml2-utils \
make \
meson \
musl-dev \
pkgconf \
rest-dev \
samurai \
spice-gtk-dev \
vte3-dev
apk list --installed | 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/gcc
}
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
export LANG="en_US.UTF-8"
export MAKE="/usr/bin/make"
export NINJA="/usr/bin/ninja"

View File

@ -0,0 +1,43 @@
# THIS FILE WAS AUTO-GENERATED
#
# $ lcitool manifest ci/manifest.yml
#
# https://gitlab.com/libvirt/libvirt-ci
function install_buildenv() {
apk update
apk upgrade
apk add \
bash-completion \
ca-certificates \
ccache \
gcc \
gettext \
git \
glib-dev \
gtk+3.0-dev \
gtk-vnc-dev \
icoutils \
libtool \
libvirt-dev \
libvirt-glib-dev \
libxml2-dev \
libxml2-utils \
make \
meson \
musl-dev \
pkgconf \
rest-dev \
samurai \
spice-gtk-dev \
vte3-dev
apk list --installed | 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/gcc
}
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
export LANG="en_US.UTF-8"
export MAKE="/usr/bin/make"
export NINJA="/usr/bin/ninja"

View File

@ -7,8 +7,7 @@
function install_buildenv() {
dnf distro-sync -y
dnf install 'dnf-command(config-manager)' -y
dnf config-manager --set-enabled -y powertools
dnf install -y centos-release-advanced-virtualization
dnf config-manager --set-enabled -y crb
dnf install -y epel-release
dnf install -y epel-next-release
dnf install -y \
@ -33,7 +32,6 @@ function install_buildenv() {
glib2-devel \
glibc-devel \
glibc-langpack-en \
glusterfs-api-devel \
gnutls-devel \
gobject-introspection-devel \
grep \
@ -52,6 +50,7 @@ function install_buildenv() {
libcurl-devel \
libgcrypt-devel \
libiscsi-devel \
libnbd-devel \
libnl3-devel \
libpcap-devel \
libpciaccess-devel \
@ -68,27 +67,27 @@ function install_buildenv() {
lvm2 \
make \
meson \
netcf-devel \
nfs-utils \
ninja-build \
numactl-devel \
numad \
parted-devel \
perl \
perl-base \
pkgconfig \
polkit \
pulseaudio-libs-devel \
python3 \
python3-docutils \
python3-flake8 \
python3-pip \
python3-pytest \
python3-setuptools \
python3-wheel \
qemu-img \
readline-devel \
rpcgen \
rpm-build \
sanlock-devel \
scrub \
sed \
spice-gtk3-devel \
systemd-devel \
systemd-rpm-macros \
systemtap-sdt-devel \
@ -96,11 +95,13 @@ function install_buildenv() {
vte291-devel \
wireshark-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
/usr/bin/pip3 install black
}
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"

View File

@ -16,6 +16,7 @@ function install_buildenv() {
gettext \
git \
icoutils \
libc6-dev \
libglib2.0-dev \
libgovirt-dev \
libgtk-3-dev \
@ -31,18 +32,15 @@ function install_buildenv() {
libxml2-utils \
locales \
make \
meson \
ninja-build \
pkgconf \
python3-pip \
python3-setuptools \
python3-wheel
pkgconf
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
dpkg-reconfigure locales
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/gcc
/usr/bin/pip3 install meson==0.56.0
}
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"

View File

@ -16,7 +16,9 @@ function install_buildenv() {
gettext \
git \
icoutils \
libc6-dev \
libglib2.0-dev \
libgovirt-dev \
libgtk-3-dev \
libgtk-vnc-2.0-dev \
librest-dev \
@ -30,18 +32,15 @@ function install_buildenv() {
libxml2-utils \
locales \
make \
meson \
ninja-build \
pkgconf \
python3-pip \
python3-setuptools \
python3-wheel
pkgconf
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
dpkg-reconfigure locales
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/gcc
/usr/bin/pip3 install meson==0.56.0
}
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"

View File

@ -16,6 +16,7 @@ function install_buildenv() {
gettext \
git \
icoutils \
libc6-dev \
libglib2.0-dev \
libgovirt-dev \
libgtk-3-dev \

View File

@ -15,6 +15,7 @@ function install_buildenv() {
gettext \
git \
glib2-devel \
glibc-devel \
glibc-langpack-en \
gtk-vnc2-devel \
gtk3-devel \

View File

@ -15,6 +15,7 @@ function install_buildenv() {
gettext \
git \
glib2-devel \
glibc-devel \
glibc-langpack-en \
gtk-vnc2-devel \
gtk3-devel \

View File

@ -8,7 +8,7 @@ function install_buildenv() {
dnf update -y --nogpgcheck fedora-gpg-keys
dnf distro-sync -y
dnf install -y \
bash-completion \
bash-completion-devel \
ca-certificates \
ccache \
cppi \
@ -29,6 +29,7 @@ function install_buildenv() {
mingw32-gstreamer1-plugins-bad-free \
mingw32-gstreamer1-plugins-good \
mingw32-gtk3 \
mingw32-headers \
mingw32-libgovirt \
mingw32-libvirt \
mingw32-libxml2 \

View File

@ -8,7 +8,7 @@ function install_buildenv() {
dnf update -y --nogpgcheck fedora-gpg-keys
dnf distro-sync -y
dnf install -y \
bash-completion \
bash-completion-devel \
ca-certificates \
ccache \
cppi \
@ -29,6 +29,7 @@ function install_buildenv() {
mingw64-gstreamer1-plugins-bad-free \
mingw64-gstreamer1-plugins-good \
mingw64-gtk3 \
mingw64-headers \
mingw64-libgovirt \
mingw64-libvirt \
mingw64-libxml2 \

View File

@ -8,7 +8,7 @@ function install_buildenv() {
dnf update -y --nogpgcheck fedora-gpg-keys
dnf distro-sync -y
dnf install -y \
bash-completion \
bash-completion-devel \
ca-certificates \
ccache \
cppi \
@ -16,6 +16,7 @@ function install_buildenv() {
gettext \
git \
glib2-devel \
glibc-devel \
glibc-langpack-en \
gtk-vnc2-devel \
gtk3-devel \

View File

@ -7,7 +7,7 @@
function install_buildenv() {
zypper update -y
zypper install -y \
bash-completion \
bash-completion-devel \
ca-certificates \
ccache \
cppi \
@ -15,6 +15,7 @@ function install_buildenv() {
gettext-runtime \
git \
glib2-devel \
glibc-devel \
glibc-locale \
gtk-vnc-devel \
gtk3-devel \
@ -27,11 +28,9 @@ function install_buildenv() {
libxml2 \
libxml2-devel \
make \
meson \
ninja \
pkgconfig \
python3-pip \
python3-setuptools \
python3-wheel \
rpm-build \
spice-gtk-devel \
vte-devel
@ -39,7 +38,6 @@ function install_buildenv() {
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/gcc
/usr/bin/pip3 install meson==0.56.0
}
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"

View File

@ -7,7 +7,7 @@
function install_buildenv() {
zypper dist-upgrade -y
zypper install -y \
bash-completion \
bash-completion-devel \
ca-certificates \
ccache \
cppi \
@ -15,6 +15,7 @@ function install_buildenv() {
gettext-runtime \
git \
glib2-devel \
glibc-devel \
glibc-locale \
gtk-vnc-devel \
gtk3-devel \

View File

@ -16,6 +16,7 @@ function install_buildenv() {
gettext \
git \
icoutils \
libc6-dev \
libglib2.0-dev \
libgtk-3-dev \
libgtk-vnc-2.0-dev \

View File

@ -0,0 +1,48 @@
# 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 \
bash-completion \
ca-certificates \
ccache \
gcc \
gettext \
git \
icoutils \
libc6-dev \
libglib2.0-dev \
libgtk-3-dev \
libgtk-vnc-2.0-dev \
librest-dev \
libspice-client-gtk-3.0-dev \
libtool \
libtool-bin \
libvirt-dev \
libvirt-glib-1.0-dev \
libvte-2.91-dev \
libxml2-dev \
libxml2-utils \
locales \
make \
meson \
ninja-build \
pkgconf
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
dpkg-reconfigure locales
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/gcc
}
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
export LANG="en_US.UTF-8"
export MAKE="/usr/bin/make"
export NINJA="/usr/bin/ninja"

View File

@ -0,0 +1,49 @@
# THIS FILE WAS AUTO-GENERATED
#
# $ lcitool manifest ci/manifest.yml
#
# https://gitlab.com/libvirt/libvirt-ci
FROM docker.io/library/almalinux:8
RUN dnf update -y && \
dnf install 'dnf-command(config-manager)' -y && \
dnf config-manager --set-enabled -y powertools && \
dnf install -y centos-release-advanced-virtualization && \
dnf install -y epel-release && \
dnf install -y \
bash-completion \
ca-certificates \
ccache \
gcc \
gettext \
git \
glib2-devel \
glibc-devel \
glibc-langpack-en \
gtk-vnc2-devel \
gtk3-devel \
icoutils \
libtool \
libvirt-devel \
libvirt-gobject-devel \
libxml2 \
libxml2-devel \
make \
meson \
ninja-build \
pkgconfig \
rpm-build \
spice-gtk3-devel \
vte291-devel && \
dnf autoremove -y && \
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/gcc
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
ENV NINJA "/usr/bin/ninja"

View File

@ -0,0 +1,113 @@
# THIS FILE WAS AUTO-GENERATED
#
# $ lcitool manifest ci/manifest.yml
#
# https://gitlab.com/libvirt/libvirt-ci
FROM docker.io/library/almalinux:9
RUN dnf update -y && \
dnf install 'dnf-command(config-manager)' -y && \
dnf config-manager --set-enabled -y crb && \
dnf install -y epel-release && \
dnf install -y \
audit-libs-devel \
augeas \
bash-completion \
ca-certificates \
ccache \
clang \
cpp \
cyrus-sasl-devel \
device-mapper-devel \
diffutils \
dwarves \
ebtables \
firewalld-filesystem \
fuse-devel \
gcc \
gdk-pixbuf2-devel \
gettext \
git \
glib2-devel \
glibc-devel \
glibc-langpack-en \
gnutls-devel \
gobject-introspection-devel \
grep \
gtk-doc \
gtk3-devel \
icoutils \
iproute \
iproute-tc \
iptables \
iscsi-initiator-utils \
kmod \
libacl-devel \
libattr-devel \
libblkid-devel \
libcap-ng-devel \
libcurl-devel \
libgcrypt-devel \
libiscsi-devel \
libnbd-devel \
libnl3-devel \
libpcap-devel \
libpciaccess-devel \
librbd-devel \
libselinux-devel \
libssh-devel \
libssh2-devel \
libtirpc-devel \
libtool \
libwsman-devel \
libxml2 \
libxml2-devel \
libxslt \
lvm2 \
make \
meson \
nfs-utils \
ninja-build \
numactl-devel \
numad \
parted-devel \
perl-base \
pkgconfig \
polkit \
pulseaudio-libs-devel \
python3 \
python3-docutils \
python3-flake8 \
python3-pip \
python3-pytest \
python3-setuptools \
python3-wheel \
qemu-img \
readline-devel \
rpm-build \
sanlock-devel \
sed \
systemd-devel \
systemd-rpm-macros \
systemtap-sdt-devel \
vala \
vte291-devel \
wireshark-devel \
yajl-devel && \
dnf autoremove -y && \
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
RUN /usr/bin/pip3 install black
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

@ -0,0 +1,43 @@
# THIS FILE WAS AUTO-GENERATED
#
# $ lcitool manifest ci/manifest.yml
#
# https://gitlab.com/libvirt/libvirt-ci
FROM docker.io/library/alpine:3.18
RUN apk update && \
apk upgrade && \
apk add \
bash-completion \
ca-certificates \
ccache \
gcc \
gettext \
git \
glib-dev \
gtk+3.0-dev \
gtk-vnc-dev \
icoutils \
libtool \
libvirt-dev \
libvirt-glib-dev \
libxml2-dev \
libxml2-utils \
make \
meson \
musl-dev \
pkgconf \
rest-dev \
samurai \
spice-gtk-dev \
vte3-dev && \
apk list --installed | 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/gcc
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
ENV NINJA "/usr/bin/ninja"

View File

@ -0,0 +1,43 @@
# THIS FILE WAS AUTO-GENERATED
#
# $ lcitool manifest ci/manifest.yml
#
# https://gitlab.com/libvirt/libvirt-ci
FROM docker.io/library/alpine:3.19
RUN apk update && \
apk upgrade && \
apk add \
bash-completion \
ca-certificates \
ccache \
gcc \
gettext \
git \
glib-dev \
gtk+3.0-dev \
gtk-vnc-dev \
icoutils \
libtool \
libvirt-dev \
libvirt-glib-dev \
libxml2-dev \
libxml2-utils \
make \
meson \
musl-dev \
pkgconf \
rest-dev \
samurai \
spice-gtk-dev \
vte3-dev && \
apk list --installed | 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/gcc
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
ENV NINJA "/usr/bin/ninja"

View File

@ -0,0 +1,43 @@
# THIS FILE WAS AUTO-GENERATED
#
# $ lcitool manifest ci/manifest.yml
#
# https://gitlab.com/libvirt/libvirt-ci
FROM docker.io/library/alpine:edge
RUN apk update && \
apk upgrade && \
apk add \
bash-completion \
ca-certificates \
ccache \
gcc \
gettext \
git \
glib-dev \
gtk+3.0-dev \
gtk-vnc-dev \
icoutils \
libtool \
libvirt-dev \
libvirt-glib-dev \
libxml2-dev \
libxml2-utils \
make \
meson \
musl-dev \
pkgconf \
rest-dev \
samurai \
spice-gtk-dev \
vte3-dev && \
apk list --installed | 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/gcc
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
ENV NINJA "/usr/bin/ninja"

View File

@ -4,12 +4,11 @@
#
# https://gitlab.com/libvirt/libvirt-ci
FROM quay.io/centos/centos:stream8
FROM quay.io/centos/centos:stream9
RUN dnf distro-sync -y && \
dnf install 'dnf-command(config-manager)' -y && \
dnf config-manager --set-enabled -y powertools && \
dnf install -y centos-release-advanced-virtualization && \
dnf config-manager --set-enabled -y crb && \
dnf install -y epel-release && \
dnf install -y epel-next-release && \
dnf install -y \
@ -34,7 +33,6 @@ RUN dnf distro-sync -y && \
glib2-devel \
glibc-devel \
glibc-langpack-en \
glusterfs-api-devel \
gnutls-devel \
gobject-introspection-devel \
grep \
@ -53,6 +51,7 @@ RUN dnf distro-sync -y && \
libcurl-devel \
libgcrypt-devel \
libiscsi-devel \
libnbd-devel \
libnl3-devel \
libpcap-devel \
libpciaccess-devel \
@ -69,27 +68,27 @@ RUN dnf distro-sync -y && \
lvm2 \
make \
meson \
netcf-devel \
nfs-utils \
ninja-build \
numactl-devel \
numad \
parted-devel \
perl \
perl-base \
pkgconfig \
polkit \
pulseaudio-libs-devel \
python3 \
python3-docutils \
python3-flake8 \
python3-pip \
python3-pytest \
python3-setuptools \
python3-wheel \
qemu-img \
readline-devel \
rpcgen \
rpm-build \
sanlock-devel \
scrub \
sed \
spice-gtk3-devel \
systemd-devel \
systemd-rpm-macros \
systemtap-sdt-devel \
@ -99,12 +98,15 @@ RUN dnf distro-sync -y && \
yajl-devel && \
dnf autoremove -y && \
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
RUN /usr/bin/pip3 install black
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"

View File

@ -4,7 +4,7 @@
#
# https://gitlab.com/libvirt/libvirt-ci
FROM docker.io/library/debian:10-slim
FROM docker.io/library/debian:11-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
@ -18,6 +18,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gettext \
git \
icoutils \
libc6-dev \
libglib2.0-dev \
libgovirt-dev \
libgtk-3-dev \
@ -33,11 +34,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libxml2-utils \
locales \
make \
meson \
ninja-build \
pkgconf \
python3-pip \
python3-setuptools \
python3-wheel && \
pkgconf && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
@ -47,8 +46,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
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"

View File

@ -4,7 +4,7 @@
#
# https://gitlab.com/libvirt/libvirt-ci
FROM docker.io/library/ubuntu:20.04
FROM docker.io/library/debian:12-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
@ -18,7 +18,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gettext \
git \
icoutils \
libc6-dev \
libglib2.0-dev \
libgovirt-dev \
libgtk-3-dev \
libgtk-vnc-2.0-dev \
librest-dev \
@ -32,11 +34,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libxml2-utils \
locales \
make \
meson \
ninja-build \
pkgconf \
python3-pip \
python3-setuptools \
python3-wheel && \
pkgconf && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
@ -46,8 +46,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
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"

View File

@ -18,6 +18,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gettext \
git \
icoutils \
libc6-dev \
libglib2.0-dev \
libgovirt-dev \
libgtk-3-dev \

View File

@ -4,17 +4,17 @@
#
# https://gitlab.com/libvirt/libvirt-ci
FROM registry.fedoraproject.org/fedora:35
FROM registry.fedoraproject.org/fedora:39
RUN dnf install -y nosync && \
echo -e '#!/bin/sh\n\
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 "$@"' > /usr/bin/nosync && \
exec "$@"\n' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
nosync dnf update -y && \
nosync dnf install -y \
@ -26,6 +26,7 @@ exec "$@"' > /usr/bin/nosync && \
gettext \
git \
glib2-devel \
glibc-devel \
glibc-langpack-en \
gtk-vnc2-devel \
gtk3-devel \

View File

@ -4,17 +4,17 @@
#
# https://gitlab.com/libvirt/libvirt-ci
FROM registry.fedoraproject.org/fedora:36
FROM registry.fedoraproject.org/fedora:40
RUN dnf install -y nosync && \
echo -e '#!/bin/sh\n\
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 "$@"' > /usr/bin/nosync && \
exec "$@"\n' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
nosync dnf update -y && \
nosync dnf install -y \
@ -26,6 +26,7 @@ exec "$@"' > /usr/bin/nosync && \
gettext \
git \
glib2-devel \
glibc-devel \
glibc-langpack-en \
gtk-vnc2-devel \
gtk3-devel \

View File

@ -8,18 +8,18 @@ FROM registry.fedoraproject.org/fedora:rawhide
RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
dnf install -y nosync && \
echo -e '#!/bin/sh\n\
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 "$@"' > /usr/bin/nosync && \
exec "$@"\n' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
nosync dnf distro-sync -y && \
nosync dnf install -y \
bash-completion \
bash-completion-devel \
ca-certificates \
ccache \
cppi \
@ -48,6 +48,7 @@ RUN nosync dnf install -y \
mingw32-gstreamer1-plugins-bad-free \
mingw32-gstreamer1-plugins-good \
mingw32-gtk3 \
mingw32-headers \
mingw32-libgovirt \
mingw32-libvirt \
mingw32-libxml2 \

View File

@ -8,18 +8,18 @@ FROM registry.fedoraproject.org/fedora:rawhide
RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
dnf install -y nosync && \
echo -e '#!/bin/sh\n\
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 "$@"' > /usr/bin/nosync && \
exec "$@"\n' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
nosync dnf distro-sync -y && \
nosync dnf install -y \
bash-completion \
bash-completion-devel \
ca-certificates \
ccache \
cppi \
@ -48,6 +48,7 @@ RUN nosync dnf install -y \
mingw64-gstreamer1-plugins-bad-free \
mingw64-gstreamer1-plugins-good \
mingw64-gtk3 \
mingw64-headers \
mingw64-libgovirt \
mingw64-libvirt \
mingw64-libxml2 \

View File

@ -8,18 +8,18 @@ FROM registry.fedoraproject.org/fedora:rawhide
RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
dnf install -y nosync && \
echo -e '#!/bin/sh\n\
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 "$@"' > /usr/bin/nosync && \
exec "$@"\n' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
nosync dnf distro-sync -y && \
nosync dnf install -y \
bash-completion \
bash-completion-devel \
ca-certificates \
ccache \
cppi \
@ -27,6 +27,7 @@ exec "$@"' > /usr/bin/nosync && \
gettext \
git \
glib2-devel \
glibc-devel \
glibc-langpack-en \
gtk-vnc2-devel \
gtk3-devel \

View File

@ -4,11 +4,11 @@
#
# https://gitlab.com/libvirt/libvirt-ci
FROM registry.opensuse.org/opensuse/leap:15.3
FROM registry.opensuse.org/opensuse/leap:15.5
RUN zypper update -y && \
zypper install -y \
bash-completion \
bash-completion-devel \
ca-certificates \
ccache \
cppi \
@ -16,6 +16,7 @@ RUN zypper update -y && \
gettext-runtime \
git \
glib2-devel \
glibc-devel \
glibc-locale \
gtk-vnc-devel \
gtk3-devel \
@ -28,11 +29,9 @@ RUN zypper update -y && \
libxml2 \
libxml2-devel \
make \
meson \
ninja \
pkgconfig \
python3-pip \
python3-setuptools \
python3-wheel \
rpm-build \
spice-gtk-devel \
vte-devel && \
@ -42,8 +41,6 @@ RUN zypper update -y && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
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"

View File

@ -8,7 +8,7 @@ FROM registry.opensuse.org/opensuse/tumbleweed:latest
RUN zypper dist-upgrade -y && \
zypper install -y \
bash-completion \
bash-completion-devel \
ca-certificates \
ccache \
cppi \
@ -16,6 +16,7 @@ RUN zypper dist-upgrade -y && \
gettext-runtime \
git \
glib2-devel \
glibc-devel \
glibc-locale \
gtk-vnc-devel \
gtk3-devel \

View File

@ -18,6 +18,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gettext \
git \
icoutils \
libc6-dev \
libglib2.0-dev \
libgtk-3-dev \
libgtk-vnc-2.0-dev \

View File

@ -0,0 +1,51 @@
# 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 \
bash-completion \
ca-certificates \
ccache \
gcc \
gettext \
git \
icoutils \
libc6-dev \
libglib2.0-dev \
libgtk-3-dev \
libgtk-vnc-2.0-dev \
librest-dev \
libspice-client-gtk-3.0-dev \
libtool \
libtool-bin \
libvirt-dev \
libvirt-glib-1.0-dev \
libvte-2.91-dev \
libxml2-dev \
libxml2-utils \
locales \
make \
meson \
ninja-build \
pkgconf && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
dpkg-reconfigure locales && \
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/gcc
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
ENV NINJA "/usr/bin/ninja"

View File

@ -14,6 +14,12 @@
# created/updated. Setting this variable to a non-empty
# value allows CI testing prior to opening a merge request.
#
# - RUN_PIPELINE_UPSTREAM_ENV - same semantics as RUN_PIPELINE,
# but uses the CI environment (containers) from the upstream project
# rather than creating and updating a throwaway environment
# Should not be used if the pushed branch includes CI container
# changes.
#
# - RUN_CONTAINER_BUILDS - CI pipelines in upstream only
# publish containers if CI file changes are detected.
# Setting this variable to a non-empty value will force
@ -44,6 +50,7 @@
variables:
RUN_UPSTREAM_NAMESPACE: virt-viewer
FF_SCRIPT_SECTIONS: 1
workflow:
@ -67,6 +74,7 @@ workflow:
debug:
image: docker.io/library/alpine:3
stage: sanity_checks
interruptible: true
needs: []
script:
- printenv | sort

View File

@ -9,26 +9,36 @@
# We use pre-built containers for any pipelines that are:
#
# - Validating code committed on default upstream branch
# - Validating patches targetting default upstream branch
# - Validating patches targeting default upstream branch
# which do not have CI changes
#
# We use a local build env for any pipelines that are:
#
# - Validating code committed to a non-default upstream branch
# - Validating patches targetting a non-default upstream branch
# - Validating patches targetting default upstream branch which
# - Validating patches targeting a non-default upstream branch
# - Validating patches targeting default upstream branch which
# include CI changes
# - Validating code committed to a fork branch
#
# Note: the rules across the prebuilt_env and local_env templates
# Note: the rules across the prebuilt and local container scenarios
# should be logical inverses, such that jobs are mutually exclusive
#
.gitlab_native_build_job_prebuilt_env:
image: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/virt-viewer/ci-$NAME:latest
.gitlab_native_build_job:
image: $IMAGE
stage: builds
interruptible: true
before_script:
- if test "$IMAGE" == "$TARGET_BASE_IMAGE" ;
then
source ci/buildenv/$NAME.sh ;
install_buildenv ;
fi
- cat /packages.txt
variables:
IMAGE: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/virt-viewer/ci-$NAME:latest
rules:
### PUSH events
# upstream: pushes to the default branch
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
@ -36,82 +46,96 @@
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: on_success
# upstream: other web/api/scheduled pipelines targetting the default branch
# forks: pushes to a branch when a pipeline run in upstream env is explicitly requested
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV'
when: on_success
# forks: pushes to branches with pipeline requested
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE && $JOB_OPTIONAL'
when: manual
allow_failure: true
variables:
IMAGE: $TARGET_BASE_IMAGE
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE'
when: on_success
variables:
IMAGE: $TARGET_BASE_IMAGE
### MERGE REQUEST events
# upstream+forks: merge requests targeting the default branch, with CI changes
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
changes:
- ci/gitlab/container-templates.yml
- ci/containers/$NAME.Dockerfile
when: manual
allow_failure: true
variables:
IMAGE: $TARGET_BASE_IMAGE
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
changes:
- ci/gitlab/container-templates.yml
- ci/containers/$NAME.Dockerfile
when: on_success
variables:
IMAGE: $TARGET_BASE_IMAGE
# upstream+forks: merge requests targeting the default branch
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
when: on_success
# upstream+forks: merge requests targeting non-default branches
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
variables:
IMAGE: $TARGET_BASE_IMAGE
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH'
when: on_success
variables:
IMAGE: $TARGET_BASE_IMAGE
### WEB / API / SCHEDULED events
# upstream: other web/api/scheduled pipelines targeting the default branch
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH'
when: on_success
# upstream+forks: merge requests targetting the default branch, without CI changes
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
changes:
- ci/gitlab/container-templates.yml
- ci/containers/$NAME.Dockerfile
when: never
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
when: on_success
# upstream+forks: that's all folks
- when: never
.gitlab_native_build_job_local_env:
image: $IMAGE
stage: builds
before_script:
- source ci/buildenv/$NAME.sh
- install_buildenv
- cat /packages.txt
rules:
# upstream: pushes to a non-default branch
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: on_success
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE'
when: on_success
# upstream: other web/api/scheduled pipelines targetting non-default branches
# upstream: other web/api/scheduled pipelines targeting non-default branches
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
variables:
IMAGE: $TARGET_BASE_IMAGE
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH'
when: on_success
variables:
IMAGE: $TARGET_BASE_IMAGE
# forks: other web/api/scheduled pipelines
# forks: other web/api/scheduled pipelines on any branches
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $JOB_OPTIONAL'
when: manual
allow_failure: true
variables:
IMAGE: $TARGET_BASE_IMAGE
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/'
when: on_success
variables:
IMAGE: $TARGET_BASE_IMAGE
# upstream+forks: merge requests targetting the default branch, with CI changes
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
changes:
- ci/gitlab/container-templates.yml
- ci/containers/$NAME.Dockerfile
when: manual
allow_failure: true
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
changes:
- ci/gitlab/container-templates.yml
- ci/containers/$NAME.Dockerfile
when: on_success
# upstream+forks: merge requests targetting non-default branches
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH'
when: on_success
### Catch all unhandled events
# upstream+forks: that's all folks
- when: never
@ -121,26 +145,36 @@
# We use pre-built containers for any pipelines that are:
#
# - Validating code committed on default upstream branch
# - Validating patches targetting default upstream branch
# - Validating patches targeting default upstream branch
# which do not have CI changes
#
# We use a local build env for any pipelines that are:
#
# - Validating code committed to a non-default upstream branch
# - Validating patches targetting a non-default upstream branch
# - Validating patches targetting default upstream branch which
# - Validating patches targeting a non-default upstream branch
# - Validating patches targeting default upstream branch which
# include CI changes
# - Validating code committed to a fork branch
#
# Note: the rules across the prebuilt_env and local_env templates
# Note: the rules across the prebuilt and local container scenarios
# should be logical inverses, such that jobs are mutually exclusive
#
.gitlab_cross_build_job_prebuilt_env:
image: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/virt-viewer/ci-$NAME-cross-$CROSS:latest
.gitlab_cross_build_job:
image: $IMAGE
stage: builds
interruptible: true
before_script:
- if test "$IMAGE" == "$TARGET_BASE_IMAGE" ;
then
source ci/buildenv/$NAME-cross-$CROSS.sh ;
install_buildenv ;
fi
- cat /packages.txt
variables:
IMAGE: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/virt-viewer/ci-$NAME-cross-$CROSS:latest
rules:
### PUSH events
# upstream: pushes to the default branch
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
@ -148,82 +182,96 @@
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: on_success
# upstream: other web/api/scheduled pipelines targetting the default branch
# forks: pushes to a branch when a pipeline run in upstream env is explicitly requested
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV'
when: on_success
# forks: pushes to branches with pipeline requested
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE && $JOB_OPTIONAL'
when: manual
allow_failure: true
variables:
IMAGE: $TARGET_BASE_IMAGE
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE'
when: on_success
variables:
IMAGE: $TARGET_BASE_IMAGE
### MERGE REQUEST events
# upstream+forks: merge requests targeting the default branch, with CI changes
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
changes:
- ci/gitlab/container-templates.yml
- ci/containers/$NAME-cross-$CROSS.Dockerfile
when: manual
allow_failure: true
variables:
IMAGE: $TARGET_BASE_IMAGE
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
changes:
- ci/gitlab/container-templates.yml
- ci/containers/$NAME-cross-$CROSS.Dockerfile
when: on_success
variables:
IMAGE: $TARGET_BASE_IMAGE
# upstream+forks: merge requests targeting the default branch
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
when: on_success
# upstream+forks: merge requests targeting non-default branches
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
variables:
IMAGE: $TARGET_BASE_IMAGE
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH'
when: on_success
variables:
IMAGE: $TARGET_BASE_IMAGE
### WEB / API / SCHEDULED events
# upstream: other web/api/scheduled pipelines targeting the default branch
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH'
when: on_success
# upstream+forks: merge requests targetting the default branch, without CI changes
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
changes:
- ci/gitlab/container-templates.yml
- ci/containers/$NAME.Dockerfile
when: never
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
when: on_success
# upstream+forks: that's all folks
- when: never
.gitlab_cross_build_job_local_env:
image: $IMAGE
stage: builds
before_script:
- source ci/buildenv/$NAME.sh
- install_buildenv
- cat /packages.txt
rules:
# upstream: pushes to a non-default branch
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: on_success
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE'
when: on_success
# upstream: other web/api/scheduled pipelines targetting non-default branches
# upstream: other web/api/scheduled pipelines targeting non-default branches
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
variables:
IMAGE: $TARGET_BASE_IMAGE
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH'
when: on_success
variables:
IMAGE: $TARGET_BASE_IMAGE
# forks: other web/api/scheduled pipelines
# forks: other web/api/scheduled pipelines on any branches
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $JOB_OPTIONAL'
when: manual
allow_failure: true
variables:
IMAGE: $TARGET_BASE_IMAGE
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/'
when: on_success
variables:
IMAGE: $TARGET_BASE_IMAGE
# upstream+forks: merge requests targetting the default branch, with CI changes
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
changes:
- ci/gitlab/container-templates.yml
- ci/containers/$NAME.Dockerfile
when: manual
allow_failure: true
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
changes:
- ci/gitlab/container-templates.yml
- ci/containers/$NAME.Dockerfile
when: on_success
# upstream+forks: merge requests targetting non-default branches
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH'
when: on_success
### Catch all unhandled events
# upstream+forks: that's all folks
- when: never

View File

@ -7,138 +7,155 @@
# Native build jobs
x86_64-centos-stream-8-prebuilt-env:
extends: .native_build_job_prebuilt_env
x86_64-almalinux-8:
extends: .native_build_job
needs:
- job: x86_64-centos-stream-8-container
- job: x86_64-almalinux-8-container
optional: true
allow_failure: false
variables:
NAME: centos-stream-8
RPM: skip
x86_64-centos-stream-8-local-env:
extends: .native_build_job_local_env
needs: []
allow_failure: false
variables:
IMAGE: quay.io/centos/centos:stream8
NAME: centos-stream-8
NAME: almalinux-8
RPM: skip
TARGET_BASE_IMAGE: docker.io/library/almalinux:8
x86_64-debian-10-prebuilt-env:
extends: .native_build_job_prebuilt_env
x86_64-almalinux-9:
extends: .native_build_job
needs:
- job: x86_64-debian-10-container
- job: x86_64-almalinux-9-container
optional: true
allow_failure: false
variables:
NAME: debian-10
NAME: almalinux-9
RPM: skip
TARGET_BASE_IMAGE: docker.io/library/almalinux:9
x86_64-debian-10-local-env:
extends: .native_build_job_local_env
needs: []
x86_64-alpine-318:
extends: .native_build_job
needs:
- job: x86_64-alpine-318-container
optional: true
allow_failure: false
variables:
IMAGE: docker.io/library/debian:10-slim
NAME: debian-10
NAME: alpine-318
TARGET_BASE_IMAGE: docker.io/library/alpine:3.18
x86_64-debian-sid-prebuilt-env:
extends: .native_build_job_prebuilt_env
x86_64-alpine-319:
extends: .native_build_job
needs:
- job: x86_64-alpine-319-container
optional: true
allow_failure: false
variables:
NAME: alpine-319
TARGET_BASE_IMAGE: docker.io/library/alpine:3.19
x86_64-alpine-edge:
extends: .native_build_job
needs:
- job: x86_64-alpine-edge-container
optional: true
allow_failure: true
variables:
NAME: alpine-edge
TARGET_BASE_IMAGE: docker.io/library/alpine:edge
x86_64-centos-stream-9:
extends: .native_build_job
needs:
- job: x86_64-centos-stream-9-container
optional: true
allow_failure: false
variables:
NAME: centos-stream-9
RPM: skip
TARGET_BASE_IMAGE: quay.io/centos/centos:stream9
x86_64-debian-11:
extends: .native_build_job
needs:
- job: x86_64-debian-11-container
optional: true
allow_failure: false
variables:
NAME: debian-11
TARGET_BASE_IMAGE: docker.io/library/debian:11-slim
x86_64-debian-12:
extends: .native_build_job
needs:
- job: x86_64-debian-12-container
optional: true
allow_failure: false
variables:
NAME: debian-12
TARGET_BASE_IMAGE: docker.io/library/debian:12-slim
x86_64-debian-sid:
extends: .native_build_job
needs:
- job: x86_64-debian-sid-container
optional: true
allow_failure: true
variables:
NAME: debian-sid
x86_64-debian-sid-local-env:
extends: .native_build_job_local_env
needs: []
allow_failure: true
variables:
IMAGE: docker.io/library/debian:sid-slim
NAME: debian-sid
TARGET_BASE_IMAGE: docker.io/library/debian:sid-slim
x86_64-fedora-35-prebuilt-env:
extends: .native_build_job_prebuilt_env
x86_64-fedora-39:
extends: .native_build_job
needs:
- job: x86_64-fedora-35-container
- job: x86_64-fedora-39-container
optional: true
allow_failure: false
variables:
NAME: fedora-35
x86_64-fedora-35-local-env:
extends: .native_build_job_local_env
needs: []
allow_failure: false
variables:
IMAGE: registry.fedoraproject.org/fedora:35
NAME: fedora-35
NAME: fedora-39
TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:39
x86_64-fedora-36-prebuilt-env:
extends: .native_build_job_prebuilt_env
x86_64-fedora-40:
extends: .native_build_job
needs:
- job: x86_64-fedora-36-container
- job: x86_64-fedora-40-container
optional: true
allow_failure: false
variables:
NAME: fedora-36
x86_64-fedora-36-local-env:
extends: .native_build_job_local_env
needs: []
allow_failure: false
variables:
IMAGE: registry.fedoraproject.org/fedora:36
NAME: fedora-36
NAME: fedora-40
TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:40
x86_64-fedora-rawhide-prebuilt-env:
extends: .native_build_job_prebuilt_env
x86_64-fedora-rawhide:
extends: .native_build_job
needs:
- job: x86_64-fedora-rawhide-container
optional: true
allow_failure: true
variables:
NAME: fedora-rawhide
x86_64-fedora-rawhide-local-env:
extends: .native_build_job_local_env
needs: []
allow_failure: true
variables:
IMAGE: registry.fedoraproject.org/fedora:rawhide
NAME: fedora-rawhide
TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:rawhide
x86_64-opensuse-leap-153-prebuilt-env:
extends: .native_build_job_prebuilt_env
x86_64-opensuse-leap-15:
extends: .native_build_job
needs:
- job: x86_64-opensuse-leap-153-container
- job: x86_64-opensuse-leap-15-container
optional: true
allow_failure: false
variables:
NAME: opensuse-leap-153
RPM: skip
x86_64-opensuse-leap-153-local-env:
extends: .native_build_job_local_env
needs: []
allow_failure: false
variables:
IMAGE: registry.opensuse.org/opensuse/leap:15.3
NAME: opensuse-leap-153
NAME: opensuse-leap-15
RPM: skip
TARGET_BASE_IMAGE: registry.opensuse.org/opensuse/leap:15.5
x86_64-opensuse-tumbleweed-prebuilt-env:
extends: .native_build_job_prebuilt_env
x86_64-opensuse-tumbleweed:
extends: .native_build_job
needs:
- job: x86_64-opensuse-tumbleweed-container
optional: true
@ -146,58 +163,36 @@ x86_64-opensuse-tumbleweed-prebuilt-env:
variables:
NAME: opensuse-tumbleweed
RPM: skip
x86_64-opensuse-tumbleweed-local-env:
extends: .native_build_job_local_env
needs: []
allow_failure: true
variables:
IMAGE: registry.opensuse.org/opensuse/tumbleweed:latest
NAME: opensuse-tumbleweed
RPM: skip
TARGET_BASE_IMAGE: registry.opensuse.org/opensuse/tumbleweed:latest
x86_64-ubuntu-2004-prebuilt-env:
extends: .native_build_job_prebuilt_env
needs:
- job: x86_64-ubuntu-2004-container
optional: true
allow_failure: false
variables:
NAME: ubuntu-2004
x86_64-ubuntu-2004-local-env:
extends: .native_build_job_local_env
needs: []
allow_failure: false
variables:
IMAGE: docker.io/library/ubuntu:20.04
NAME: ubuntu-2004
x86_64-ubuntu-2204-prebuilt-env:
extends: .native_build_job_prebuilt_env
x86_64-ubuntu-2204:
extends: .native_build_job
needs:
- job: x86_64-ubuntu-2204-container
optional: true
allow_failure: false
variables:
NAME: ubuntu-2204
TARGET_BASE_IMAGE: docker.io/library/ubuntu:22.04
x86_64-ubuntu-2204-local-env:
extends: .native_build_job_local_env
needs: []
x86_64-ubuntu-2404:
extends: .native_build_job
needs:
- job: x86_64-ubuntu-2404-container
optional: true
allow_failure: false
variables:
IMAGE: docker.io/library/ubuntu:22.04
NAME: ubuntu-2204
NAME: ubuntu-2404
TARGET_BASE_IMAGE: docker.io/library/ubuntu:24.04
# Cross build jobs
mingw32-fedora-rawhide-prebuilt-env:
extends: .cross_build_job_prebuilt_env
mingw32-fedora-rawhide:
extends: .cross_build_job
needs:
- job: mingw32-fedora-rawhide-container
optional: true
@ -205,27 +200,15 @@ mingw32-fedora-rawhide-prebuilt-env:
variables:
CROSS: mingw32
NAME: fedora-rawhide
artifacts:
expire_in: 2 days
paths:
- data/virt-viewer-x86*.msi
mingw32-fedora-rawhide-local-env:
extends: .cross_build_job_local_env
needs: []
allow_failure: true
variables:
CROSS: mingw32
IMAGE: registry.fedoraproject.org/fedora:rawhide
NAME: fedora-rawhide
TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:rawhide
artifacts:
expire_in: 2 days
paths:
- data/virt-viewer-x86*.msi
mingw64-fedora-rawhide-prebuilt-env:
extends: .cross_build_job_prebuilt_env
mingw64-fedora-rawhide:
extends: .cross_build_job
needs:
- job: mingw64-fedora-rawhide-container
optional: true
@ -233,19 +216,7 @@ mingw64-fedora-rawhide-prebuilt-env:
variables:
CROSS: mingw64
NAME: fedora-rawhide
artifacts:
expire_in: 2 days
paths:
- data/virt-viewer-x64*.msi
mingw64-fedora-rawhide-local-env:
extends: .cross_build_job_local_env
needs: []
allow_failure: true
variables:
CROSS: mingw64
IMAGE: registry.fedoraproject.org/fedora:rawhide
NAME: fedora-rawhide
TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:rawhide
artifacts:
expire_in: 2 days
paths:

View File

@ -14,8 +14,9 @@
# Note: never publish from merge requests since they have non-committed code
#
.container_job:
image: docker:stable
image: docker:latest
stage: containers
interruptible: false
needs: []
services:
- docker:dind

View File

@ -7,18 +7,60 @@
# Native container jobs
x86_64-centos-stream-8-container:
x86_64-almalinux-8-container:
extends: .container_job
allow_failure: false
variables:
NAME: centos-stream-8
NAME: almalinux-8
x86_64-debian-10-container:
x86_64-almalinux-9-container:
extends: .container_job
allow_failure: false
variables:
NAME: debian-10
NAME: almalinux-9
x86_64-alpine-318-container:
extends: .container_job
allow_failure: false
variables:
NAME: alpine-318
x86_64-alpine-319-container:
extends: .container_job
allow_failure: false
variables:
NAME: alpine-319
x86_64-alpine-edge-container:
extends: .container_job
allow_failure: true
variables:
NAME: alpine-edge
x86_64-centos-stream-9-container:
extends: .container_job
allow_failure: false
variables:
NAME: centos-stream-9
x86_64-debian-11-container:
extends: .container_job
allow_failure: false
variables:
NAME: debian-11
x86_64-debian-12-container:
extends: .container_job
allow_failure: false
variables:
NAME: debian-12
x86_64-debian-sid-container:
@ -28,18 +70,18 @@ x86_64-debian-sid-container:
NAME: debian-sid
x86_64-fedora-35-container:
x86_64-fedora-39-container:
extends: .container_job
allow_failure: false
variables:
NAME: fedora-35
NAME: fedora-39
x86_64-fedora-36-container:
x86_64-fedora-40-container:
extends: .container_job
allow_failure: false
variables:
NAME: fedora-36
NAME: fedora-40
x86_64-fedora-rawhide-container:
@ -49,11 +91,11 @@ x86_64-fedora-rawhide-container:
NAME: fedora-rawhide
x86_64-opensuse-leap-153-container:
x86_64-opensuse-leap-15-container:
extends: .container_job
allow_failure: false
variables:
NAME: opensuse-leap-153
NAME: opensuse-leap-15
x86_64-opensuse-tumbleweed-container:
@ -63,13 +105,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
@ -77,6 +112,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

@ -8,7 +8,8 @@
check-dco:
stage: sanity_checks
needs: []
image: registry.gitlab.com/libvirt/libvirt-ci/check-dco:master
image: registry.gitlab.com/libvirt/libvirt-ci/check-dco:latest
interruptible: true
script:
- /check-dco "$RUN_UPSTREAM_NAMESPACE"
rules:
@ -16,9 +17,11 @@ check-dco:
- if: '$CI_PIPELINE_SOURCE =~ "merge_request_event"'
when: on_success
# forks: pushes to branches with pipeline requested
# forks: pushes to branches with pipeline requested (including upstream env pipelines)
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH && $RUN_PIPELINE'
when: on_success
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH && $RUN_PIPELINE_UPSTREAM_ENV'
when: on_success
# upstream+forks: that's all folks
- when: never

View File

@ -9,7 +9,13 @@ gitlab:
project: virt-viewer
targets:
centos-stream-8:
almalinux-8:
jobs:
- arch: x86_64
variables:
RPM: skip
almalinux-9:
projects:
- virt-viewer
- https://gitlab.com/libvirt/libvirt/-/raw/master/ci/lcitool/projects/libvirt.yml
@ -21,37 +27,51 @@ targets:
variables:
RPM: skip
debian-10: x86_64
alpine-318: x86_64
alpine-319: x86_64
alpine-edge: x86_64
centos-stream-9:
projects:
- virt-viewer
- https://gitlab.com/libvirt/libvirt/-/raw/master/ci/lcitool/projects/libvirt.yml
- https://gitlab.com/libvirt/libvirt-glib/-/raw/master/ci/lcitool/projects/libvirt-glib.yml
- https://gitlab.gnome.org/GNOME/gtk-vnc/-/raw/master/ci/lcitool/projects/gtk-vnc.yml
debian-sid:
jobs:
- arch: x86_64
allow-failure: true
variables:
RPM: skip
fedora-35: x86_64
debian-11: x86_64
fedora-36: x86_64
debian-12: x86_64
debian-sid: x86_64
fedora-39: x86_64
fedora-40: x86_64
fedora-rawhide:
jobs:
- arch: x86_64
allow-failure: true
- arch: mingw32
allow-failure: true
artifacts:
expiry: 30 days
paths:
- data/virt-viewer-x86*.msi
- arch: mingw64
allow-failure: true
artifacts:
expiry: 30 days
paths:
- data/virt-viewer-x64*.msi
opensuse-leap-153:
opensuse-leap-15:
jobs:
- arch: x86_64
variables:
@ -60,10 +80,9 @@ targets:
opensuse-tumbleweed:
jobs:
- arch: x86_64
allow-failure: true
variables:
RPM: skip
ubuntu-2004: x86_64
ubuntu-2204: x86_64
ubuntu-2404: x86_64