Apart from other changes this fixes failures with builds on FreeBSD.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
NINJA='/usr/local/bin/ninja'
PACKAGING_COMMAND='pkg'
PIP3='/usr/local/bin/pip-3.8'
-PKGS='augeas bash-completion ca_root_nss ccache codespell cppi curl cyrus-sasl diffutils diskscrub fusefs-libs gettext git glib gmake gnugrep gnutls gsed libpcap libpciaccess libssh libssh2 libxml2 libxslt meson ninja perl5 pkgconf polkit py38-docutils py38-flake8 python3 qemu readline yajl'
+PKGS='augeas bash-completion ca_root_nss ccache codespell cppi curl cyrus-sasl diffutils diskscrub fusefs-libs gettext git glib gmake gnugrep gnutls gsed libpcap libpciaccess libssh libssh2 libxml2 libxslt meson ninja perl5 pkgconf polkit py39-docutils py39-flake8 python3 qemu readline yajl'
PYPI_PKGS=''
PYTHON='/usr/local/bin/python3'
NINJA='/usr/local/bin/ninja'
PACKAGING_COMMAND='pkg'
PIP3='/usr/local/bin/pip-3.8'
-PKGS='augeas bash-completion ca_root_nss ccache codespell cppi curl cyrus-sasl diffutils diskscrub fusefs-libs gettext git glib gmake gnugrep gnutls gsed libpcap libpciaccess libssh libssh2 libxml2 libxslt meson ninja perl5 pkgconf polkit py38-docutils py38-flake8 python3 qemu readline yajl'
+PKGS='augeas bash-completion ca_root_nss ccache codespell cppi curl cyrus-sasl diffutils diskscrub fusefs-libs gettext git glib gmake gnugrep gnutls gsed libpcap libpciaccess libssh libssh2 libxml2 libxslt meson ninja perl5 pkgconf polkit py39-docutils py39-flake8 python3 qemu readline yajl'
PYPI_PKGS=''
PYTHON='/usr/local/bin/python3'
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 \
audit-libs-devel \
augeas \
RUN dnf distro-sync -y && \
dnf install 'dnf-command(config-manager)' -y && \
dnf config-manager --set-enabled -y crb && \
- dnf install -y \
- https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
- https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm && \
+ dnf install -y epel-release && \
+ dnf install -y epel-next-release && \
dnf install -y \
audit-libs-devel \
augeas \
bash-completion \
ca-certificates \
+ ccache \
clang \
cpp \
cyrus-sasl-devel \
librbd-devel \
libselinux-devel \
libssh-devel \
+ libssh2-devel \
libtirpc-devel \
libwsman-devel \
libxml2 \
yajl-devel && \
dnf autoremove -y && \
dnf clean all -y && \
- rpm -qa | sort > /packages.txt
+ rpm -qa | sort > /packages.txt && \
+ mkdir -p /usr/libexec/ccache-wrappers && \
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
ENV NINJA "/usr/bin/ninja"
ENV PYTHON "/usr/bin/python3"
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
#
# https://gitlab.com/libvirt/libvirt-ci
+
+# Variables that can be set to control the behaviour of
+# pipelines that are run
+#
+# - RUN_ALL_CONTAINERS - build all containers
+# even if they don't have any changes detected
+#
+# These can be set as git push options
+#
+# $ git push -o ci.variable=RUN_ALL_CONTAINERS=1
+#
+# Aliases can be set for common usage
+#
+# $ git config --local alias.push-all-ctr "push -o ci.variable=RUN_ALL_CONTAINERS=1"
+#
+# Allowing the less verbose invokation
+#
+# $ git push-all-ctr
+#
+# Pipeline variables can also be set in the repository
+# pipeline config globally, or set against scheduled pipelines
+
include:
- local: '/ci/gitlab/container-templates.yml'
- local: '/ci/gitlab/build-templates.yml'
image: $CI_REGISTRY_IMAGE/ci-$NAME:latest
stage: builds
rules:
- - if: '$LIBVIRT_JOB_OPTIONAL'
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+ when: never
+ - if: '$JOB_OPTIONAL'
when: manual
allow_failure: true
- when: on_success
image: $CI_REGISTRY_IMAGE/ci-$NAME-cross-$CROSS:latest
stage: builds
rules:
- - if: '$LIBVIRT_JOB_OPTIONAL'
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+ when: never
+ - if: '$JOB_OPTIONAL'
when: manual
allow_failure: true
- when: on_success
- cat ci/cirrus/$NAME.yml
- cirrus-run -v --show-build-log always ci/cirrus/$NAME.yml
rules:
- - if: "$CIRRUS_GITHUB_REPO == null || $CIRRUS_API_TOKEN == null"
+ - if: '$CIRRUS_GITHUB_REPO == null || $CIRRUS_API_TOKEN == null'
when: never
- - if: '$LIBVIRT_JOB_OPTIONAL'
+ - if: '$JOB_OPTIONAL'
when: manual
allow_failure: true
- when: on_success
optional: true
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: almalinux-8
RPM: skip
optional: true
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: alpine-315
optional: true
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11
optional: true
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: ubuntu-2204
allow_failure: true
variables:
CROSS: aarch64
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-10
allow_failure: true
variables:
CROSS: armv6l
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-10
allow_failure: true
variables:
CROSS: i686
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-10
allow_failure: true
variables:
CROSS: mips
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-10
allow_failure: true
variables:
CROSS: mips64el
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-10
allow_failure: true
variables:
CROSS: mipsel
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-10
allow_failure: true
variables:
CROSS: ppc64le
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-10
allow_failure: true
variables:
CROSS: s390x
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-10
allow_failure: false
variables:
CROSS: aarch64
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11
allow_failure: false
variables:
CROSS: armv6l
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11
allow_failure: false
variables:
CROSS: armv7l
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11
allow_failure: false
variables:
CROSS: i686
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11
allow_failure: false
variables:
CROSS: mips64el
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11
allow_failure: false
variables:
CROSS: mipsel
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11
allow_failure: false
variables:
CROSS: ppc64le
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11
allow_failure: false
variables:
CROSS: s390x
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11
allow_failure: false
variables:
CROSS: aarch64
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid
allow_failure: false
variables:
CROSS: armv6l
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid
allow_failure: false
variables:
CROSS: armv7l
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid
allow_failure: false
variables:
CROSS: i686
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid
allow_failure: false
variables:
CROSS: mips64el
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid
allow_failure: false
variables:
CROSS: mipsel
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid
allow_failure: false
variables:
CROSS: ppc64le
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid
allow_failure: false
variables:
CROSS: s390x
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid
allow_failure: false
variables:
CROSS: mingw32
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: fedora-36
allow_failure: true
variables:
CROSS: mingw64
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: fedora-rawhide
# - Push to default branch:
# -> rebuild if dockerfile changed, no cache
# - Otherwise
-# -> rebuild if LIBVIRT_CI_CONTAINERS=1, no cache,
+# -> rebuild if RUN_ALL_CONTAINERS=1, no cache,
# to pick up new published distro packages or
# recover from deleted tag
#
after_script:
- docker logout
rules:
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+ when: never
- if: '$CI_PROJECT_NAMESPACE == "libvirt" && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: on_success
changes:
- ci/gitlab/container-templates.yml
- ci/containers/$NAME.Dockerfile
- - if: '$CI_PROJECT_NAMESPACE == "libvirt" && $LIBVIRT_CI_CONTAINERS == "1"'
+ - if: '$CI_PROJECT_NAMESPACE == "libvirt" && $RUN_ALL_CONTAINERS == "1"'
when: on_success
- if: '$CI_PROJECT_NAMESPACE == "libvirt"'
when: never
- - if: '$LIBVIRT_JOB_OPTIONAL'
+ - if: '$JOB_OPTIONAL'
when: manual
allow_failure: true
- when: on_success
extends: .container_job
allow_failure: false
variables:
+ JOB_OPTIONAL: 1
NAME: alpine-315
extends: .container_job
allow_failure: true
variables:
+ JOB_OPTIONAL: 1
NAME: debian-10-cross-aarch64
extends: .container_job
allow_failure: true
variables:
+ JOB_OPTIONAL: 1
NAME: debian-10-cross-armv6l
extends: .container_job
allow_failure: true
variables:
+ JOB_OPTIONAL: 1
NAME: debian-10-cross-i686
extends: .container_job
allow_failure: true
variables:
+ JOB_OPTIONAL: 1
NAME: debian-10-cross-mips
extends: .container_job
allow_failure: true
variables:
+ JOB_OPTIONAL: 1
NAME: debian-10-cross-mips64el
extends: .container_job
allow_failure: true
variables:
+ JOB_OPTIONAL: 1
NAME: debian-10-cross-mipsel
extends: .container_job
allow_failure: true
variables:
+ JOB_OPTIONAL: 1
NAME: debian-10-cross-ppc64le
extends: .container_job
allow_failure: true
variables:
+ JOB_OPTIONAL: 1
NAME: debian-10-cross-s390x
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11-cross-aarch64
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11-cross-armv6l
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11-cross-armv7l
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11-cross-i686
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11-cross-mips64el
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11-cross-mipsel
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11-cross-ppc64le
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-11-cross-s390x
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid-cross-aarch64
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid-cross-armv6l
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid-cross-armv7l
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid-cross-i686
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid-cross-mips64el
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid-cross-mipsel
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid-cross-ppc64le
extends: .container_job
allow_failure: false
variables:
- LIBVIRT_JOB_OPTIONAL: 1
+ JOB_OPTIONAL: 1
NAME: debian-sid-cross-s390x
extends: .container_job
allow_failure: false
variables:
+ JOB_OPTIONAL: 1
NAME: fedora-36-cross-mingw32
extends: .container_job
allow_failure: true
variables:
+ JOB_OPTIONAL: 1
NAME: fedora-rawhide-cross-mingw64