From cd7fe1e6f4aec5f363f315d9162dc53682f64700 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 14 Aug 2022 11:10:40 +0100 Subject: [PATCH] ci: Rebuild CI files MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Using libvirt-ci @ commit 9323ac1153e4de83f40edba6aba01be016bab2fd: $ ../libvirt-ci/bin/lcitool manifest ci/manifest.yml - Drop Alpine 3.14, add 3.15 - Drop OpenSUSE LEAP 15.2, add 15.3 Thanks: Erik Skultety Thanks: Daniel P. Berrangé --- .../almalinux-8.sh} | 45 +- .../alpine-315.sh} | 43 +- .../alpine-edge.sh} | 44 +- .../centos-stream-8.sh} | 46 +- .../debian-10.Dockerfile => buildenv/debian-10.sh} | 46 +- .../debian-11.Dockerfile => buildenv/debian-11.sh} | 48 +-- .../debian-sid.sh} | 47 +- .../fedora-35-cross-mingw32.sh} | 60 +-- .../fedora-35-cross-mingw64.sh} | 60 +-- .../fedora-35.sh} | 43 +- .../fedora-rawhide.sh} | 44 +- .../opensuse-leap-153.sh} | 39 +- .../opensuse-tumbleweed.sh} | 38 +- .../ubuntu-2004.sh} | 46 +- ci/cirrus/freebsd-12.vars | 2 +- ci/cirrus/freebsd-13.vars | 2 +- ci/cirrus/freebsd-current.vars | 2 +- ci/cirrus/macos-11.vars | 2 +- ci/containers/almalinux-8.Dockerfile | 9 +- ...alpine-314.Dockerfile => alpine-315.Dockerfile} | 16 +- ci/containers/alpine-edge.Dockerfile | 15 +- ci/containers/centos-stream-8.Dockerfile | 12 +- ci/containers/debian-10.Dockerfile | 105 +++-- ci/containers/debian-11.Dockerfile | 109 +++-- ci/containers/debian-sid.Dockerfile | 112 +++-- ci/containers/fedora-35-cross-mingw32.Dockerfile | 106 +++-- ci/containers/fedora-35-cross-mingw64.Dockerfile | 106 +++-- ci/containers/fedora-35.Dockerfile | 115 +++-- ci/containers/fedora-rawhide.Dockerfile | 120 +++--- ...152.Dockerfile => opensuse-leap-153.Dockerfile} | 14 +- ci/containers/opensuse-tumbleweed.Dockerfile | 11 +- ci/containers/ubuntu-2004.Dockerfile | 107 +++-- ci/gitlab.yml | 472 ++++----------------- ci/gitlab/build-templates.yml | 285 +++++++++++++ ci/gitlab/builds.yml | 388 +++++++++++++++++ ci/gitlab/container-templates.yml | 44 ++ ci/gitlab/containers.yml | 108 +++++ ci/manifest.yml | 4 +- 38 files changed, 1594 insertions(+), 1321 deletions(-) copy ci/{containers/almalinux-8.Dockerfile => buildenv/almalinux-8.sh} (56%) copy ci/{containers/alpine-314.Dockerfile => buildenv/alpine-315.sh} (56%) copy ci/{containers/alpine-314.Dockerfile => buildenv/alpine-edge.sh} (56%) copy ci/{containers/almalinux-8.Dockerfile => buildenv/centos-stream-8.sh} (56%) copy ci/{containers/debian-10.Dockerfile => buildenv/debian-10.sh} (56%) copy ci/{containers/debian-11.Dockerfile => buildenv/debian-11.sh} (55%) copy ci/{containers/debian-sid.Dockerfile => buildenv/debian-sid.sh} (57%) copy ci/{containers/fedora-35-cross-mingw32.Dockerfile => buildenv/fedora-35-cross-mingw32.sh} (54%) copy ci/{containers/fedora-35-cross-mingw64.Dockerfile => buildenv/fedora-35-cross-mingw64.sh} (54%) copy ci/{containers/almalinux-8.Dockerfile => buildenv/fedora-35.sh} (55%) copy ci/{containers/almalinux-8.Dockerfile => buildenv/fedora-rawhide.sh} (55%) copy ci/{containers/opensuse-leap-152.Dockerfile => buildenv/opensuse-leap-153.sh} (60%) copy ci/{containers/opensuse-tumbleweed.Dockerfile => buildenv/opensuse-tumbleweed.sh} (61%) copy ci/{containers/ubuntu-2004.Dockerfile => buildenv/ubuntu-2004.sh} (56%) rename ci/containers/{alpine-314.Dockerfile => alpine-315.Dockerfile} (87%) rename ci/containers/{opensuse-leap-152.Dockerfile => opensuse-leap-153.Dockerfile} (88%) rewrite ci/gitlab.yml (98%) create mode 100644 ci/gitlab/build-templates.yml create mode 100644 ci/gitlab/builds.yml create mode 100644 ci/gitlab/container-templates.yml create mode 100644 ci/gitlab/containers.yml diff --git a/ci/containers/almalinux-8.Dockerfile b/ci/buildenv/almalinux-8.sh similarity index 56% copy from ci/containers/almalinux-8.Dockerfile copy to ci/buildenv/almalinux-8.sh index d416265c..a497301e 100644 --- a/ci/containers/almalinux-8.Dockerfile +++ b/ci/buildenv/almalinux-8.sh @@ -4,13 +4,12 @@ # # 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 && \ +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 \ autoconf \ automake \ @@ -27,17 +26,12 @@ RUN dnf update -y && \ gcc-c++ \ genisoimage \ git \ - glibc-common \ - glibc-devel \ glibc-langpack-en \ gnutls-devel \ golang \ gzip \ iproute \ jq \ - kernel \ - kernel-headers \ - libcom_err-devel \ libcurl-devel \ libguestfs-devel \ libnbd-devel \ @@ -50,14 +44,12 @@ RUN dnf update -y && \ lua-devel \ make \ ocaml \ - openssh-clients \ perl \ perl-ExtUtils-Embed \ perl-Pod-Simple \ perl-devel \ perl-podlators \ pkgconfig \ - podman \ python3 \ python3-boto3 \ python3-devel \ @@ -71,18 +63,17 @@ RUN dnf update -y && \ xorriso \ xz \ xz-devel \ - zlib-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/c++ && \ - 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/g++ && \ + zlib-devel + rpm -qa | sort > /packages.txt + mkdir -p /usr/libexec/ccache-wrappers + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ + 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/g++ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc +} -ENV LANG "en_US.UTF-8" -ENV MAKE "/usr/bin/make" -ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" +export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers" +export LANG="en_US.UTF-8" +export MAKE="/usr/bin/make" +export PYTHON="/usr/bin/python3" diff --git a/ci/containers/alpine-314.Dockerfile b/ci/buildenv/alpine-315.sh similarity index 56% copy from ci/containers/alpine-314.Dockerfile copy to ci/buildenv/alpine-315.sh index 09faf3cf..de6a111f 100644 --- a/ci/containers/alpine-314.Dockerfile +++ b/ci/buildenv/alpine-315.sh @@ -4,15 +4,15 @@ # # https://gitlab.com/libvirt/libvirt-ci -FROM docker.io/library/alpine:3.14 - -RUN apk update && \ - apk upgrade && \ +function install_buildenv() { + apk update + apk upgrade apk add \ autoconf \ automake \ bash \ bash-completion \ + busybox \ ca-certificates \ cargo \ ccache \ @@ -30,23 +30,17 @@ RUN apk update && \ hexdump \ iproute2 \ jq \ - libcom_err \ libselinux-dev \ libssh-dev \ libtool \ libtorrent \ libvirt-dev \ - linux-headers \ - linux-virt \ - lua \ + lua5.4 \ make \ - musl-utils \ ocaml \ - openssh-client \ perl \ perl-dev \ pkgconf \ - podman \ py3-flake8 \ py3-pip \ py3-setuptools \ @@ -58,22 +52,21 @@ RUN apk update && \ sfdisk \ socat \ tcl \ - util-linux \ xz \ xz-dev \ zlib-dev \ - zstd && \ - apk list | sort > /packages.txt && \ - mkdir -p /usr/libexec/ccache-wrappers && \ - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \ - 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/g++ && \ + zstd + apk list | sort > /packages.txt + mkdir -p /usr/libexec/ccache-wrappers + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ + 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/g++ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc + /usr/bin/pip3 install boto3 +} -RUN pip3 install boto3 - -ENV LANG "en_US.UTF-8" -ENV MAKE "/usr/bin/make" -ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" +export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers" +export LANG="en_US.UTF-8" +export MAKE="/usr/bin/make" +export PYTHON="/usr/bin/python3" diff --git a/ci/containers/alpine-314.Dockerfile b/ci/buildenv/alpine-edge.sh similarity index 56% copy from ci/containers/alpine-314.Dockerfile copy to ci/buildenv/alpine-edge.sh index 09faf3cf..feeb2493 100644 --- a/ci/containers/alpine-314.Dockerfile +++ b/ci/buildenv/alpine-edge.sh @@ -4,15 +4,15 @@ # # https://gitlab.com/libvirt/libvirt-ci -FROM docker.io/library/alpine:3.14 - -RUN apk update && \ - apk upgrade && \ +function install_buildenv() { + apk update + apk upgrade apk add \ autoconf \ automake \ bash \ bash-completion \ + busybox \ ca-certificates \ cargo \ ccache \ @@ -30,23 +30,17 @@ RUN apk update && \ hexdump \ iproute2 \ jq \ - libcom_err \ libselinux-dev \ libssh-dev \ libtool \ libtorrent \ libvirt-dev \ - linux-headers \ - linux-virt \ - lua \ + lua5.4 \ make \ - musl-utils \ ocaml \ - openssh-client \ perl \ perl-dev \ pkgconf \ - podman \ py3-flake8 \ py3-pip \ py3-setuptools \ @@ -55,25 +49,25 @@ RUN apk update && \ python3-dev \ qemu-img \ rust \ + rust-clippy \ sfdisk \ socat \ tcl \ - util-linux \ xz \ xz-dev \ zlib-dev \ - zstd && \ - apk list | sort > /packages.txt && \ - mkdir -p /usr/libexec/ccache-wrappers && \ - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \ - 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/g++ && \ + zstd + apk list | sort > /packages.txt + mkdir -p /usr/libexec/ccache-wrappers + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ + 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/g++ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc + /usr/bin/pip3 install boto3 +} -RUN pip3 install boto3 - -ENV LANG "en_US.UTF-8" -ENV MAKE "/usr/bin/make" -ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" +export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers" +export LANG="en_US.UTF-8" +export MAKE="/usr/bin/make" +export PYTHON="/usr/bin/python3" diff --git a/ci/containers/almalinux-8.Dockerfile b/ci/buildenv/centos-stream-8.sh similarity index 56% copy from ci/containers/almalinux-8.Dockerfile copy to ci/buildenv/centos-stream-8.sh index d416265c..fc7cb3d4 100644 --- a/ci/containers/almalinux-8.Dockerfile +++ b/ci/buildenv/centos-stream-8.sh @@ -4,13 +4,13 @@ # # 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 && \ +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 install -y epel-release + dnf install -y epel-next-release dnf install -y \ autoconf \ automake \ @@ -27,17 +27,12 @@ RUN dnf update -y && \ gcc-c++ \ genisoimage \ git \ - glibc-common \ - glibc-devel \ glibc-langpack-en \ gnutls-devel \ golang \ gzip \ iproute \ jq \ - kernel \ - kernel-headers \ - libcom_err-devel \ libcurl-devel \ libguestfs-devel \ libnbd-devel \ @@ -50,14 +45,12 @@ RUN dnf update -y && \ lua-devel \ make \ ocaml \ - openssh-clients \ perl \ perl-ExtUtils-Embed \ perl-Pod-Simple \ perl-devel \ perl-podlators \ pkgconfig \ - podman \ python3 \ python3-boto3 \ python3-devel \ @@ -71,18 +64,17 @@ RUN dnf update -y && \ xorriso \ xz \ xz-devel \ - zlib-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/c++ && \ - 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/g++ && \ + zlib-devel + rpm -qa | sort > /packages.txt + mkdir -p /usr/libexec/ccache-wrappers + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ + 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/g++ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc +} -ENV LANG "en_US.UTF-8" -ENV MAKE "/usr/bin/make" -ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" +export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers" +export LANG="en_US.UTF-8" +export MAKE="/usr/bin/make" +export PYTHON="/usr/bin/python3" diff --git a/ci/containers/debian-10.Dockerfile b/ci/buildenv/debian-10.sh similarity index 56% copy from ci/containers/debian-10.Dockerfile copy to ci/buildenv/debian-10.sh index feee9607..f5ce92e9 100644 --- a/ci/containers/debian-10.Dockerfile +++ b/ci/buildenv/debian-10.sh @@ -4,13 +4,11 @@ # # https://gitlab.com/libvirt/libvirt-ci -FROM docker.io/library/debian:10-slim - -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 \ +function install_buildenv() { + export DEBIAN_FRONTEND=noninteractive + apt-get update + apt-get dist-upgrade -y + apt-get install --no-install-recommends -y \ autoconf \ automake \ bash \ @@ -32,8 +30,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ gzip \ iproute2 \ jq \ - libc-bin \ - libc6-dev \ libcurl4-gnutls-dev \ libgnutls28-dev \ libguestfs-dev \ @@ -45,14 +41,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ libtorrent-dev \ libvirt-dev \ libzstd-dev \ - linux-image-amd64 \ - linux-libc-dev \ locales \ lua5.3 \ make \ mount \ ocaml \ - openssh-client \ perl \ perl-base \ pkgconf \ @@ -64,20 +57,19 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ socat \ tcl-dev \ xz-utils \ - zlib1g-dev && \ - 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/c++ && \ - 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/g++ && \ + zlib1g-dev + 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/c++ + 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/g++ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc +} -ENV LANG "en_US.UTF-8" -ENV MAKE "/usr/bin/make" -ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" +export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers" +export LANG="en_US.UTF-8" +export MAKE="/usr/bin/make" +export PYTHON="/usr/bin/python3" diff --git a/ci/containers/debian-11.Dockerfile b/ci/buildenv/debian-11.sh similarity index 55% copy from ci/containers/debian-11.Dockerfile copy to ci/buildenv/debian-11.sh index 1043df2d..4dfebc11 100644 --- a/ci/containers/debian-11.Dockerfile +++ b/ci/buildenv/debian-11.sh @@ -4,13 +4,11 @@ # # https://gitlab.com/libvirt/libvirt-ci -FROM docker.io/library/debian:11-slim - -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 \ +function install_buildenv() { + export DEBIAN_FRONTEND=noninteractive + apt-get update + apt-get dist-upgrade -y + apt-get install --no-install-recommends -y \ autoconf \ automake \ bash \ @@ -32,13 +30,10 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ gzip \ iproute2 \ jq \ - libc-bin \ - libc6-dev \ libcurl4-gnutls-dev \ libgnutls28-dev \ libguestfs-dev \ liblzma-dev \ - libnbd-dev \ libperl-dev \ libselinux1-dev \ libssh-gcrypt-dev \ @@ -46,18 +41,14 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ libtorrent-dev \ libvirt-dev \ libzstd-dev \ - linux-image-amd64 \ - linux-libc-dev \ locales \ lua5.4 \ make \ mount \ ocaml \ - openssh-client \ perl \ perl-base \ pkgconf \ - podman \ python3 \ python3-boto3 \ python3-dev \ @@ -67,20 +58,19 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ socat \ tcl-dev \ xz-utils \ - zlib1g-dev && \ - 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/c++ && \ - 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/g++ && \ + zlib1g-dev + 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/c++ + 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/g++ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc +} -ENV LANG "en_US.UTF-8" -ENV MAKE "/usr/bin/make" -ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" +export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers" +export LANG="en_US.UTF-8" +export MAKE="/usr/bin/make" +export PYTHON="/usr/bin/python3" diff --git a/ci/containers/debian-sid.Dockerfile b/ci/buildenv/debian-sid.sh similarity index 57% copy from ci/containers/debian-sid.Dockerfile copy to ci/buildenv/debian-sid.sh index 6654d1d2..91e85a05 100644 --- a/ci/containers/debian-sid.Dockerfile +++ b/ci/buildenv/debian-sid.sh @@ -4,13 +4,11 @@ # # https://gitlab.com/libvirt/libvirt-ci -FROM docker.io/library/debian:sid-slim - -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 \ +function install_buildenv() { + export DEBIAN_FRONTEND=noninteractive + apt-get update + apt-get dist-upgrade -y + apt-get install --no-install-recommends -y \ autoconf \ automake \ bash \ @@ -32,8 +30,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ gzip \ iproute2 \ jq \ - libc-bin \ - libc6-dev \ libcurl4-gnutls-dev \ libgnutls28-dev \ libguestfs-dev \ @@ -46,18 +42,14 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ libtorrent-dev \ libvirt-dev \ libzstd-dev \ - linux-image-amd64 \ - linux-libc-dev \ locales \ lua5.4 \ make \ mount \ ocaml \ - openssh-client \ perl \ perl-base \ pkgconf \ - podman \ python3 \ python3-boto3 \ python3-dev \ @@ -68,20 +60,19 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ socat \ tcl-dev \ xz-utils \ - zlib1g-dev && \ - 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/c++ && \ - 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/g++ && \ + zlib1g-dev + 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/c++ + 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/g++ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc +} -ENV LANG "en_US.UTF-8" -ENV MAKE "/usr/bin/make" -ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" +export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers" +export LANG="en_US.UTF-8" +export MAKE="/usr/bin/make" +export PYTHON="/usr/bin/python3" diff --git a/ci/containers/fedora-35-cross-mingw32.Dockerfile b/ci/buildenv/fedora-35-cross-mingw32.sh similarity index 54% copy from ci/containers/fedora-35-cross-mingw32.Dockerfile copy to ci/buildenv/fedora-35-cross-mingw32.sh index f377e5bc..25473bd8 100644 --- a/ci/containers/fedora-35-cross-mingw32.Dockerfile +++ b/ci/buildenv/fedora-35-cross-mingw32.sh @@ -4,20 +4,9 @@ # # https://gitlab.com/libvirt/libvirt-ci -FROM registry.fedoraproject.org/fedora:35 - -RUN dnf install -y nosync && \ - echo -e '#!/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 && \ - chmod +x /usr/bin/nosync && \ - nosync dnf update -y && \ - nosync dnf install -y \ +function install_buildenv() { + dnf update -y + dnf install -y \ autoconf \ automake \ bash \ @@ -30,16 +19,11 @@ exec "$@"' > /usr/bin/nosync && \ expect \ genisoimage \ git \ - glibc-common \ glibc-langpack-en \ golang \ gzip \ iproute \ jq \ - kernel \ - kernel-headers \ - libcom_err-devel \ - libguestfs-devel \ libnbd-devel \ libtool \ libtorrent-devel \ @@ -47,13 +31,11 @@ exec "$@"' > /usr/bin/nosync && \ lua-devel \ make \ ocaml \ - openssh-clients \ perl-ExtUtils-Embed \ perl-Pod-Simple \ perl-base \ perl-devel \ perl-podlators \ - podman \ python3 \ python3-boto3 \ python3-devel \ @@ -65,30 +47,26 @@ exec "$@"' > /usr/bin/nosync && \ tcl-devel \ util-linux \ xorriso \ - xz && \ - nosync dnf autoremove -y && \ - nosync dnf clean all -y - -ENV LANG "en_US.UTF-8" -ENV MAKE "/usr/bin/make" -ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" - -RUN nosync dnf install -y \ + xz + dnf install -y \ mingw32-curl \ mingw32-gcc \ mingw32-gcc-c++ \ mingw32-gnutls \ - mingw32-headers \ mingw32-libvirt \ - mingw32-pkg-config && \ - nosync dnf clean all -y && \ - rpm -qa | sort > /packages.txt && \ - mkdir -p /usr/libexec/ccache-wrappers && \ - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-c++ && \ - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \ - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-g++ && \ + mingw32-pkg-config + rpm -qa | sort > /packages.txt + mkdir -p /usr/libexec/ccache-wrappers + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-c++ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-g++ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc +} + +export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers" +export LANG="en_US.UTF-8" +export MAKE="/usr/bin/make" +export PYTHON="/usr/bin/python3" -ENV ABI "i686-w64-mingw32" -ENV CONFIGURE_OPTS "--host=i686-w64-mingw32" +export ABI="i686-w64-mingw32" +export CONFIGURE_OPTS="--hosti686-w64-mingw32" diff --git a/ci/containers/fedora-35-cross-mingw64.Dockerfile b/ci/buildenv/fedora-35-cross-mingw64.sh similarity index 54% copy from ci/containers/fedora-35-cross-mingw64.Dockerfile copy to ci/buildenv/fedora-35-cross-mingw64.sh index 62545bda..59802779 100644 --- a/ci/containers/fedora-35-cross-mingw64.Dockerfile +++ b/ci/buildenv/fedora-35-cross-mingw64.sh @@ -4,20 +4,9 @@ # # https://gitlab.com/libvirt/libvirt-ci -FROM registry.fedoraproject.org/fedora:35 - -RUN dnf install -y nosync && \ - echo -e '#!/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 && \ - chmod +x /usr/bin/nosync && \ - nosync dnf update -y && \ - nosync dnf install -y \ +function install_buildenv() { + dnf update -y + dnf install -y \ autoconf \ automake \ bash \ @@ -30,16 +19,11 @@ exec "$@"' > /usr/bin/nosync && \ expect \ genisoimage \ git \ - glibc-common \ glibc-langpack-en \ golang \ gzip \ iproute \ jq \ - kernel \ - kernel-headers \ - libcom_err-devel \ - libguestfs-devel \ libnbd-devel \ libtool \ libtorrent-devel \ @@ -47,13 +31,11 @@ exec "$@"' > /usr/bin/nosync && \ lua-devel \ make \ ocaml \ - openssh-clients \ perl-ExtUtils-Embed \ perl-Pod-Simple \ perl-base \ perl-devel \ perl-podlators \ - podman \ python3 \ python3-boto3 \ python3-devel \ @@ -65,30 +47,26 @@ exec "$@"' > /usr/bin/nosync && \ tcl-devel \ util-linux \ xorriso \ - xz && \ - nosync dnf autoremove -y && \ - nosync dnf clean all -y - -ENV LANG "en_US.UTF-8" -ENV MAKE "/usr/bin/make" -ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" - -RUN nosync dnf install -y \ + xz + dnf install -y \ mingw64-curl \ mingw64-gcc \ mingw64-gcc-c++ \ mingw64-gnutls \ - mingw64-headers \ mingw64-libvirt \ - mingw64-pkg-config && \ - nosync dnf clean all -y && \ - rpm -qa | sort > /packages.txt && \ - mkdir -p /usr/libexec/ccache-wrappers && \ - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-c++ && \ - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-cc && \ - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-g++ && \ + mingw64-pkg-config + rpm -qa | sort > /packages.txt + mkdir -p /usr/libexec/ccache-wrappers + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-c++ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-cc + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-g++ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-gcc +} + +export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers" +export LANG="en_US.UTF-8" +export MAKE="/usr/bin/make" +export PYTHON="/usr/bin/python3" -ENV ABI "x86_64-w64-mingw32" -ENV CONFIGURE_OPTS "--host=x86_64-w64-mingw32" +export ABI="x86_64-w64-mingw32" +export CONFIGURE_OPTS="--hostx86_64-w64-mingw32" diff --git a/ci/containers/almalinux-8.Dockerfile b/ci/buildenv/fedora-35.sh similarity index 55% copy from ci/containers/almalinux-8.Dockerfile copy to ci/buildenv/fedora-35.sh index d416265c..9bfb5aac 100644 --- a/ci/containers/almalinux-8.Dockerfile +++ b/ci/buildenv/fedora-35.sh @@ -4,13 +4,8 @@ # # 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 && \ +function install_buildenv() { + dnf update -y dnf install -y \ autoconf \ automake \ @@ -27,17 +22,12 @@ RUN dnf update -y && \ gcc-c++ \ genisoimage \ git \ - glibc-common \ - glibc-devel \ glibc-langpack-en \ gnutls-devel \ golang \ gzip \ iproute \ jq \ - kernel \ - kernel-headers \ - libcom_err-devel \ libcurl-devel \ libguestfs-devel \ libnbd-devel \ @@ -50,14 +40,12 @@ RUN dnf update -y && \ lua-devel \ make \ ocaml \ - openssh-clients \ - perl \ perl-ExtUtils-Embed \ perl-Pod-Simple \ + perl-base \ perl-devel \ perl-podlators \ pkgconfig \ - podman \ python3 \ python3-boto3 \ python3-devel \ @@ -71,18 +59,17 @@ RUN dnf update -y && \ xorriso \ xz \ xz-devel \ - zlib-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/c++ && \ - 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/g++ && \ + zlib-devel + rpm -qa | sort > /packages.txt + mkdir -p /usr/libexec/ccache-wrappers + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ + 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/g++ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc +} -ENV LANG "en_US.UTF-8" -ENV MAKE "/usr/bin/make" -ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" +export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers" +export LANG="en_US.UTF-8" +export MAKE="/usr/bin/make" +export PYTHON="/usr/bin/python3" diff --git a/ci/containers/almalinux-8.Dockerfile b/ci/buildenv/fedora-rawhide.sh similarity index 55% copy from ci/containers/almalinux-8.Dockerfile copy to ci/buildenv/fedora-rawhide.sh index d416265c..c71c9565 100644 --- a/ci/containers/almalinux-8.Dockerfile +++ b/ci/buildenv/fedora-rawhide.sh @@ -4,13 +4,9 @@ # # 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 && \ +function install_buildenv() { + dnf update -y --nogpgcheck fedora-gpg-keys + dnf distro-sync -y dnf install -y \ autoconf \ automake \ @@ -27,17 +23,12 @@ RUN dnf update -y && \ gcc-c++ \ genisoimage \ git \ - glibc-common \ - glibc-devel \ glibc-langpack-en \ gnutls-devel \ golang \ gzip \ iproute \ jq \ - kernel \ - kernel-headers \ - libcom_err-devel \ libcurl-devel \ libguestfs-devel \ libnbd-devel \ @@ -50,14 +41,12 @@ RUN dnf update -y && \ lua-devel \ make \ ocaml \ - openssh-clients \ - perl \ perl-ExtUtils-Embed \ perl-Pod-Simple \ + perl-base \ perl-devel \ perl-podlators \ pkgconfig \ - podman \ python3 \ python3-boto3 \ python3-devel \ @@ -71,18 +60,17 @@ RUN dnf update -y && \ xorriso \ xz \ xz-devel \ - zlib-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/c++ && \ - 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/g++ && \ + zlib-devel + rpm -qa | sort > /packages.txt + mkdir -p /usr/libexec/ccache-wrappers + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ + 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/g++ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc +} -ENV LANG "en_US.UTF-8" -ENV MAKE "/usr/bin/make" -ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" +export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers" +export LANG="en_US.UTF-8" +export MAKE="/usr/bin/make" +export PYTHON="/usr/bin/python3" diff --git a/ci/containers/opensuse-leap-152.Dockerfile b/ci/buildenv/opensuse-leap-153.sh similarity index 60% copy from ci/containers/opensuse-leap-152.Dockerfile copy to ci/buildenv/opensuse-leap-153.sh index 9382ce4d..2c6f9a2e 100644 --- a/ci/containers/opensuse-leap-152.Dockerfile +++ b/ci/buildenv/opensuse-leap-153.sh @@ -4,9 +4,8 @@ # # https://gitlab.com/libvirt/libvirt-ci -FROM registry.opensuse.org/opensuse/leap:15.2 - -RUN zypper update -y && \ +function install_buildenv() { + zypper update -y zypper install -y \ autoconf \ automake \ @@ -21,19 +20,15 @@ RUN zypper update -y && \ gcc \ gcc-c++ \ git \ - glibc \ - glibc-devel \ glibc-locale \ go \ gzip \ iproute2 \ jq \ - kernel-default \ - kernel-headers \ - libcom_err-devel \ libcurl-devel \ libgnutls-devel \ libguestfs-devel \ + libnbd-devel \ libselinux-devel \ libssh-devel \ libtool \ @@ -44,13 +39,11 @@ RUN zypper update -y && \ make \ mkisofs \ ocaml \ - openssh \ perl \ perl-Pod-Simple \ perl-base \ pkgconfig \ - podman \ - python3 \ + python3-base \ python3-boto3 \ python3-devel \ python3-flake8 \ @@ -62,17 +55,17 @@ RUN zypper update -y && \ xorriso \ xz \ xz-devel \ - zlib-devel && \ - zypper clean --all && \ - rpm -qa | sort > /packages.txt && \ - mkdir -p /usr/libexec/ccache-wrappers && \ - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \ - 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/g++ && \ + zlib-devel + rpm -qa | sort > /packages.txt + mkdir -p /usr/libexec/ccache-wrappers + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ + 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/g++ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc +} -ENV LANG "en_US.UTF-8" -ENV MAKE "/usr/bin/make" -ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" +export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers" +export LANG="en_US.UTF-8" +export MAKE="/usr/bin/make" +export PYTHON="/usr/bin/python3" diff --git a/ci/containers/opensuse-tumbleweed.Dockerfile b/ci/buildenv/opensuse-tumbleweed.sh similarity index 61% copy from ci/containers/opensuse-tumbleweed.Dockerfile copy to ci/buildenv/opensuse-tumbleweed.sh index 4258838e..145d2615 100644 --- a/ci/containers/opensuse-tumbleweed.Dockerfile +++ b/ci/buildenv/opensuse-tumbleweed.sh @@ -4,9 +4,8 @@ # # https://gitlab.com/libvirt/libvirt-ci -FROM registry.opensuse.org/opensuse/tumbleweed:latest - -RUN zypper dist-upgrade -y && \ +function install_buildenv() { + zypper dist-upgrade -y zypper install -y \ autoconf \ automake \ @@ -21,16 +20,11 @@ RUN zypper dist-upgrade -y && \ gcc \ gcc-c++ \ git \ - glibc \ - glibc-devel \ glibc-locale \ go \ gzip \ iproute2 \ jq \ - kernel-default \ - kernel-headers \ - libcom_err-devel \ libcurl-devel \ libgnutls-devel \ libguestfs-devel \ @@ -45,13 +39,11 @@ RUN zypper dist-upgrade -y && \ make \ mkisofs \ ocaml \ - openssh \ perl \ perl-Pod-Simple \ perl-base \ pkgconfig \ - podman \ - python3 \ + python3-base \ python3-boto3 \ python3-devel \ python39-flake8 \ @@ -63,17 +55,17 @@ RUN zypper dist-upgrade -y && \ xorriso \ xz \ xz-devel \ - zlib-devel && \ - zypper clean --all && \ - rpm -qa | sort > /packages.txt && \ - mkdir -p /usr/libexec/ccache-wrappers && \ - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \ - 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/g++ && \ + zlib-devel + rpm -qa | sort > /packages.txt + mkdir -p /usr/libexec/ccache-wrappers + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ + 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/g++ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc +} -ENV LANG "en_US.UTF-8" -ENV MAKE "/usr/bin/make" -ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" +export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers" +export LANG="en_US.UTF-8" +export MAKE="/usr/bin/make" +export PYTHON="/usr/bin/python3" diff --git a/ci/containers/ubuntu-2004.Dockerfile b/ci/buildenv/ubuntu-2004.sh similarity index 56% copy from ci/containers/ubuntu-2004.Dockerfile copy to ci/buildenv/ubuntu-2004.sh index 4b2e0168..bbd176d6 100644 --- a/ci/containers/ubuntu-2004.Dockerfile +++ b/ci/buildenv/ubuntu-2004.sh @@ -4,13 +4,11 @@ # # 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 \ +function install_buildenv() { + export DEBIAN_FRONTEND=noninteractive + apt-get update + apt-get dist-upgrade -y + apt-get install --no-install-recommends -y \ autoconf \ automake \ bash \ @@ -32,8 +30,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ gzip \ iproute2 \ jq \ - libc-bin \ - libc6-dev \ libcurl4-gnutls-dev \ libgnutls28-dev \ libguestfs-dev \ @@ -45,14 +41,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ libtorrent-dev \ libvirt-dev \ libzstd-dev \ - linux-image-virtual \ - linux-libc-dev \ locales \ lua5.3 \ make \ mount \ ocaml \ - openssh-client \ perl \ perl-base \ pkgconf \ @@ -65,20 +58,19 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ socat \ tcl-dev \ xz-utils \ - zlib1g-dev && \ - 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/c++ && \ - 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/g++ && \ + zlib1g-dev + 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/c++ + 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/g++ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc +} -ENV LANG "en_US.UTF-8" -ENV MAKE "/usr/bin/make" -ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" +export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers" +export LANG="en_US.UTF-8" +export MAKE="/usr/bin/make" +export PYTHON="/usr/bin/python3" diff --git a/ci/cirrus/freebsd-12.vars b/ci/cirrus/freebsd-12.vars index a15024da..13c3d63a 100644 --- a/ci/cirrus/freebsd-12.vars +++ b/ci/cirrus/freebsd-12.vars @@ -11,6 +11,6 @@ MAKE='/usr/local/bin/gmake' NINJA='/usr/local/bin/ninja' PACKAGING_COMMAND='pkg' PIP3='/usr/local/bin/pip-3.8' -PKGS='autoconf automake bash bash-completion ca_root_nss ccache cdrkit-genisoimage curl e2fsprogs expect git gmake gnutls go gzip iconv jq libssh libtool libtorrent libvirt lua54 ocaml p5-Pod-Simple perl5 perl5-devel pkgconf py38-boto3 py38-flake8 python3 qemu rust socat tcl87 xorriso zstd' +PKGS='autoconf automake bash bash-completion ca_root_nss ccache cdrkit-genisoimage curl e2fsprogs expect git gmake gnutls go gzip jq libssh libtool libtorrent libvirt lua54 ocaml p5-Pod-Simple perl5 perl5-devel pkgconf py39-boto3 py39-flake8 python3 qemu rust socat tcl87 xorriso zstd' PYPI_PKGS='' PYTHON='/usr/local/bin/python3' diff --git a/ci/cirrus/freebsd-13.vars b/ci/cirrus/freebsd-13.vars index a15024da..13c3d63a 100644 --- a/ci/cirrus/freebsd-13.vars +++ b/ci/cirrus/freebsd-13.vars @@ -11,6 +11,6 @@ MAKE='/usr/local/bin/gmake' NINJA='/usr/local/bin/ninja' PACKAGING_COMMAND='pkg' PIP3='/usr/local/bin/pip-3.8' -PKGS='autoconf automake bash bash-completion ca_root_nss ccache cdrkit-genisoimage curl e2fsprogs expect git gmake gnutls go gzip iconv jq libssh libtool libtorrent libvirt lua54 ocaml p5-Pod-Simple perl5 perl5-devel pkgconf py38-boto3 py38-flake8 python3 qemu rust socat tcl87 xorriso zstd' +PKGS='autoconf automake bash bash-completion ca_root_nss ccache cdrkit-genisoimage curl e2fsprogs expect git gmake gnutls go gzip jq libssh libtool libtorrent libvirt lua54 ocaml p5-Pod-Simple perl5 perl5-devel pkgconf py39-boto3 py39-flake8 python3 qemu rust socat tcl87 xorriso zstd' PYPI_PKGS='' PYTHON='/usr/local/bin/python3' diff --git a/ci/cirrus/freebsd-current.vars b/ci/cirrus/freebsd-current.vars index a15024da..13c3d63a 100644 --- a/ci/cirrus/freebsd-current.vars +++ b/ci/cirrus/freebsd-current.vars @@ -11,6 +11,6 @@ MAKE='/usr/local/bin/gmake' NINJA='/usr/local/bin/ninja' PACKAGING_COMMAND='pkg' PIP3='/usr/local/bin/pip-3.8' -PKGS='autoconf automake bash bash-completion ca_root_nss ccache cdrkit-genisoimage curl e2fsprogs expect git gmake gnutls go gzip iconv jq libssh libtool libtorrent libvirt lua54 ocaml p5-Pod-Simple perl5 perl5-devel pkgconf py38-boto3 py38-flake8 python3 qemu rust socat tcl87 xorriso zstd' +PKGS='autoconf automake bash bash-completion ca_root_nss ccache cdrkit-genisoimage curl e2fsprogs expect git gmake gnutls go gzip jq libssh libtool libtorrent libvirt lua54 ocaml p5-Pod-Simple perl5 perl5-devel pkgconf py39-boto3 py39-flake8 python3 qemu rust socat tcl87 xorriso zstd' PYPI_PKGS='' PYTHON='/usr/local/bin/python3' diff --git a/ci/cirrus/macos-11.vars b/ci/cirrus/macos-11.vars index 3e9c400e..9d4fbe79 100644 --- a/ci/cirrus/macos-11.vars +++ b/ci/cirrus/macos-11.vars @@ -11,6 +11,6 @@ MAKE='/usr/local/bin/gmake' NINJA='/usr/local/bin/ninja' PACKAGING_COMMAND='brew' PIP3='/usr/local/bin/pip3' -PKGS='autoconf automake bash bash-completion ccache cpanminus curl e2fsprogs expect flake8 git glibc gnutls golang gzip jq libssh libtool libtorrent libvirt losetup lua make ocaml perl perl5-devel pkg-config podman python3 python3-boto3 python3-libnbd qemu rust sfdisk socat tcl xorriso xz zlib zstd' +PKGS='autoconf automake bash bash-completion ccache cpanminus curl e2fsprogs expect flake8 git gnutls golang gzip jq libssh libtool libtorrent libvirt lua make ocaml perl perl5-devel pkg-config python3 python3-boto3 python3-libnbd qemu rust sfdisk socat tcl xorriso xz zlib zstd' PYPI_PKGS='' PYTHON='/usr/local/bin/python3' diff --git a/ci/containers/almalinux-8.Dockerfile b/ci/containers/almalinux-8.Dockerfile index d416265c..b9bfbd2c 100644 --- a/ci/containers/almalinux-8.Dockerfile +++ b/ci/containers/almalinux-8.Dockerfile @@ -27,17 +27,12 @@ RUN dnf update -y && \ gcc-c++ \ genisoimage \ git \ - glibc-common \ - glibc-devel \ glibc-langpack-en \ gnutls-devel \ golang \ gzip \ iproute \ jq \ - kernel \ - kernel-headers \ - libcom_err-devel \ libcurl-devel \ libguestfs-devel \ libnbd-devel \ @@ -50,14 +45,12 @@ RUN dnf update -y && \ lua-devel \ make \ ocaml \ - openssh-clients \ perl \ perl-ExtUtils-Embed \ perl-Pod-Simple \ perl-devel \ perl-podlators \ pkgconfig \ - podman \ python3 \ python3-boto3 \ python3-devel \ @@ -82,7 +75,7 @@ RUN dnf update -y && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ 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 PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/containers/alpine-314.Dockerfile b/ci/containers/alpine-315.Dockerfile similarity index 87% rename from ci/containers/alpine-314.Dockerfile rename to ci/containers/alpine-315.Dockerfile index 09faf3cf..6b687ee6 100644 --- a/ci/containers/alpine-314.Dockerfile +++ b/ci/containers/alpine-315.Dockerfile @@ -4,7 +4,7 @@ # # https://gitlab.com/libvirt/libvirt-ci -FROM docker.io/library/alpine:3.14 +FROM docker.io/library/alpine:3.15 RUN apk update && \ apk upgrade && \ @@ -13,6 +13,7 @@ RUN apk update && \ automake \ bash \ bash-completion \ + busybox \ ca-certificates \ cargo \ ccache \ @@ -30,23 +31,17 @@ RUN apk update && \ hexdump \ iproute2 \ jq \ - libcom_err \ libselinux-dev \ libssh-dev \ libtool \ libtorrent \ libvirt-dev \ - linux-headers \ - linux-virt \ - lua \ + lua5.4 \ make \ - musl-utils \ ocaml \ - openssh-client \ perl \ perl-dev \ pkgconf \ - podman \ py3-flake8 \ py3-pip \ py3-setuptools \ @@ -58,7 +53,6 @@ RUN apk update && \ sfdisk \ socat \ tcl \ - util-linux \ xz \ xz-dev \ zlib-dev \ @@ -71,9 +65,9 @@ RUN apk update && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc -RUN pip3 install boto3 +RUN /usr/bin/pip3 install boto3 +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/containers/alpine-edge.Dockerfile b/ci/containers/alpine-edge.Dockerfile index 826487ee..9d3519f6 100644 --- a/ci/containers/alpine-edge.Dockerfile +++ b/ci/containers/alpine-edge.Dockerfile @@ -13,6 +13,7 @@ RUN apk update && \ automake \ bash \ bash-completion \ + busybox \ ca-certificates \ cargo \ ccache \ @@ -30,23 +31,17 @@ RUN apk update && \ hexdump \ iproute2 \ jq \ - libcom_err \ libselinux-dev \ libssh-dev \ libtool \ libtorrent \ libvirt-dev \ - linux-headers \ - linux-virt \ - lua \ + lua5.4 \ make \ - musl-utils \ ocaml \ - openssh-client \ perl \ perl-dev \ pkgconf \ - podman \ py3-flake8 \ py3-pip \ py3-setuptools \ @@ -55,10 +50,10 @@ RUN apk update && \ python3-dev \ qemu-img \ rust \ + rust-clippy \ sfdisk \ socat \ tcl \ - util-linux-misc \ xz \ xz-dev \ zlib-dev \ @@ -71,9 +66,9 @@ RUN apk update && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc -RUN pip3 install boto3 +RUN /usr/bin/pip3 install boto3 +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/containers/centos-stream-8.Dockerfile b/ci/containers/centos-stream-8.Dockerfile index 7ee6eeef..ac3a5985 100644 --- a/ci/containers/centos-stream-8.Dockerfile +++ b/ci/containers/centos-stream-8.Dockerfile @@ -6,11 +6,12 @@ FROM quay.io/centos/centos:stream8 -RUN dnf update -y && \ +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 install -y epel-release && \ + dnf install -y epel-next-release && \ dnf install -y \ autoconf \ automake \ @@ -27,17 +28,12 @@ RUN dnf update -y && \ gcc-c++ \ genisoimage \ git \ - glibc-common \ - glibc-devel \ glibc-langpack-en \ gnutls-devel \ golang \ gzip \ iproute \ jq \ - kernel \ - kernel-headers \ - libcom_err-devel \ libcurl-devel \ libguestfs-devel \ libnbd-devel \ @@ -50,14 +46,12 @@ RUN dnf update -y && \ lua-devel \ make \ ocaml \ - openssh-clients \ perl \ perl-ExtUtils-Embed \ perl-Pod-Simple \ perl-devel \ perl-podlators \ pkgconfig \ - podman \ python3 \ python3-boto3 \ python3-devel \ @@ -82,7 +76,7 @@ RUN dnf update -y && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ 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 PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/containers/debian-10.Dockerfile b/ci/containers/debian-10.Dockerfile index feee9607..1949a65c 100644 --- a/ci/containers/debian-10.Dockerfile +++ b/ci/containers/debian-10.Dockerfile @@ -11,60 +11,55 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get install -y eatmydata && \ eatmydata apt-get dist-upgrade -y && \ eatmydata apt-get install --no-install-recommends -y \ - autoconf \ - automake \ - bash \ - bash-completion \ - bsdmainutils \ - ca-certificates \ - cargo \ - ccache \ - clang \ - e2fsprogs \ - expect \ - fdisk \ - flake8 \ - g++ \ - gcc \ - genisoimage \ - git \ - golang \ - gzip \ - iproute2 \ - jq \ - libc-bin \ - libc6-dev \ - libcurl4-gnutls-dev \ - libgnutls28-dev \ - libguestfs-dev \ - liblzma-dev \ - libperl-dev \ - libselinux1-dev \ - libssh-gcrypt-dev \ - libtool-bin \ - libtorrent-dev \ - libvirt-dev \ - libzstd-dev \ - linux-image-amd64 \ - linux-libc-dev \ - locales \ - lua5.3 \ - make \ - mount \ - ocaml \ - openssh-client \ - perl \ - perl-base \ - pkgconf \ - python3 \ - python3-boto3 \ - python3-dev \ - qemu-utils \ - rustc \ - socat \ - tcl-dev \ - xz-utils \ - zlib1g-dev && \ + autoconf \ + automake \ + bash \ + bash-completion \ + bsdmainutils \ + ca-certificates \ + cargo \ + ccache \ + clang \ + e2fsprogs \ + expect \ + fdisk \ + flake8 \ + g++ \ + gcc \ + genisoimage \ + git \ + golang \ + gzip \ + iproute2 \ + jq \ + libcurl4-gnutls-dev \ + libgnutls28-dev \ + libguestfs-dev \ + liblzma-dev \ + libperl-dev \ + libselinux1-dev \ + libssh-gcrypt-dev \ + libtool-bin \ + libtorrent-dev \ + libvirt-dev \ + libzstd-dev \ + locales \ + lua5.3 \ + make \ + mount \ + ocaml \ + perl \ + perl-base \ + pkgconf \ + python3 \ + python3-boto3 \ + python3-dev \ + qemu-utils \ + rustc \ + socat \ + tcl-dev \ + xz-utils \ + zlib1g-dev && \ eatmydata apt-get autoremove -y && \ eatmydata apt-get autoclean -y && \ sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ @@ -77,7 +72,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ 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 PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/containers/debian-11.Dockerfile b/ci/containers/debian-11.Dockerfile index 1043df2d..b9b005d5 100644 --- a/ci/containers/debian-11.Dockerfile +++ b/ci/containers/debian-11.Dockerfile @@ -11,63 +11,56 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get install -y eatmydata && \ eatmydata apt-get dist-upgrade -y && \ eatmydata apt-get install --no-install-recommends -y \ - autoconf \ - automake \ - bash \ - bash-completion \ - bsdextrautils \ - ca-certificates \ - cargo \ - ccache \ - clang \ - e2fsprogs \ - expect \ - fdisk \ - flake8 \ - g++ \ - gcc \ - genisoimage \ - git \ - golang \ - gzip \ - iproute2 \ - jq \ - libc-bin \ - libc6-dev \ - libcurl4-gnutls-dev \ - libgnutls28-dev \ - libguestfs-dev \ - liblzma-dev \ - libnbd-dev \ - libperl-dev \ - libselinux1-dev \ - libssh-gcrypt-dev \ - libtool-bin \ - libtorrent-dev \ - libvirt-dev \ - libzstd-dev \ - linux-image-amd64 \ - linux-libc-dev \ - locales \ - lua5.4 \ - make \ - mount \ - ocaml \ - openssh-client \ - perl \ - perl-base \ - pkgconf \ - podman \ - python3 \ - python3-boto3 \ - python3-dev \ - python3-libnbd \ - qemu-utils \ - rustc \ - socat \ - tcl-dev \ - xz-utils \ - zlib1g-dev && \ + autoconf \ + automake \ + bash \ + bash-completion \ + bsdextrautils \ + ca-certificates \ + cargo \ + ccache \ + clang \ + e2fsprogs \ + expect \ + fdisk \ + flake8 \ + g++ \ + gcc \ + genisoimage \ + git \ + golang \ + gzip \ + iproute2 \ + jq \ + libcurl4-gnutls-dev \ + libgnutls28-dev \ + libguestfs-dev \ + liblzma-dev \ + libperl-dev \ + libselinux1-dev \ + libssh-gcrypt-dev \ + libtool-bin \ + libtorrent-dev \ + libvirt-dev \ + libzstd-dev \ + locales \ + lua5.4 \ + make \ + mount \ + ocaml \ + perl \ + perl-base \ + pkgconf \ + python3 \ + python3-boto3 \ + python3-dev \ + python3-libnbd \ + qemu-utils \ + rustc \ + socat \ + tcl-dev \ + xz-utils \ + zlib1g-dev && \ eatmydata apt-get autoremove -y && \ eatmydata apt-get autoclean -y && \ sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ @@ -80,7 +73,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ 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 PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/containers/debian-sid.Dockerfile b/ci/containers/debian-sid.Dockerfile index 6654d1d2..153a74c8 100644 --- a/ci/containers/debian-sid.Dockerfile +++ b/ci/containers/debian-sid.Dockerfile @@ -11,64 +11,58 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get install -y eatmydata && \ eatmydata apt-get dist-upgrade -y && \ eatmydata apt-get install --no-install-recommends -y \ - autoconf \ - automake \ - bash \ - bash-completion \ - bsdextrautils \ - ca-certificates \ - cargo \ - ccache \ - clang \ - e2fsprogs \ - expect \ - fdisk \ - flake8 \ - g++ \ - gcc \ - genisoimage \ - git \ - golang \ - gzip \ - iproute2 \ - jq \ - libc-bin \ - libc6-dev \ - libcurl4-gnutls-dev \ - libgnutls28-dev \ - libguestfs-dev \ - liblzma-dev \ - libnbd-dev \ - libperl-dev \ - libselinux1-dev \ - libssh-gcrypt-dev \ - libtool-bin \ - libtorrent-dev \ - libvirt-dev \ - libzstd-dev \ - linux-image-amd64 \ - linux-libc-dev \ - locales \ - lua5.4 \ - make \ - mount \ - ocaml \ - openssh-client \ - perl \ - perl-base \ - pkgconf \ - podman \ - python3 \ - python3-boto3 \ - python3-dev \ - python3-libnbd \ - qemu-utils \ - rust-clippy \ - rustc \ - socat \ - tcl-dev \ - xz-utils \ - zlib1g-dev && \ + autoconf \ + automake \ + bash \ + bash-completion \ + bsdextrautils \ + ca-certificates \ + cargo \ + ccache \ + clang \ + e2fsprogs \ + expect \ + fdisk \ + flake8 \ + g++ \ + gcc \ + genisoimage \ + git \ + golang \ + gzip \ + iproute2 \ + jq \ + libcurl4-gnutls-dev \ + libgnutls28-dev \ + libguestfs-dev \ + liblzma-dev \ + libnbd-dev \ + libperl-dev \ + libselinux1-dev \ + libssh-gcrypt-dev \ + libtool-bin \ + libtorrent-dev \ + libvirt-dev \ + libzstd-dev \ + locales \ + lua5.4 \ + make \ + mount \ + ocaml \ + perl \ + perl-base \ + pkgconf \ + python3 \ + python3-boto3 \ + python3-dev \ + python3-libnbd \ + qemu-utils \ + rust-clippy \ + rustc \ + socat \ + tcl-dev \ + xz-utils \ + zlib1g-dev && \ eatmydata apt-get autoremove -y && \ eatmydata apt-get autoclean -y && \ sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ @@ -81,7 +75,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ 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 PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/containers/fedora-35-cross-mingw32.Dockerfile b/ci/containers/fedora-35-cross-mingw32.Dockerfile index f377e5bc..9dfb1b70 100644 --- a/ci/containers/fedora-35-cross-mingw32.Dockerfile +++ b/ci/containers/fedora-35-cross-mingw32.Dockerfile @@ -18,70 +18,62 @@ exec "$@"' > /usr/bin/nosync && \ chmod +x /usr/bin/nosync && \ nosync dnf update -y && \ nosync dnf install -y \ - autoconf \ - automake \ - bash \ - bash-completion \ - ca-certificates \ - cargo \ - ccache \ - clippy \ - e2fsprogs \ - expect \ - genisoimage \ - git \ - glibc-common \ - glibc-langpack-en \ - golang \ - gzip \ - iproute \ - jq \ - kernel \ - kernel-headers \ - libcom_err-devel \ - libguestfs-devel \ - libnbd-devel \ - libtool \ - libtorrent-devel \ - libzstd-devel \ - lua-devel \ - make \ - ocaml \ - openssh-clients \ - perl-ExtUtils-Embed \ - perl-Pod-Simple \ - perl-base \ - perl-devel \ - perl-podlators \ - podman \ - python3 \ - python3-boto3 \ - python3-devel \ - python3-flake8 \ - python3-libnbd \ - qemu-img \ - rust \ - socat \ - tcl-devel \ - util-linux \ - xorriso \ - xz && \ + autoconf \ + automake \ + bash \ + bash-completion \ + ca-certificates \ + cargo \ + ccache \ + clippy \ + e2fsprogs \ + expect \ + genisoimage \ + git \ + glibc-langpack-en \ + golang \ + gzip \ + iproute \ + jq \ + libnbd-devel \ + libtool \ + libtorrent-devel \ + libzstd-devel \ + lua-devel \ + make \ + ocaml \ + perl-ExtUtils-Embed \ + perl-Pod-Simple \ + perl-base \ + perl-devel \ + perl-podlators \ + python3 \ + python3-boto3 \ + python3-devel \ + python3-flake8 \ + python3-libnbd \ + qemu-img \ + rust \ + socat \ + tcl-devel \ + util-linux \ + xorriso \ + xz && \ nosync dnf autoremove -y && \ nosync dnf clean all -y +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" RUN nosync dnf install -y \ - mingw32-curl \ - mingw32-gcc \ - mingw32-gcc-c++ \ - mingw32-gnutls \ - mingw32-headers \ - mingw32-libvirt \ - mingw32-pkg-config && \ + mingw32-curl \ + mingw32-gcc \ + mingw32-gcc-c++ \ + mingw32-gnutls \ + mingw32-libvirt \ + mingw32-pkg-config && \ nosync dnf clean all -y && \ rpm -qa | sort > /packages.txt && \ mkdir -p /usr/libexec/ccache-wrappers && \ @@ -91,4 +83,4 @@ RUN nosync dnf install -y \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc ENV ABI "i686-w64-mingw32" -ENV CONFIGURE_OPTS "--host=i686-w64-mingw32" +ENV CONFIGURE_OPTS "--hosti686-w64-mingw32" diff --git a/ci/containers/fedora-35-cross-mingw64.Dockerfile b/ci/containers/fedora-35-cross-mingw64.Dockerfile index 62545bda..c7bcf4fe 100644 --- a/ci/containers/fedora-35-cross-mingw64.Dockerfile +++ b/ci/containers/fedora-35-cross-mingw64.Dockerfile @@ -18,70 +18,62 @@ exec "$@"' > /usr/bin/nosync && \ chmod +x /usr/bin/nosync && \ nosync dnf update -y && \ nosync dnf install -y \ - autoconf \ - automake \ - bash \ - bash-completion \ - ca-certificates \ - cargo \ - ccache \ - clippy \ - e2fsprogs \ - expect \ - genisoimage \ - git \ - glibc-common \ - glibc-langpack-en \ - golang \ - gzip \ - iproute \ - jq \ - kernel \ - kernel-headers \ - libcom_err-devel \ - libguestfs-devel \ - libnbd-devel \ - libtool \ - libtorrent-devel \ - libzstd-devel \ - lua-devel \ - make \ - ocaml \ - openssh-clients \ - perl-ExtUtils-Embed \ - perl-Pod-Simple \ - perl-base \ - perl-devel \ - perl-podlators \ - podman \ - python3 \ - python3-boto3 \ - python3-devel \ - python3-flake8 \ - python3-libnbd \ - qemu-img \ - rust \ - socat \ - tcl-devel \ - util-linux \ - xorriso \ - xz && \ + autoconf \ + automake \ + bash \ + bash-completion \ + ca-certificates \ + cargo \ + ccache \ + clippy \ + e2fsprogs \ + expect \ + genisoimage \ + git \ + glibc-langpack-en \ + golang \ + gzip \ + iproute \ + jq \ + libnbd-devel \ + libtool \ + libtorrent-devel \ + libzstd-devel \ + lua-devel \ + make \ + ocaml \ + perl-ExtUtils-Embed \ + perl-Pod-Simple \ + perl-base \ + perl-devel \ + perl-podlators \ + python3 \ + python3-boto3 \ + python3-devel \ + python3-flake8 \ + python3-libnbd \ + qemu-img \ + rust \ + socat \ + tcl-devel \ + util-linux \ + xorriso \ + xz && \ nosync dnf autoremove -y && \ nosync dnf clean all -y +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" ENV PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" RUN nosync dnf install -y \ - mingw64-curl \ - mingw64-gcc \ - mingw64-gcc-c++ \ - mingw64-gnutls \ - mingw64-headers \ - mingw64-libvirt \ - mingw64-pkg-config && \ + mingw64-curl \ + mingw64-gcc \ + mingw64-gcc-c++ \ + mingw64-gnutls \ + mingw64-libvirt \ + mingw64-pkg-config && \ nosync dnf clean all -y && \ rpm -qa | sort > /packages.txt && \ mkdir -p /usr/libexec/ccache-wrappers && \ @@ -91,4 +83,4 @@ RUN nosync dnf install -y \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-gcc ENV ABI "x86_64-w64-mingw32" -ENV CONFIGURE_OPTS "--host=x86_64-w64-mingw32" +ENV CONFIGURE_OPTS "--hostx86_64-w64-mingw32" diff --git a/ci/containers/fedora-35.Dockerfile b/ci/containers/fedora-35.Dockerfile index 7b57074e..e9da78db 100644 --- a/ci/containers/fedora-35.Dockerfile +++ b/ci/containers/fedora-35.Dockerfile @@ -18,66 +18,59 @@ exec "$@"' > /usr/bin/nosync && \ chmod +x /usr/bin/nosync && \ nosync dnf update -y && \ nosync dnf install -y \ - autoconf \ - automake \ - bash \ - bash-completion \ - ca-certificates \ - cargo \ - ccache \ - clang \ - clippy \ - e2fsprogs \ - expect \ - gcc \ - gcc-c++ \ - genisoimage \ - git \ - glibc-common \ - glibc-devel \ - glibc-langpack-en \ - gnutls-devel \ - golang \ - gzip \ - iproute \ - jq \ - kernel \ - kernel-headers \ - libcom_err-devel \ - libcurl-devel \ - libguestfs-devel \ - libnbd-devel \ - libselinux-devel \ - libssh-devel \ - libtool \ - libtorrent-devel \ - libvirt-devel \ - libzstd-devel \ - lua-devel \ - make \ - ocaml \ - openssh-clients \ - perl-ExtUtils-Embed \ - perl-Pod-Simple \ - perl-base \ - perl-devel \ - perl-podlators \ - pkgconfig \ - podman \ - python3 \ - python3-boto3 \ - python3-devel \ - python3-flake8 \ - python3-libnbd \ - qemu-img \ - rust \ - socat \ - tcl-devel \ - util-linux \ - xorriso \ - xz \ - xz-devel \ - zlib-devel && \ + autoconf \ + automake \ + bash \ + bash-completion \ + ca-certificates \ + cargo \ + ccache \ + clang \ + clippy \ + e2fsprogs \ + expect \ + gcc \ + gcc-c++ \ + genisoimage \ + git \ + glibc-langpack-en \ + gnutls-devel \ + golang \ + gzip \ + iproute \ + jq \ + libcurl-devel \ + libguestfs-devel \ + libnbd-devel \ + libselinux-devel \ + libssh-devel \ + libtool \ + libtorrent-devel \ + libvirt-devel \ + libzstd-devel \ + lua-devel \ + make \ + ocaml \ + perl-ExtUtils-Embed \ + perl-Pod-Simple \ + perl-base \ + perl-devel \ + perl-podlators \ + pkgconfig \ + python3 \ + python3-boto3 \ + python3-devel \ + python3-flake8 \ + python3-libnbd \ + qemu-img \ + rust \ + socat \ + tcl-devel \ + util-linux \ + xorriso \ + xz \ + xz-devel \ + zlib-devel && \ nosync dnf autoremove -y && \ nosync dnf clean all -y && \ rpm -qa | sort > /packages.txt && \ @@ -88,7 +81,7 @@ exec "$@"' > /usr/bin/nosync && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ 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 PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/containers/fedora-rawhide.Dockerfile b/ci/containers/fedora-rawhide.Dockerfile index 0d0b219a..d8396c65 100644 --- a/ci/containers/fedora-rawhide.Dockerfile +++ b/ci/containers/fedora-rawhide.Dockerfile @@ -6,10 +6,7 @@ FROM registry.fedoraproject.org/fedora:rawhide -RUN dnf update -y && \ - dnf install 'dnf-command(config-manager)' -y && \ - dnf config-manager -y --add-repo=http://dl.fedoraproject.org/pub/alt/rawhide-kernel-nodebug/fedora-rawhide-kernel-nodebug.repo && \ - dnf update -y --nogpgcheck fedora-gpg-keys && \ +RUN dnf update -y --nogpgcheck fedora-gpg-keys && \ dnf install -y nosync && \ echo -e '#!/bin/sh\n\ if test -d /usr/lib64\n\ @@ -22,66 +19,59 @@ exec "$@"' > /usr/bin/nosync && \ chmod +x /usr/bin/nosync && \ nosync dnf distro-sync -y && \ nosync dnf install -y \ - autoconf \ - automake \ - bash \ - bash-completion \ - ca-certificates \ - cargo \ - ccache \ - clang \ - clippy \ - e2fsprogs \ - expect \ - gcc \ - gcc-c++ \ - genisoimage \ - git \ - glibc-common \ - glibc-devel \ - glibc-langpack-en \ - gnutls-devel \ - golang \ - gzip \ - iproute \ - jq \ - kernel \ - kernel-headers \ - libcom_err-devel \ - libcurl-devel \ - libguestfs-devel \ - libnbd-devel \ - libselinux-devel \ - libssh-devel \ - libtool \ - libtorrent-devel \ - libvirt-devel \ - libzstd-devel \ - lua-devel \ - make \ - ocaml \ - openssh-clients \ - perl-ExtUtils-Embed \ - perl-Pod-Simple \ - perl-base \ - perl-devel \ - perl-podlators \ - pkgconfig \ - podman \ - python3 \ - python3-boto3 \ - python3-devel \ - python3-flake8 \ - python3-libnbd \ - qemu-img \ - rust \ - socat \ - tcl-devel \ - util-linux \ - xorriso \ - xz \ - xz-devel \ - zlib-devel && \ + autoconf \ + automake \ + bash \ + bash-completion \ + ca-certificates \ + cargo \ + ccache \ + clang \ + clippy \ + e2fsprogs \ + expect \ + gcc \ + gcc-c++ \ + genisoimage \ + git \ + glibc-langpack-en \ + gnutls-devel \ + golang \ + gzip \ + iproute \ + jq \ + libcurl-devel \ + libguestfs-devel \ + libnbd-devel \ + libselinux-devel \ + libssh-devel \ + libtool \ + libtorrent-devel \ + libvirt-devel \ + libzstd-devel \ + lua-devel \ + make \ + ocaml \ + perl-ExtUtils-Embed \ + perl-Pod-Simple \ + perl-base \ + perl-devel \ + perl-podlators \ + pkgconfig \ + python3 \ + python3-boto3 \ + python3-devel \ + python3-flake8 \ + python3-libnbd \ + qemu-img \ + rust \ + socat \ + tcl-devel \ + util-linux \ + xorriso \ + xz \ + xz-devel \ + zlib-devel && \ nosync dnf autoremove -y && \ nosync dnf clean all -y && \ rpm -qa | sort > /packages.txt && \ @@ -92,7 +82,7 @@ exec "$@"' > /usr/bin/nosync && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ 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 PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/containers/opensuse-leap-152.Dockerfile b/ci/containers/opensuse-leap-153.Dockerfile similarity index 88% rename from ci/containers/opensuse-leap-152.Dockerfile rename to ci/containers/opensuse-leap-153.Dockerfile index 9382ce4d..af5ba896 100644 --- a/ci/containers/opensuse-leap-152.Dockerfile +++ b/ci/containers/opensuse-leap-153.Dockerfile @@ -4,7 +4,7 @@ # # https://gitlab.com/libvirt/libvirt-ci -FROM registry.opensuse.org/opensuse/leap:15.2 +FROM registry.opensuse.org/opensuse/leap:15.3 RUN zypper update -y && \ zypper install -y \ @@ -21,19 +21,15 @@ RUN zypper update -y && \ gcc \ gcc-c++ \ git \ - glibc \ - glibc-devel \ glibc-locale \ go \ gzip \ iproute2 \ jq \ - kernel-default \ - kernel-headers \ - libcom_err-devel \ libcurl-devel \ libgnutls-devel \ libguestfs-devel \ + libnbd-devel \ libselinux-devel \ libssh-devel \ libtool \ @@ -44,13 +40,11 @@ RUN zypper update -y && \ make \ mkisofs \ ocaml \ - openssh \ perl \ perl-Pod-Simple \ perl-base \ pkgconfig \ - podman \ - python3 \ + python3-base \ python3-boto3 \ python3-devel \ python3-flake8 \ @@ -72,7 +66,7 @@ RUN zypper update -y && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ 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 PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/containers/opensuse-tumbleweed.Dockerfile b/ci/containers/opensuse-tumbleweed.Dockerfile index 4258838e..20c74655 100644 --- a/ci/containers/opensuse-tumbleweed.Dockerfile +++ b/ci/containers/opensuse-tumbleweed.Dockerfile @@ -21,16 +21,11 @@ RUN zypper dist-upgrade -y && \ gcc \ gcc-c++ \ git \ - glibc \ - glibc-devel \ glibc-locale \ go \ gzip \ iproute2 \ jq \ - kernel-default \ - kernel-headers \ - libcom_err-devel \ libcurl-devel \ libgnutls-devel \ libguestfs-devel \ @@ -45,13 +40,11 @@ RUN zypper dist-upgrade -y && \ make \ mkisofs \ ocaml \ - openssh \ perl \ perl-Pod-Simple \ perl-base \ pkgconfig \ - podman \ - python3 \ + python3-base \ python3-boto3 \ python3-devel \ python39-flake8 \ @@ -73,7 +66,7 @@ RUN zypper dist-upgrade -y && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ 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 PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/containers/ubuntu-2004.Dockerfile b/ci/containers/ubuntu-2004.Dockerfile index 4b2e0168..9e456711 100644 --- a/ci/containers/ubuntu-2004.Dockerfile +++ b/ci/containers/ubuntu-2004.Dockerfile @@ -11,61 +11,56 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get install -y eatmydata && \ eatmydata apt-get dist-upgrade -y && \ eatmydata apt-get install --no-install-recommends -y \ - autoconf \ - automake \ - bash \ - bash-completion \ - bsdmainutils \ - ca-certificates \ - cargo \ - ccache \ - clang \ - e2fsprogs \ - expect \ - fdisk \ - flake8 \ - g++ \ - gcc \ - genisoimage \ - git \ - golang \ - gzip \ - iproute2 \ - jq \ - libc-bin \ - libc6-dev \ - libcurl4-gnutls-dev \ - libgnutls28-dev \ - libguestfs-dev \ - liblzma-dev \ - libperl-dev \ - libselinux1-dev \ - libssh-dev \ - libtool-bin \ - libtorrent-dev \ - libvirt-dev \ - libzstd-dev \ - linux-image-virtual \ - linux-libc-dev \ - locales \ - lua5.3 \ - make \ - mount \ - ocaml \ - openssh-client \ - perl \ - perl-base \ - pkgconf \ - python3 \ - python3-boto3 \ - python3-dev \ - qemu-utils \ - rust-clippy \ - rustc \ - socat \ - tcl-dev \ - xz-utils \ - zlib1g-dev && \ + autoconf \ + automake \ + bash \ + bash-completion \ + bsdmainutils \ + ca-certificates \ + cargo \ + ccache \ + clang \ + e2fsprogs \ + expect \ + fdisk \ + flake8 \ + g++ \ + gcc \ + genisoimage \ + git \ + golang \ + gzip \ + iproute2 \ + jq \ + libcurl4-gnutls-dev \ + libgnutls28-dev \ + libguestfs-dev \ + liblzma-dev \ + libperl-dev \ + libselinux1-dev \ + libssh-dev \ + libtool-bin \ + libtorrent-dev \ + libvirt-dev \ + libzstd-dev \ + locales \ + lua5.3 \ + make \ + mount \ + ocaml \ + perl \ + perl-base \ + pkgconf \ + python3 \ + python3-boto3 \ + python3-dev \ + qemu-utils \ + rust-clippy \ + rustc \ + socat \ + tcl-dev \ + xz-utils \ + zlib1g-dev && \ eatmydata apt-get autoremove -y && \ eatmydata apt-get autoclean -y && \ sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ @@ -78,7 +73,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ 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 PYTHON "/usr/bin/python3" -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/gitlab.yml b/ci/gitlab.yml dissimilarity index 98% index bd3c9b46..d1cb3934 100644 --- a/ci/gitlab.yml +++ b/ci/gitlab.yml @@ -1,391 +1,81 @@ -# THIS FILE WAS AUTO-GENERATED -# -# $ lcitool manifest ci/manifest.yml -# -# https://gitlab.com/libvirt/libvirt-ci - - -.container_job: - image: docker:stable - stage: containers - needs: [] - services: - - docker:dind - before_script: - - export TAG="$CI_REGISTRY_IMAGE/ci-$NAME:latest" - - export COMMON_TAG="$CI_REGISTRY/nbdkit/nbdkit/ci-$NAME:latest" - - docker info - - docker login registry.gitlab.com -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" - script: - - docker pull "$TAG" || docker pull "$COMMON_TAG" || true - - docker build --cache-from "$TAG" --cache-from "$COMMON_TAG" --tag "$TAG" -f "ci/containers/$NAME.Dockerfile" ci/containers - - docker push "$TAG" - after_script: - - docker logout - - -.gitlab_native_build_job: - image: $CI_REGISTRY_IMAGE/ci-$NAME:latest - stage: builds - - -.gitlab_cross_build_job: - image: $CI_REGISTRY_IMAGE/ci-$NAME-cross-$CROSS:latest - stage: builds - - -.cirrus_build_job: - stage: builds - image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master - needs: [] - script: - - source ci/cirrus/$NAME.vars - - sed -e "s|[@]CI_REPOSITORY_URL@|$CI_REPOSITORY_URL|g" - -e "s|[@]CI_COMMIT_REF_NAME@|$CI_COMMIT_REF_NAME|g" - -e "s|[@]CI_COMMIT_SHA@|$CI_COMMIT_SHA|g" - -e "s|[@]CIRRUS_VM_INSTANCE_TYPE@|$CIRRUS_VM_INSTANCE_TYPE|g" - -e "s|[@]CIRRUS_VM_IMAGE_SELECTOR@|$CIRRUS_VM_IMAGE_SELECTOR|g" - -e "s|[@]CIRRUS_VM_IMAGE_NAME@|$CIRRUS_VM_IMAGE_NAME|g" - -e "s|[@]UPDATE_COMMAND@|$UPDATE_COMMAND|g" - -e "s|[@]UPGRADE_COMMAND@|$UPGRADE_COMMAND|g" - -e "s|[@]INSTALL_COMMAND@|$INSTALL_COMMAND|g" - -e "s|[@]PATH@|$PATH_EXTRA${PATH_EXTRA:+:}\$PATH|g" - -e "s|[@]PKG_CONFIG_PATH@|$PKG_CONFIG_PATH|g" - -e "s|[@]PKGS@|$PKGS|g" - -e "s|[@]MAKE@|$MAKE|g" - -e "s|[@]PYTHON@|$PYTHON|g" - -e "s|[@]PIP3@|$PIP3|g" - -e "s|[@]PYPI_PKGS@|$PYPI_PKGS|g" - -e "s|[@]XML_CATALOG_FILES@|$XML_CATALOG_FILES|g" - ci/cirrus/$NAME.yml - - cat ci/cirrus/$NAME.yml - - cirrus-run -v --show-build-log always ci/cirrus/$NAME.yml - rules: - - if: "$CIRRUS_GITHUB_REPO && $CIRRUS_API_TOKEN" - - -# Native container jobs - -x86_64-almalinux-8-container: - extends: .container_job - allow_failure: false - variables: - NAME: almalinux-8 - - -x86_64-alpine-314-container: - extends: .container_job - allow_failure: false - variables: - NAME: alpine-314 - - -x86_64-alpine-edge-container: - extends: .container_job - allow_failure: false - variables: - NAME: alpine-edge - - -x86_64-centos-stream-8-container: - extends: .container_job - allow_failure: false - variables: - NAME: centos-stream-8 - - -x86_64-debian-10-container: - extends: .container_job - allow_failure: false - variables: - NAME: debian-10 - - -x86_64-debian-11-container: - extends: .container_job - allow_failure: false - variables: - NAME: debian-11 - - -x86_64-debian-sid-container: - extends: .container_job - allow_failure: false - variables: - NAME: debian-sid - - -x86_64-fedora-35-container: - extends: .container_job - allow_failure: false - variables: - NAME: fedora-35 - - -x86_64-fedora-rawhide-container: - extends: .container_job - allow_failure: false - variables: - NAME: fedora-rawhide - - -x86_64-opensuse-leap-152-container: - extends: .container_job - allow_failure: false - variables: - NAME: opensuse-leap-152 - - -x86_64-opensuse-tumbleweed-container: - extends: .container_job - allow_failure: false - variables: - NAME: opensuse-tumbleweed - - -x86_64-ubuntu-2004-container: - extends: .container_job - allow_failure: false - variables: - NAME: ubuntu-2004 - - - -# Cross container jobs - -mingw32-fedora-35-container: - extends: .container_job - allow_failure: false - variables: - NAME: fedora-35-cross-mingw32 - - -mingw64-fedora-35-container: - extends: .container_job - allow_failure: false - variables: - NAME: fedora-35-cross-mingw64 - - -# Native build jobs - -x86_64-almalinux-8: - extends: .native_build_job - needs: - - x86_64-almalinux-8-container - allow_failure: false - variables: - NAME: almalinux-8 - - -x86_64-almalinux-8-clang: - extends: .native_build_job - needs: - - x86_64-almalinux-8-container - allow_failure: false - variables: - CC: clang - NAME: almalinux-8 - PERL: skip - - -x86_64-alpine-314: - extends: .native_build_job - needs: - - x86_64-alpine-314-container - allow_failure: false - variables: - GOLANG: skip - NAME: alpine-314 - - -x86_64-alpine-edge: - extends: .native_build_job - needs: - - x86_64-alpine-edge-container - allow_failure: false - variables: - GOLANG: skip - NAME: alpine-edge - - -x86_64-centos-stream-8: - extends: .native_build_job - needs: - - x86_64-centos-stream-8-container - allow_failure: false - variables: - NAME: centos-stream-8 - - -x86_64-debian-10: - extends: .native_build_job - needs: - - x86_64-debian-10-container - allow_failure: false - variables: - NAME: debian-10 - RUST: skip - - -x86_64-debian-11: - extends: .native_build_job - needs: - - x86_64-debian-11-container - allow_failure: false - variables: - NAME: debian-11 - - -x86_64-debian-sid: - extends: .native_build_job - needs: - - x86_64-debian-sid-container - allow_failure: false - variables: - NAME: debian-sid - - -x86_64-fedora-35: - extends: .native_build_job - needs: - - x86_64-fedora-35-container - allow_failure: false - variables: - NAME: fedora-35 - - -x86_64-fedora-rawhide: - extends: .native_build_job - needs: - - x86_64-fedora-rawhide-container - allow_failure: false - variables: - NAME: fedora-rawhide - - -x86_64-fedora-rawhide-clang: - extends: .native_build_job - needs: - - x86_64-fedora-rawhide-container - allow_failure: false - variables: - CC: clang - NAME: fedora-rawhide - PERL: skip - - -x86_64-opensuse-leap-152: - extends: .native_build_job - needs: - - x86_64-opensuse-leap-152-container - allow_failure: false - variables: - NAME: opensuse-leap-152 - - -x86_64-opensuse-tumbleweed: - extends: .native_build_job - needs: - - x86_64-opensuse-tumbleweed-container - allow_failure: false - variables: - NAME: opensuse-tumbleweed - - -x86_64-ubuntu-2004: - extends: .native_build_job - needs: - - x86_64-ubuntu-2004-container - allow_failure: false - variables: - NAME: ubuntu-2004 - - - -# Cross build jobs - -mingw32-fedora-35: - extends: .cross_build_job - needs: - - mingw32-fedora-35-container - allow_failure: false - variables: - CROSS: mingw32 - GOLANG: skip - NAME: fedora-35 - PERL: skip - RUST: skip - - -mingw64-fedora-35: - extends: .cross_build_job - needs: - - mingw64-fedora-35-container - allow_failure: false - variables: - CROSS: mingw64 - GOLANG: skip - NAME: fedora-35 - PERL: skip - RUST: skip - - -# Native cirrus build jobs - -x86_64-freebsd-12: - extends: .cirrus_build_job - needs: [] - allow_failure: true - variables: - CIRRUS_VM_IMAGE_NAME: freebsd-12-2 - CIRRUS_VM_IMAGE_SELECTOR: image_family - CIRRUS_VM_INSTANCE_TYPE: freebsd_instance - INSTALL_COMMAND: pkg install -y - NAME: freebsd-12 - UPDATE_COMMAND: pkg update - UPGRADE_COMMAND: pkg upgrade -y - - -x86_64-freebsd-13: - extends: .cirrus_build_job - needs: [] - allow_failure: true - variables: - CIRRUS_VM_IMAGE_NAME: freebsd-13-0 - CIRRUS_VM_IMAGE_SELECTOR: image_family - CIRRUS_VM_INSTANCE_TYPE: freebsd_instance - INSTALL_COMMAND: pkg install -y - NAME: freebsd-13 - UPDATE_COMMAND: pkg update - UPGRADE_COMMAND: pkg upgrade -y - - -x86_64-freebsd-current: - extends: .cirrus_build_job - needs: [] - allow_failure: true - variables: - CIRRUS_VM_IMAGE_NAME: freebsd-13-0-snap - CIRRUS_VM_IMAGE_SELECTOR: image_family - CIRRUS_VM_INSTANCE_TYPE: freebsd_instance - INSTALL_COMMAND: pkg install -y - NAME: freebsd-current - UPDATE_COMMAND: pkg update - UPGRADE_COMMAND: pkg upgrade -y - - -x86_64-macos-11: - extends: .cirrus_build_job - needs: [] - allow_failure: true - variables: - CIRRUS_VM_IMAGE_NAME: big-sur-base - CIRRUS_VM_IMAGE_SELECTOR: image - CIRRUS_VM_INSTANCE_TYPE: osx_instance - INSTALL_COMMAND: brew install - NAME: macos-11 - PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin:/usr/local/opt/libpcap/bin:/usr/local/opt/libxslt/bin:/usr/local/opt/rpcgen/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 - UPDATE_COMMAND: brew update - UPGRADE_COMMAND: brew upgrade +# THIS FILE WAS AUTO-GENERATED +# +# $ lcitool manifest ci/manifest.yml +# +# https://gitlab.com/libvirt/libvirt-ci + + +# Variables that can be set to control the behaviour of +# pipelines that are run +# +# - RUN_PIPELINE - force creation of a CI pipeline when +# pushing to a branch in a forked repository. Official +# CI pipelines are triggered when merge requests are +# created/updated. Setting this variable to a non-empty +# value allows CI testing prior to opening a merge request. +# +# - 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 +# re-publishing, even when no file changes are detected. +# Typically to use from a scheduled job once a month. +# +# - RUN_UPSTREAM_NAMESPACE - the upstream namespace is +# configured to default to 'nbdkit'. When testing +# changes to CI it might be useful to use a different +# upstream. Setting this variable will override the +# namespace considered to be upstream. +# +# These can be set as git push options +# +# $ git push -o ci.variable=RUN_PIPELINE=1 +# +# Aliases can be set for common usage +# +# $ git config --local alias.push-ci "push -o ci.variable=RUN_PIPELINE=1" +# +# Allowing the less verbose invocation +# +# $ git push-ci +# +# Pipeline variables can also be set in the repository +# pipeline config globally, or set against scheduled pipelines + + +variables: + RUN_UPSTREAM_NAMESPACE: nbdkit + + +workflow: + rules: + # upstream+forks: Avoid duplicate pipelines on pushes, if a MR is open + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_OPEN_MERGE_REQUESTS' + when: never + + # upstream+forks: Avoid pipelines on tag pushes + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_TAG' + when: never + + # upstream+forks: Allow pipelines in scenarios we've figured out job rules + - if: '$CI_PIPELINE_SOURCE =~ /^(push|merge_request_event|api|web|schedule)$/' + when: always + + # upstream+forks: Avoid all other pipelines + - when: never + + +debug: + image: docker.io/library/alpine:3 + stage: sanity_checks + needs: [] + script: + - printenv | sort + rules: + - if: '$RUN_DEBUG' + when: always + +include: + - local: '/ci/gitlab/container-templates.yml' + - local: '/ci/gitlab/build-templates.yml' + - local: '/ci/gitlab/containers.yml' + - local: '/ci/gitlab/builds.yml' diff --git a/ci/gitlab/build-templates.yml b/ci/gitlab/build-templates.yml new file mode 100644 index 00000000..8c56851f --- /dev/null +++ b/ci/gitlab/build-templates.yml @@ -0,0 +1,285 @@ +# THIS FILE WAS AUTO-GENERATED +# +# $ lcitool manifest ci/manifest.yml +# +# https://gitlab.com/libvirt/libvirt-ci + + +# +# We use pre-built containers for any pipelines that are: +# +# - Validating code committed on default upstream branch +# - Validating patches targetting 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 +# include CI changes +# - Validating code committed to a fork branch +# +# Note: the rules across the prebuilt_env and local_env templates +# should be logical inverses, such that jobs are mutually exclusive +# +.gitlab_native_build_job_prebuilt_env: + image: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/nbdkit/ci-$NAME:latest + stage: builds + before_script: + - cat /packages.txt + rules: + # 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 + allow_failure: true + - 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 + - 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 + - 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 + + # forks: other web/api/scheduled pipelines + - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $JOB_OPTIONAL' + when: manual + allow_failure: true + - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/' + when: on_success + + # 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 + + # upstream+forks: that's all folks + - when: never + + +# +# We use pre-built containers for any pipelines that are: +# +# - Validating code committed on default upstream branch +# - Validating patches targetting 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 +# include CI changes +# - Validating code committed to a fork branch +# +# Note: the rules across the prebuilt_env and local_env templates +# should be logical inverses, such that jobs are mutually exclusive +# +.gitlab_cross_build_job_prebuilt_env: + image: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/nbdkit/ci-$NAME-cross-$CROSS:latest + stage: builds + before_script: + - cat /packages.txt + rules: + # 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 + allow_failure: true + - 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 + - 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 + - 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 + + # forks: other web/api/scheduled pipelines + - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $JOB_OPTIONAL' + when: manual + allow_failure: true + - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/' + when: on_success + + # 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 + + # upstream+forks: that's all folks + - when: never + + +.cirrus_build_job: + stage: builds + image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master + needs: [] + script: + - source ci/cirrus/$NAME.vars + - sed -e "s|[@]CI_REPOSITORY_URL@|$CI_REPOSITORY_URL|g" + -e "s|[@]CI_COMMIT_REF_NAME@|$CI_COMMIT_REF_NAME|g" + -e "s|[@]CI_COMMIT_SHA@|$CI_COMMIT_SHA|g" + -e "s|[@]CIRRUS_VM_INSTANCE_TYPE@|$CIRRUS_VM_INSTANCE_TYPE|g" + -e "s|[@]CIRRUS_VM_IMAGE_SELECTOR@|$CIRRUS_VM_IMAGE_SELECTOR|g" + -e "s|[@]CIRRUS_VM_IMAGE_NAME@|$CIRRUS_VM_IMAGE_NAME|g" + -e "s|[@]UPDATE_COMMAND@|$UPDATE_COMMAND|g" + -e "s|[@]UPGRADE_COMMAND@|$UPGRADE_COMMAND|g" + -e "s|[@]INSTALL_COMMAND@|$INSTALL_COMMAND|g" + -e "s|[@]PATH@|$PATH_EXTRA${PATH_EXTRA:+:}\$PATH|g" + -e "s|[@]PKG_CONFIG_PATH@|$PKG_CONFIG_PATH|g" + -e "s|[@]PKGS@|$PKGS|g" + -e "s|[@]MAKE@|$MAKE|g" + -e "s|[@]PYTHON@|$PYTHON|g" + -e "s|[@]PIP3@|$PIP3|g" + -e "s|[@]PYPI_PKGS@|$PYPI_PKGS|g" + -e "s|[@]XML_CATALOG_FILES@|$XML_CATALOG_FILES|g" + ci/cirrus/$NAME.yml + - cat ci/cirrus/$NAME.yml + - cirrus-run -v --show-build-log always ci/cirrus/$NAME.yml + rules: + # upstream+forks: Can't run unless Cirrus is configured + - if: '$CIRRUS_GITHUB_REPO == null || $CIRRUS_API_TOKEN == null' + when: never + + # upstream: pushes to branches + - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $JOB_OPTIONAL' + when: manual + allow_failure: true + - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push"' + 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 + - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE' + when: on_success + + # upstream+forks: Run pipelines on MR, web, api & scheduled + - if: '$CI_PIPELINE_SOURCE =~ /(web|api|schedule|merge_request_event)/ && $JOB_OPTIONAL' + when: manual + allow_failure: true + - if: '$CI_PIPELINE_SOURCE =~ /(web|api|schedule|merge_request_event)/' + when: on_success + + # upstream+forks: that's all folks + - when: never diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml new file mode 100644 index 00000000..b8793a5a --- /dev/null +++ b/ci/gitlab/builds.yml @@ -0,0 +1,388 @@ +# THIS FILE WAS AUTO-GENERATED +# +# $ lcitool manifest ci/manifest.yml +# +# https://gitlab.com/libvirt/libvirt-ci + + +# Native build jobs + +x86_64-almalinux-8-prebuilt-env: + extends: .native_build_job_prebuilt_env + needs: + - job: x86_64-almalinux-8-container + optional: true + allow_failure: false + variables: + NAME: almalinux-8 + +x86_64-almalinux-8-local-env: + extends: .native_build_job_local_env + needs: [] + allow_failure: false + variables: + IMAGE: docker.io/library/almalinux:8 + NAME: almalinux-8 + + +x86_64-almalinux-8-clang-prebuilt-env: + extends: .native_build_job_prebuilt_env + needs: + - job: x86_64-almalinux-8-container + optional: true + allow_failure: false + variables: + CC: clang + NAME: almalinux-8 + PERL: skip + +x86_64-almalinux-8-clang-local-env: + extends: .native_build_job_local_env + needs: [] + allow_failure: false + variables: + CC: clang + IMAGE: docker.io/library/almalinux:8 + NAME: almalinux-8 + PERL: skip + + +x86_64-alpine-315-prebuilt-env: + extends: .native_build_job_prebuilt_env + needs: + - job: x86_64-alpine-315-container + optional: true + allow_failure: false + variables: + GOLANG: skip + NAME: alpine-315 + +x86_64-alpine-315-local-env: + extends: .native_build_job_local_env + needs: [] + allow_failure: false + variables: + GOLANG: skip + IMAGE: docker.io/library/alpine:3.15 + NAME: alpine-315 + + +x86_64-alpine-edge-prebuilt-env: + extends: .native_build_job_prebuilt_env + needs: + - job: x86_64-alpine-edge-container + optional: true + allow_failure: false + variables: + GOLANG: skip + NAME: alpine-edge + +x86_64-alpine-edge-local-env: + extends: .native_build_job_local_env + needs: [] + allow_failure: false + variables: + GOLANG: skip + IMAGE: docker.io/library/alpine:edge + NAME: alpine-edge + + +x86_64-centos-stream-8-prebuilt-env: + extends: .native_build_job_prebuilt_env + needs: + - job: x86_64-centos-stream-8-container + optional: true + allow_failure: false + variables: + NAME: centos-stream-8 + +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 + + +x86_64-debian-10-prebuilt-env: + extends: .native_build_job_prebuilt_env + needs: + - job: x86_64-debian-10-container + optional: true + allow_failure: false + variables: + NAME: debian-10 + RUST: skip + +x86_64-debian-10-local-env: + extends: .native_build_job_local_env + needs: [] + allow_failure: false + variables: + IMAGE: docker.io/library/debian:10-slim + NAME: debian-10 + RUST: skip + + +x86_64-debian-11-prebuilt-env: + extends: .native_build_job_prebuilt_env + needs: + - job: x86_64-debian-11-container + optional: true + allow_failure: false + variables: + NAME: debian-11 + +x86_64-debian-11-local-env: + extends: .native_build_job_local_env + needs: [] + allow_failure: false + variables: + IMAGE: docker.io/library/debian:11-slim + NAME: debian-11 + + +x86_64-debian-sid-prebuilt-env: + extends: .native_build_job_prebuilt_env + needs: + - job: x86_64-debian-sid-container + optional: true + allow_failure: false + variables: + NAME: debian-sid + +x86_64-debian-sid-local-env: + extends: .native_build_job_local_env + needs: [] + allow_failure: false + variables: + IMAGE: docker.io/library/debian:sid-slim + NAME: debian-sid + + +x86_64-fedora-35-prebuilt-env: + extends: .native_build_job_prebuilt_env + needs: + - job: x86_64-fedora-35-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 + + +x86_64-fedora-rawhide-prebuilt-env: + extends: .native_build_job_prebuilt_env + needs: + - job: x86_64-fedora-rawhide-container + optional: true + allow_failure: false + variables: + NAME: fedora-rawhide + +x86_64-fedora-rawhide-local-env: + extends: .native_build_job_local_env + needs: [] + allow_failure: false + variables: + IMAGE: registry.fedoraproject.org/fedora:rawhide + NAME: fedora-rawhide + + +x86_64-fedora-rawhide-clang-prebuilt-env: + extends: .native_build_job_prebuilt_env + needs: + - job: x86_64-fedora-rawhide-container + optional: true + allow_failure: false + variables: + CC: clang + NAME: fedora-rawhide + PERL: skip + +x86_64-fedora-rawhide-clang-local-env: + extends: .native_build_job_local_env + needs: [] + allow_failure: false + variables: + CC: clang + IMAGE: registry.fedoraproject.org/fedora:rawhide + NAME: fedora-rawhide + PERL: skip + + +x86_64-opensuse-leap-153-prebuilt-env: + extends: .native_build_job_prebuilt_env + needs: + - job: x86_64-opensuse-leap-153-container + optional: true + allow_failure: false + variables: + NAME: opensuse-leap-153 + +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 + + +x86_64-opensuse-tumbleweed-prebuilt-env: + extends: .native_build_job_prebuilt_env + needs: + - job: x86_64-opensuse-tumbleweed-container + optional: true + allow_failure: false + variables: + NAME: opensuse-tumbleweed + +x86_64-opensuse-tumbleweed-local-env: + extends: .native_build_job_local_env + needs: [] + allow_failure: false + variables: + IMAGE: registry.opensuse.org/opensuse/tumbleweed:latest + NAME: opensuse-tumbleweed + + +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 + + + +# Cross build jobs + +mingw32-fedora-35-prebuilt-env: + extends: .cross_build_job_prebuilt_env + needs: + - job: mingw32-fedora-35-container + optional: true + allow_failure: false + variables: + CROSS: mingw32 + GOLANG: skip + NAME: fedora-35 + PERL: skip + RUST: skip + +mingw32-fedora-35-local-env: + extends: .cross_build_job_local_env + needs: [] + allow_failure: false + variables: + CROSS: mingw32 + GOLANG: skip + IMAGE: registry.fedoraproject.org/fedora:35 + NAME: fedora-35 + PERL: skip + RUST: skip + + +mingw64-fedora-35-prebuilt-env: + extends: .cross_build_job_prebuilt_env + needs: + - job: mingw64-fedora-35-container + optional: true + allow_failure: false + variables: + CROSS: mingw64 + GOLANG: skip + NAME: fedora-35 + PERL: skip + RUST: skip + +mingw64-fedora-35-local-env: + extends: .cross_build_job_local_env + needs: [] + allow_failure: false + variables: + CROSS: mingw64 + GOLANG: skip + IMAGE: registry.fedoraproject.org/fedora:35 + NAME: fedora-35 + PERL: skip + RUST: skip + + +# Native cirrus build jobs + +x86_64-freebsd-12: + extends: .cirrus_build_job + needs: [] + allow_failure: true + variables: + CIRRUS_VM_IMAGE_NAME: freebsd-12-3 + CIRRUS_VM_IMAGE_SELECTOR: image_family + CIRRUS_VM_INSTANCE_TYPE: freebsd_instance + INSTALL_COMMAND: pkg install -y + NAME: freebsd-12 + UPDATE_COMMAND: pkg update + UPGRADE_COMMAND: pkg upgrade -y + + +x86_64-freebsd-13: + extends: .cirrus_build_job + needs: [] + allow_failure: true + variables: + CIRRUS_VM_IMAGE_NAME: freebsd-13-1 + CIRRUS_VM_IMAGE_SELECTOR: image_family + CIRRUS_VM_INSTANCE_TYPE: freebsd_instance + INSTALL_COMMAND: pkg install -y + NAME: freebsd-13 + UPDATE_COMMAND: pkg update + UPGRADE_COMMAND: pkg upgrade -y + + +x86_64-freebsd-current: + extends: .cirrus_build_job + needs: [] + allow_failure: true + variables: + CIRRUS_VM_IMAGE_NAME: freebsd-13-0-snap + CIRRUS_VM_IMAGE_SELECTOR: image_family + CIRRUS_VM_INSTANCE_TYPE: freebsd_instance + INSTALL_COMMAND: pkg install -y + NAME: freebsd-current + UPDATE_COMMAND: pkg update + UPGRADE_COMMAND: pkg upgrade -y + + +x86_64-macos-11: + extends: .cirrus_build_job + needs: [] + allow_failure: true + variables: + CIRRUS_VM_IMAGE_NAME: big-sur-base + CIRRUS_VM_IMAGE_SELECTOR: image + CIRRUS_VM_INSTANCE_TYPE: osx_instance + INSTALL_COMMAND: brew install + NAME: macos-11 + PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin:/usr/local/opt/libpcap/bin:/usr/local/opt/libxslt/bin:/usr/local/opt/rpcgen/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 + UPDATE_COMMAND: brew update + UPGRADE_COMMAND: brew upgrade diff --git a/ci/gitlab/container-templates.yml b/ci/gitlab/container-templates.yml new file mode 100644 index 00000000..a577028d --- /dev/null +++ b/ci/gitlab/container-templates.yml @@ -0,0 +1,44 @@ +# THIS FILE WAS AUTO-GENERATED +# +# $ lcitool manifest ci/manifest.yml +# +# https://gitlab.com/libvirt/libvirt-ci + + +# We want to publish containers with tag 'latest': +# +# - In upstream, for push to default branch with CI changes. +# - In upstream, on request, for scheduled/manual pipelines +# against default branch +# +# Note: never publish from merge requests since they have non-committed code +# +.container_job: + image: docker:stable + stage: containers + needs: [] + services: + - docker:dind + before_script: + - export TAG="$CI_REGISTRY_IMAGE/ci-$NAME:latest" + - docker info + - docker login "$CI_REGISTRY" -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" + script: + - docker build --tag "$TAG" -f "ci/containers/$NAME.Dockerfile" ci/containers ; + - docker push "$TAG" + after_script: + - docker logout + rules: + # upstream: publish containers if there were CI changes on the default branch + - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' + when: on_success + changes: + - ci/gitlab/container-templates.yml + - ci/containers/$NAME.Dockerfile + + # upstream: allow force re-publishing containers on default branch for web/api/scheduled pipelines + - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $RUN_CONTAINER_BUILDS == "1"' + when: on_success + + # upstream+forks: that's all folks + - when: never diff --git a/ci/gitlab/containers.yml b/ci/gitlab/containers.yml new file mode 100644 index 00000000..d812baea --- /dev/null +++ b/ci/gitlab/containers.yml @@ -0,0 +1,108 @@ +# THIS FILE WAS AUTO-GENERATED +# +# $ lcitool manifest ci/manifest.yml +# +# https://gitlab.com/libvirt/libvirt-ci + + +# Native container jobs + +x86_64-almalinux-8-container: + extends: .container_job + allow_failure: false + variables: + NAME: almalinux-8 + + +x86_64-alpine-315-container: + extends: .container_job + allow_failure: false + variables: + NAME: alpine-315 + + +x86_64-alpine-edge-container: + extends: .container_job + allow_failure: false + variables: + NAME: alpine-edge + + +x86_64-centos-stream-8-container: + extends: .container_job + allow_failure: false + variables: + NAME: centos-stream-8 + + +x86_64-debian-10-container: + extends: .container_job + allow_failure: false + variables: + NAME: debian-10 + + +x86_64-debian-11-container: + extends: .container_job + allow_failure: false + variables: + NAME: debian-11 + + +x86_64-debian-sid-container: + extends: .container_job + allow_failure: false + variables: + NAME: debian-sid + + +x86_64-fedora-35-container: + extends: .container_job + allow_failure: false + variables: + NAME: fedora-35 + + +x86_64-fedora-rawhide-container: + extends: .container_job + allow_failure: false + variables: + NAME: fedora-rawhide + + +x86_64-opensuse-leap-153-container: + extends: .container_job + allow_failure: false + variables: + NAME: opensuse-leap-153 + + +x86_64-opensuse-tumbleweed-container: + extends: .container_job + allow_failure: false + variables: + NAME: opensuse-tumbleweed + + +x86_64-ubuntu-2004-container: + extends: .container_job + allow_failure: false + variables: + NAME: ubuntu-2004 + + + +# Cross container jobs + +mingw32-fedora-35-container: + extends: .container_job + allow_failure: false + variables: + NAME: fedora-35-cross-mingw32 + + +mingw64-fedora-35-container: + extends: .container_job + allow_failure: false + variables: + NAME: fedora-35-cross-mingw64 diff --git a/ci/manifest.yml b/ci/manifest.yml index d152c544..57442b1a 100644 --- a/ci/manifest.yml +++ b/ci/manifest.yml @@ -18,7 +18,7 @@ targets: CC: clang PERL: skip - alpine-314: + alpine-315: jobs: - arch: x86_64 variables: @@ -91,7 +91,7 @@ targets: # Remove when Cirrus CI starts working again and we can fix the build allow-failure: true - opensuse-leap-152: x86_64 + opensuse-leap-153: x86_64 opensuse-tumbleweed: x86_64 -- 2.11.4.GIT