[libvirt PATCH 0/4] ci: Drop Fedora 34, add Fedora 36

Test pipeline: https://gitlab.com/abologna/libvirt/-/pipelines/548549670 Matching libvirt-perl MR, needed because the integration tests download artifacts from there: https://gitlab.com/libvirt/libvirt-perl/-/merge_requests/63 Andrea Bolognani (4): ci: Drop Fedora 34 ci: Refresh generated files ci: Add Fedora 36 ci: Move nonstandard jobs from Fedora 35 to Fedora 36 ...ile => fedora-36-cross-mingw32.Dockerfile} | 2 +- ...ile => fedora-36-cross-mingw64.Dockerfile} | 2 +- ...ora-34.Dockerfile => fedora-36.Dockerfile} | 3 +- ci/gitlab.yml | 767 +----------------- ci/gitlab/build-templates.yml | 45 + ci/gitlab/builds.yml | 402 +++++++++ ci/gitlab/container-templates.yml | 52 ++ ci/gitlab/containers.yml | 325 ++++++++ ci/gitlab/sanity-checks.yml | 18 + ci/integration.yml | 22 +- ci/manifest.yml | 10 +- 11 files changed, 864 insertions(+), 784 deletions(-) rename ci/containers/{fedora-35-cross-mingw32.Dockerfile => fedora-36-cross-mingw32.Dockerfile} (98%) rename ci/containers/{fedora-35-cross-mingw64.Dockerfile => fedora-36-cross-mingw64.Dockerfile} (98%) rename ci/containers/{fedora-34.Dockerfile => fedora-36.Dockerfile} (97%) 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 create mode 100644 ci/gitlab/sanity-checks.yml -- 2.35.3

Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ci/containers/fedora-34.Dockerfile | 109 ----------------------------- ci/gitlab.yml | 20 ------ ci/integration.yml | 16 ----- ci/manifest.yml | 8 --- 4 files changed, 153 deletions(-) delete mode 100644 ci/containers/fedora-34.Dockerfile diff --git a/ci/containers/fedora-34.Dockerfile b/ci/containers/fedora-34.Dockerfile deleted file mode 100644 index 6949231a62..0000000000 --- a/ci/containers/fedora-34.Dockerfile +++ /dev/null @@ -1,109 +0,0 @@ -# THIS FILE WAS AUTO-GENERATED -# -# $ lcitool manifest ci/manifest.yml -# -# https://gitlab.com/libvirt/libvirt-ci - -FROM registry.fedoraproject.org/fedora:34 - -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 \ - audit-libs-devel \ - augeas \ - bash-completion \ - ca-certificates \ - ccache \ - clang \ - codespell \ - cpp \ - cppi \ - cyrus-sasl-devel \ - device-mapper-devel \ - diffutils \ - dwarves \ - ebtables \ - firewalld-filesystem \ - fuse-devel \ - gcc \ - gettext \ - git \ - glib2-devel \ - glibc-devel \ - glibc-langpack-en \ - glusterfs-api-devel \ - gnutls-devel \ - grep \ - iproute \ - iproute-tc \ - iptables \ - iscsi-initiator-utils \ - kmod \ - libacl-devel \ - libattr-devel \ - libblkid-devel \ - libcap-ng-devel \ - libcurl-devel \ - libiscsi-devel \ - libnl3-devel \ - libpcap-devel \ - libpciaccess-devel \ - librbd-devel \ - libselinux-devel \ - libssh-devel \ - libssh2-devel \ - libtirpc-devel \ - libwsman-devel \ - libxml2 \ - libxml2-devel \ - libxslt \ - lvm2 \ - make \ - meson \ - netcf-devel \ - nfs-utils \ - ninja-build \ - numactl-devel \ - numad \ - parted-devel \ - perl-base \ - pkgconfig \ - polkit \ - python3 \ - python3-docutils \ - python3-flake8 \ - qemu-img \ - readline-devel \ - rpcgen \ - rpm-build \ - sanlock-devel \ - scrub \ - sed \ - sheepdog \ - systemd-devel \ - systemtap-sdt-devel \ - wireshark-devel \ - xen-devel \ - yajl-devel && \ - nosync dnf autoremove -y && \ - 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/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" diff --git a/ci/gitlab.yml b/ci/gitlab.yml index 07ad36809d..f4e3f189c0 100644 --- a/ci/gitlab.yml +++ b/ci/gitlab.yml @@ -142,13 +142,6 @@ x86_64-debian-sid-container: NAME: debian-sid -x86_64-fedora-34-container: - extends: .container_job - allow_failure: false - variables: - NAME: fedora-34 - - x86_64-fedora-35-container: extends: .container_job allow_failure: false @@ -509,19 +502,6 @@ x86_64-debian-sid: NAME: debian-sid -x86_64-fedora-34: - extends: .native_build_job - needs: - - x86_64-fedora-34-container - allow_failure: false - variables: - NAME: fedora-34 - artifacts: - expire_in: 1 day - paths: - - libvirt-rpms - - x86_64-fedora-35: extends: .native_build_job needs: diff --git a/ci/integration.yml b/ci/integration.yml index 4978d3cf02..ecaa03fc3a 100644 --- a/ci/integration.yml +++ b/ci/integration.yml @@ -33,22 +33,6 @@ centos-stream-9-tests: tags: - $LIBVIRT_CI_INTEGRATION_RUNNER_TAG -fedora-34-tests: - extends: .integration_tests - needs: - - x86_64-fedora-34 - - project: libvirt/libvirt-perl - job: x86_64-fedora-34 - ref: master - artifacts: true - variables: - # needed by libvirt-gitlab-executor - DISTRO: fedora-34 - # can be overridden in forks to set a different runner tag - LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host - tags: - - $LIBVIRT_CI_INTEGRATION_RUNNER_TAG - fedora-35-tests: extends: .integration_tests needs: diff --git a/ci/manifest.yml b/ci/manifest.yml index 38582da3a6..47bed03130 100644 --- a/ci/manifest.yml +++ b/ci/manifest.yml @@ -144,14 +144,6 @@ targets: - arch: s390x allow-failure: true - fedora-34: - jobs: - - arch: x86_64 - artifacts: - expire_in: 1 day - paths: - - libvirt-rpms - fedora-35: jobs: - arch: x86_64 -- 2.35.3

Notable changes: * 'lcitool manifest' now generates GitLab CI rules spread across a bunch of files; * container images are built less frequently for the main repository. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ci/gitlab.yml | 747 +----------------------------- ci/gitlab/build-templates.yml | 45 ++ ci/gitlab/builds.yml | 392 ++++++++++++++++ ci/gitlab/container-templates.yml | 52 +++ ci/gitlab/containers.yml | 318 +++++++++++++ ci/gitlab/sanity-checks.yml | 18 + 6 files changed, 831 insertions(+), 741 deletions(-) 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 create mode 100644 ci/gitlab/sanity-checks.yml diff --git a/ci/gitlab.yml b/ci/gitlab.yml index f4e3f189c0..379a41111c 100644 --- a/ci/gitlab.yml +++ b/ci/gitlab.yml @@ -4,744 +4,9 @@ # # 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/libvirt/libvirt/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/build.yml >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" - - -check-dco: - stage: sanity_checks - needs: [] - image: registry.gitlab.com/libvirt/libvirt-ci/check-dco:master - script: - - /check-dco libvirt - except: - variables: - - $CI_PROJECT_NAMESPACE == 'libvirt' - variables: - GIT_DEPTH: 1000 - - -# 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-315-container: - extends: .container_job - allow_failure: false - variables: - NAME: alpine-315 - - -x86_64-alpine-edge-container: - extends: .container_job - allow_failure: true - variables: - NAME: alpine-edge - - -x86_64-centos-stream-8-container: - extends: .container_job - allow_failure: false - variables: - NAME: centos-stream-8 - - -x86_64-centos-stream-9-container: - extends: .container_job - allow_failure: false - variables: - NAME: centos-stream-9 - - -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: true - 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: true - 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: true - variables: - NAME: opensuse-tumbleweed - - -x86_64-ubuntu-2004-container: - extends: .container_job - allow_failure: false - variables: - NAME: ubuntu-2004 - - -x86_64-ubuntu-2204-container: - extends: .container_job - allow_failure: false - variables: - NAME: ubuntu-2204 - - - -# Cross container jobs - -aarch64-debian-10-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-10-cross-aarch64 - - -armv6l-debian-10-container: - extends: .container_job - allow_failure: false - variables: - NAME: debian-10-cross-armv6l - - -armv7l-debian-10-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-10-cross-armv7l - - -i686-debian-10-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-10-cross-i686 - - -mips-debian-10-container: - extends: .container_job - allow_failure: false - variables: - NAME: debian-10-cross-mips - - -mips64el-debian-10-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-10-cross-mips64el - - -mipsel-debian-10-container: - extends: .container_job - allow_failure: false - variables: - NAME: debian-10-cross-mipsel - - -ppc64le-debian-10-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-10-cross-ppc64le - - -s390x-debian-10-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-10-cross-s390x - - -aarch64-debian-11-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-11-cross-aarch64 - - -armv6l-debian-11-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-11-cross-armv6l - - -armv7l-debian-11-container: - extends: .container_job - allow_failure: false - variables: - NAME: debian-11-cross-armv7l - - -i686-debian-11-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-11-cross-i686 - - -mips64el-debian-11-container: - extends: .container_job - allow_failure: false - variables: - NAME: debian-11-cross-mips64el - - -mipsel-debian-11-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-11-cross-mipsel - - -ppc64le-debian-11-container: - extends: .container_job - allow_failure: false - variables: - NAME: debian-11-cross-ppc64le - - -s390x-debian-11-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-11-cross-s390x - - -aarch64-debian-sid-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-sid-cross-aarch64 - - -armv6l-debian-sid-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-sid-cross-armv6l - - -armv7l-debian-sid-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-sid-cross-armv7l - - -i686-debian-sid-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-sid-cross-i686 - - -mips64el-debian-sid-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-sid-cross-mips64el - - -mipsel-debian-sid-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-sid-cross-mipsel - - -ppc64le-debian-sid-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-sid-cross-ppc64le - - -s390x-debian-sid-container: - extends: .container_job - allow_failure: true - variables: - NAME: debian-sid-cross-s390x - - -mingw32-fedora-35-container: - extends: .container_job - allow_failure: true - variables: - NAME: fedora-35-cross-mingw32 - - -mingw64-fedora-35-container: - extends: .container_job - allow_failure: false - variables: - NAME: fedora-35-cross-mingw64 - - -mingw32-fedora-rawhide-container: - extends: .container_job - allow_failure: true - variables: - NAME: fedora-rawhide-cross-mingw32 - - -mingw64-fedora-rawhide-container: - extends: .container_job - allow_failure: true - variables: - NAME: fedora-rawhide-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 - RPM: skip - - -x86_64-almalinux-8-clang: - extends: .native_build_job - needs: - - x86_64-almalinux-8-container - allow_failure: false - variables: - CC: clang - NAME: almalinux-8 - RPM: skip - - -x86_64-alpine-314: - extends: .native_build_job - needs: - - x86_64-alpine-314-container - allow_failure: false - variables: - NAME: alpine-314 - - -x86_64-alpine-315: - extends: .native_build_job - needs: - - x86_64-alpine-315-container - allow_failure: false - variables: - NAME: alpine-315 - - -x86_64-alpine-edge: - extends: .native_build_job - needs: - - x86_64-alpine-edge-container - allow_failure: true - variables: - 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 - artifacts: - expire_in: 1 day - paths: - - libvirt-rpms - - -x86_64-centos-stream-9: - extends: .native_build_job - needs: - - x86_64-centos-stream-9-container - allow_failure: false - variables: - NAME: centos-stream-9 - artifacts: - expire_in: 1 day - paths: - - libvirt-rpms - - -x86_64-debian-10: - extends: .native_build_job - needs: - - x86_64-debian-10-container - allow_failure: false - variables: - NAME: debian-10 - - -x86_64-debian-11: - extends: .native_build_job - needs: - - x86_64-debian-11-container - allow_failure: false - variables: - NAME: debian-11 - - -x86_64-debian-11-clang: - 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: true - 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 - artifacts: - expire_in: 1 day - paths: - - libvirt-rpms - - -x86_64-fedora-rawhide: - extends: .native_build_job - needs: - - x86_64-fedora-rawhide-container - allow_failure: true - variables: - NAME: fedora-rawhide - - -x86_64-fedora-rawhide-clang: - extends: .native_build_job - needs: - - x86_64-fedora-rawhide-container - allow_failure: true - variables: - CC: clang - NAME: fedora-rawhide - RPM: skip - - -x86_64-opensuse-leap-153: - extends: .native_build_job - needs: - - x86_64-opensuse-leap-153-container - allow_failure: false - variables: - NAME: opensuse-leap-153 - RPM: skip - - -x86_64-opensuse-tumbleweed: - extends: .native_build_job - needs: - - x86_64-opensuse-tumbleweed-container - allow_failure: true - variables: - NAME: opensuse-tumbleweed - RPM: skip - - -x86_64-ubuntu-2004: - extends: .native_build_job - needs: - - x86_64-ubuntu-2004-container - allow_failure: false - variables: - NAME: ubuntu-2004 - - -x86_64-ubuntu-2204: - extends: .native_build_job - needs: - - x86_64-ubuntu-2204-container - allow_failure: false - variables: - ASAN_OPTIONS: verify_asan_link_order=0 - MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined - NAME: ubuntu-2204 - UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1 - - -x86_64-ubuntu-2204-clang: - extends: .native_build_job - needs: - - x86_64-ubuntu-2204-container - allow_failure: false - variables: - CC: clang - MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined - NAME: ubuntu-2204 - UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1 - - - -# Cross build jobs - -armv6l-debian-10: - extends: .cross_build_job - needs: - - armv6l-debian-10-container - allow_failure: false - variables: - CROSS: armv6l - NAME: debian-10 - - -mips-debian-10: - extends: .cross_build_job - needs: - - mips-debian-10-container - allow_failure: false - variables: - CROSS: mips - NAME: debian-10 - - -mipsel-debian-10: - extends: .cross_build_job - needs: - - mipsel-debian-10-container - allow_failure: false - variables: - CROSS: mipsel - NAME: debian-10 - - -armv7l-debian-11: - extends: .cross_build_job - needs: - - armv7l-debian-11-container - allow_failure: false - variables: - CROSS: armv7l - NAME: debian-11 - - -mips64el-debian-11: - extends: .cross_build_job - needs: - - mips64el-debian-11-container - allow_failure: false - variables: - CROSS: mips64el - NAME: debian-11 - - -ppc64le-debian-11: - extends: .cross_build_job - needs: - - ppc64le-debian-11-container - allow_failure: false - variables: - CROSS: ppc64le - NAME: debian-11 - - -aarch64-debian-sid: - extends: .cross_build_job - needs: - - aarch64-debian-sid-container - allow_failure: true - variables: - CROSS: aarch64 - NAME: debian-sid - - -i686-debian-sid: - extends: .cross_build_job - needs: - - i686-debian-sid-container - allow_failure: true - variables: - CROSS: i686 - NAME: debian-sid - - -s390x-debian-sid: - extends: .cross_build_job - needs: - - s390x-debian-sid-container - allow_failure: true - variables: - CROSS: s390x - NAME: debian-sid - - -mingw64-fedora-35: - extends: .cross_build_job - needs: - - mingw64-fedora-35-container - allow_failure: false - variables: - CROSS: mingw64 - NAME: fedora-35 - - -mingw32-fedora-rawhide: - extends: .cross_build_job - needs: - - mingw32-fedora-rawhide-container - allow_failure: true - variables: - CROSS: mingw32 - NAME: fedora-rawhide - - -# Native cirrus build jobs - -x86_64-freebsd-12: - extends: .cirrus_build_job - needs: [] - allow_failure: false - 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: false - 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-macos-11: - extends: .cirrus_build_job - needs: [] - allow_failure: false - 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 +include: + - local: 'ci/gitlab/container-templates.yml' + - local: 'ci/gitlab/build-templates.yml' + - local: 'ci/gitlab/sanity-checks.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 0000000000..446822d5d1 --- /dev/null +++ b/ci/gitlab/build-templates.yml @@ -0,0 +1,45 @@ +# THIS FILE WAS AUTO-GENERATED +# +# $ lcitool manifest ci/manifest.yml +# +# https://gitlab.com/libvirt/libvirt-ci + + +.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/build.yml >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" diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml new file mode 100644 index 0000000000..8d8ac7bc8a --- /dev/null +++ b/ci/gitlab/builds.yml @@ -0,0 +1,392 @@ +# THIS FILE WAS AUTO-GENERATED +# +# $ lcitool manifest ci/manifest.yml +# +# https://gitlab.com/libvirt/libvirt-ci + + +# Native build jobs + +x86_64-almalinux-8: + extends: .native_build_job + needs: + - job: x86_64-almalinux-8-container + optional: true + allow_failure: false + variables: + NAME: almalinux-8 + RPM: skip + + +x86_64-almalinux-8-clang: + extends: .native_build_job + needs: + - job: x86_64-almalinux-8-container + optional: true + allow_failure: false + variables: + CC: clang + NAME: almalinux-8 + RPM: skip + + +x86_64-alpine-314: + extends: .native_build_job + needs: + - job: x86_64-alpine-314-container + optional: true + allow_failure: false + variables: + NAME: alpine-314 + + +x86_64-alpine-315: + extends: .native_build_job + needs: + - job: x86_64-alpine-315-container + optional: true + allow_failure: false + variables: + NAME: alpine-315 + + +x86_64-alpine-edge: + extends: .native_build_job + needs: + - job: x86_64-alpine-edge-container + optional: true + allow_failure: true + variables: + NAME: alpine-edge + + +x86_64-centos-stream-8: + extends: .native_build_job + needs: + - job: x86_64-centos-stream-8-container + optional: true + allow_failure: false + variables: + NAME: centos-stream-8 + artifacts: + expire_in: 1 day + paths: + - libvirt-rpms + + +x86_64-centos-stream-9: + extends: .native_build_job + needs: + - job: x86_64-centos-stream-9-container + optional: true + allow_failure: false + variables: + NAME: centos-stream-9 + artifacts: + expire_in: 1 day + paths: + - libvirt-rpms + + +x86_64-debian-10: + extends: .native_build_job + needs: + - job: x86_64-debian-10-container + optional: true + allow_failure: false + variables: + NAME: debian-10 + + +x86_64-debian-11: + extends: .native_build_job + needs: + - job: x86_64-debian-11-container + optional: true + allow_failure: false + variables: + NAME: debian-11 + + +x86_64-debian-11-clang: + extends: .native_build_job + needs: + - job: x86_64-debian-11-container + optional: true + allow_failure: false + variables: + NAME: debian-11 + + +x86_64-debian-sid: + extends: .native_build_job + needs: + - job: x86_64-debian-sid-container + optional: true + allow_failure: true + variables: + NAME: debian-sid + + +x86_64-fedora-35: + extends: .native_build_job + needs: + - job: x86_64-fedora-35-container + optional: true + allow_failure: false + variables: + NAME: fedora-35 + artifacts: + expire_in: 1 day + paths: + - libvirt-rpms + + +x86_64-fedora-rawhide: + extends: .native_build_job + needs: + - job: x86_64-fedora-rawhide-container + optional: true + allow_failure: true + variables: + NAME: fedora-rawhide + + +x86_64-fedora-rawhide-clang: + extends: .native_build_job + needs: + - job: x86_64-fedora-rawhide-container + optional: true + allow_failure: true + variables: + CC: clang + NAME: fedora-rawhide + RPM: skip + + +x86_64-opensuse-leap-153: + extends: .native_build_job + needs: + - job: x86_64-opensuse-leap-153-container + optional: true + allow_failure: false + variables: + NAME: opensuse-leap-153 + RPM: skip + + +x86_64-opensuse-tumbleweed: + extends: .native_build_job + needs: + - job: x86_64-opensuse-tumbleweed-container + optional: true + allow_failure: true + variables: + NAME: opensuse-tumbleweed + RPM: skip + + +x86_64-ubuntu-2004: + extends: .native_build_job + needs: + - job: x86_64-ubuntu-2004-container + optional: true + allow_failure: false + variables: + NAME: ubuntu-2004 + + +x86_64-ubuntu-2204: + extends: .native_build_job + needs: + - job: x86_64-ubuntu-2204-container + optional: true + allow_failure: false + variables: + ASAN_OPTIONS: verify_asan_link_order=0 + MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined + NAME: ubuntu-2204 + UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1 + + +x86_64-ubuntu-2204-clang: + extends: .native_build_job + needs: + - job: x86_64-ubuntu-2204-container + optional: true + allow_failure: false + variables: + CC: clang + MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined + NAME: ubuntu-2204 + UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1 + + + +# Cross build jobs + +armv6l-debian-10: + extends: .cross_build_job + needs: + - job: armv6l-debian-10-container + optional: true + allow_failure: false + variables: + CROSS: armv6l + NAME: debian-10 + + +mips-debian-10: + extends: .cross_build_job + needs: + - job: mips-debian-10-container + optional: true + allow_failure: false + variables: + CROSS: mips + NAME: debian-10 + + +mipsel-debian-10: + extends: .cross_build_job + needs: + - job: mipsel-debian-10-container + optional: true + allow_failure: false + variables: + CROSS: mipsel + NAME: debian-10 + + +armv7l-debian-11: + extends: .cross_build_job + needs: + - job: armv7l-debian-11-container + optional: true + allow_failure: false + variables: + CROSS: armv7l + NAME: debian-11 + + +mips64el-debian-11: + extends: .cross_build_job + needs: + - job: mips64el-debian-11-container + optional: true + allow_failure: false + variables: + CROSS: mips64el + NAME: debian-11 + + +ppc64le-debian-11: + extends: .cross_build_job + needs: + - job: ppc64le-debian-11-container + optional: true + allow_failure: false + variables: + CROSS: ppc64le + NAME: debian-11 + + +aarch64-debian-sid: + extends: .cross_build_job + needs: + - job: aarch64-debian-sid-container + optional: true + allow_failure: true + variables: + CROSS: aarch64 + NAME: debian-sid + + +i686-debian-sid: + extends: .cross_build_job + needs: + - job: i686-debian-sid-container + optional: true + allow_failure: true + variables: + CROSS: i686 + NAME: debian-sid + + +s390x-debian-sid: + extends: .cross_build_job + needs: + - job: s390x-debian-sid-container + optional: true + allow_failure: true + variables: + CROSS: s390x + NAME: debian-sid + + +mingw64-fedora-35: + extends: .cross_build_job + needs: + - job: mingw64-fedora-35-container + optional: true + allow_failure: false + variables: + CROSS: mingw64 + NAME: fedora-35 + + +mingw32-fedora-rawhide: + extends: .cross_build_job + needs: + - job: mingw32-fedora-rawhide-container + optional: true + allow_failure: true + variables: + CROSS: mingw32 + NAME: fedora-rawhide + + +# Native cirrus build jobs + +x86_64-freebsd-12: + extends: .cirrus_build_job + needs: [] + allow_failure: false + 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: false + 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-macos-11: + extends: .cirrus_build_job + needs: [] + allow_failure: false + 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 0000000000..4cd28af8a9 --- /dev/null +++ b/ci/gitlab/container-templates.yml @@ -0,0 +1,52 @@ +# THIS FILE WAS AUTO-GENERATED +# +# $ lcitool manifest ci/manifest.yml +# +# https://gitlab.com/libvirt/libvirt-ci + + +# For upstream +# +# - Push to default branch: +# -> rebuild if dockerfile changed, no cache +# - Otherwise +# -> rebuild if LIBVIRT_CI_CONTAINERS=1, no cache, +# to pick up new published distro packages or +# recover from deleted tag +# +# For forks +# - Always rebuild, with cache +# +.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/libvirt/libvirt/ci-$NAME:latest" + - docker info + - docker login "$CI_REGISTRY" -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" + script: + - if test $CI_PROJECT_NAMESPACE = "libvirt"; + then + docker build --tag "$TAG" -f "ci/containers/$NAME.Dockerfile" ci/containers ; + else + 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 ; + fi + - docker push "$TAG" + after_script: + - docker logout + rules: + - 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"' + when: on_success + - if: '$CI_PROJECT_NAMESPACE == "libvirt"' + when: never + - when: on_success diff --git a/ci/gitlab/containers.yml b/ci/gitlab/containers.yml new file mode 100644 index 0000000000..12ab6e4808 --- /dev/null +++ b/ci/gitlab/containers.yml @@ -0,0 +1,318 @@ +# 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-314-container: + extends: .container_job + allow_failure: false + variables: + NAME: alpine-314 + + +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: true + variables: + NAME: alpine-edge + + +x86_64-centos-stream-8-container: + extends: .container_job + allow_failure: false + variables: + NAME: centos-stream-8 + + +x86_64-centos-stream-9-container: + extends: .container_job + allow_failure: false + variables: + NAME: centos-stream-9 + + +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: true + 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: true + 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: true + variables: + NAME: opensuse-tumbleweed + + +x86_64-ubuntu-2004-container: + extends: .container_job + allow_failure: false + variables: + NAME: ubuntu-2004 + + +x86_64-ubuntu-2204-container: + extends: .container_job + allow_failure: false + variables: + NAME: ubuntu-2204 + + + +# Cross container jobs + +aarch64-debian-10-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-10-cross-aarch64 + + +armv6l-debian-10-container: + extends: .container_job + allow_failure: false + variables: + NAME: debian-10-cross-armv6l + + +armv7l-debian-10-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-10-cross-armv7l + + +i686-debian-10-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-10-cross-i686 + + +mips-debian-10-container: + extends: .container_job + allow_failure: false + variables: + NAME: debian-10-cross-mips + + +mips64el-debian-10-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-10-cross-mips64el + + +mipsel-debian-10-container: + extends: .container_job + allow_failure: false + variables: + NAME: debian-10-cross-mipsel + + +ppc64le-debian-10-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-10-cross-ppc64le + + +s390x-debian-10-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-10-cross-s390x + + +aarch64-debian-11-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-11-cross-aarch64 + + +armv6l-debian-11-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-11-cross-armv6l + + +armv7l-debian-11-container: + extends: .container_job + allow_failure: false + variables: + NAME: debian-11-cross-armv7l + + +i686-debian-11-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-11-cross-i686 + + +mips64el-debian-11-container: + extends: .container_job + allow_failure: false + variables: + NAME: debian-11-cross-mips64el + + +mipsel-debian-11-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-11-cross-mipsel + + +ppc64le-debian-11-container: + extends: .container_job + allow_failure: false + variables: + NAME: debian-11-cross-ppc64le + + +s390x-debian-11-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-11-cross-s390x + + +aarch64-debian-sid-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-sid-cross-aarch64 + + +armv6l-debian-sid-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-sid-cross-armv6l + + +armv7l-debian-sid-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-sid-cross-armv7l + + +i686-debian-sid-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-sid-cross-i686 + + +mips64el-debian-sid-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-sid-cross-mips64el + + +mipsel-debian-sid-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-sid-cross-mipsel + + +ppc64le-debian-sid-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-sid-cross-ppc64le + + +s390x-debian-sid-container: + extends: .container_job + allow_failure: true + variables: + NAME: debian-sid-cross-s390x + + +mingw32-fedora-35-container: + extends: .container_job + allow_failure: true + variables: + NAME: fedora-35-cross-mingw32 + + +mingw64-fedora-35-container: + extends: .container_job + allow_failure: false + variables: + NAME: fedora-35-cross-mingw64 + + +mingw32-fedora-rawhide-container: + extends: .container_job + allow_failure: true + variables: + NAME: fedora-rawhide-cross-mingw32 + + +mingw64-fedora-rawhide-container: + extends: .container_job + allow_failure: true + variables: + NAME: fedora-rawhide-cross-mingw64 diff --git a/ci/gitlab/sanity-checks.yml b/ci/gitlab/sanity-checks.yml new file mode 100644 index 0000000000..90f6ff8205 --- /dev/null +++ b/ci/gitlab/sanity-checks.yml @@ -0,0 +1,18 @@ +# THIS FILE WAS AUTO-GENERATED +# +# $ lcitool manifest ci/manifest.yml +# +# https://gitlab.com/libvirt/libvirt-ci + + +check-dco: + stage: sanity_checks + needs: [] + image: registry.gitlab.com/libvirt/libvirt-ci/check-dco:master + script: + - /check-dco libvirt + except: + variables: + - $CI_PROJECT_NAMESPACE == 'libvirt' + variables: + GIT_DEPTH: 1000 -- 2.35.3

Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ci/containers/fedora-36.Dockerfile | 108 +++++++++++++++++++++++++++++ ci/gitlab/builds.yml | 10 +++ ci/gitlab/containers.yml | 7 ++ ci/integration.yml | 16 +++++ ci/manifest.yml | 2 + 5 files changed, 143 insertions(+) create mode 100644 ci/containers/fedora-36.Dockerfile diff --git a/ci/containers/fedora-36.Dockerfile b/ci/containers/fedora-36.Dockerfile new file mode 100644 index 0000000000..f99ba502c5 --- /dev/null +++ b/ci/containers/fedora-36.Dockerfile @@ -0,0 +1,108 @@ +# THIS FILE WAS AUTO-GENERATED +# +# $ lcitool manifest ci/manifest.yml +# +# https://gitlab.com/libvirt/libvirt-ci + +FROM registry.fedoraproject.org/fedora:36 + +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 \ + audit-libs-devel \ + augeas \ + bash-completion \ + ca-certificates \ + ccache \ + clang \ + codespell \ + cpp \ + cppi \ + cyrus-sasl-devel \ + device-mapper-devel \ + diffutils \ + dwarves \ + ebtables \ + firewalld-filesystem \ + fuse-devel \ + gcc \ + gettext \ + git \ + glib2-devel \ + glibc-devel \ + glibc-langpack-en \ + glusterfs-api-devel \ + gnutls-devel \ + grep \ + iproute \ + iproute-tc \ + iptables \ + iscsi-initiator-utils \ + kmod \ + libacl-devel \ + libattr-devel \ + libblkid-devel \ + libcap-ng-devel \ + libcurl-devel \ + libiscsi-devel \ + libnl3-devel \ + libpcap-devel \ + libpciaccess-devel \ + librbd-devel \ + libselinux-devel \ + libssh-devel \ + libssh2-devel \ + libtirpc-devel \ + libwsman-devel \ + libxml2 \ + libxml2-devel \ + libxslt \ + lvm2 \ + make \ + meson \ + nfs-utils \ + ninja-build \ + numactl-devel \ + numad \ + parted-devel \ + perl-base \ + pkgconfig \ + polkit \ + python3 \ + python3-docutils \ + python3-flake8 \ + qemu-img \ + readline-devel \ + rpcgen \ + rpm-build \ + sanlock-devel \ + scrub \ + sed \ + sheepdog \ + systemd-devel \ + systemtap-sdt-devel \ + wireshark-devel \ + xen-devel \ + yajl-devel && \ + nosync dnf autoremove -y && \ + 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/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" diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml index 8d8ac7bc8a..b55143018b 100644 --- a/ci/gitlab/builds.yml +++ b/ci/gitlab/builds.yml @@ -142,6 +142,16 @@ x86_64-fedora-35: - libvirt-rpms +x86_64-fedora-36: + extends: .native_build_job + needs: + - job: x86_64-fedora-36-container + optional: true + allow_failure: false + variables: + NAME: fedora-36 + + x86_64-fedora-rawhide: extends: .native_build_job needs: diff --git a/ci/gitlab/containers.yml b/ci/gitlab/containers.yml index 12ab6e4808..635bc516e3 100644 --- a/ci/gitlab/containers.yml +++ b/ci/gitlab/containers.yml @@ -77,6 +77,13 @@ x86_64-fedora-35-container: NAME: fedora-35 +x86_64-fedora-36-container: + extends: .container_job + allow_failure: false + variables: + NAME: fedora-36 + + x86_64-fedora-rawhide-container: extends: .container_job allow_failure: true diff --git a/ci/integration.yml b/ci/integration.yml index ecaa03fc3a..5b60b41e85 100644 --- a/ci/integration.yml +++ b/ci/integration.yml @@ -64,3 +64,19 @@ fedora-35-upstream-qemu-tests: LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host tags: - $LIBVIRT_CI_INTEGRATION_RUNNER_TAG + +fedora-36-tests: + extends: .integration_tests + needs: + - x86_64-fedora-36 + - project: libvirt/libvirt-perl + job: x86_64-fedora-36 + ref: master + artifacts: true + variables: + # needed by libvirt-gitlab-executor + DISTRO: fedora-36 + # can be overridden in forks to set a different runner tag + LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host + tags: + - $LIBVIRT_CI_INTEGRATION_RUNNER_TAG diff --git a/ci/manifest.yml b/ci/manifest.yml index 47bed03130..8c43d2e917 100644 --- a/ci/manifest.yml +++ b/ci/manifest.yml @@ -158,6 +158,8 @@ targets: - arch: mingw64 + fedora-36: x86_64 + fedora-rawhide: jobs: - arch: x86_64 -- 2.35.3

Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ...erfile => fedora-36-cross-mingw32.Dockerfile} | 2 +- ...erfile => fedora-36-cross-mingw64.Dockerfile} | 2 +- ci/gitlab/builds.yml | 14 +++++++------- ci/gitlab/containers.yml | 8 ++++---- ci/integration.yml | 16 ++++++++-------- ci/manifest.yml | 6 +++--- 6 files changed, 24 insertions(+), 24 deletions(-) rename ci/containers/{fedora-35-cross-mingw32.Dockerfile => fedora-36-cross-mingw32.Dockerfile} (98%) rename ci/containers/{fedora-35-cross-mingw64.Dockerfile => fedora-36-cross-mingw64.Dockerfile} (98%) diff --git a/ci/containers/fedora-35-cross-mingw32.Dockerfile b/ci/containers/fedora-36-cross-mingw32.Dockerfile similarity index 98% rename from ci/containers/fedora-35-cross-mingw32.Dockerfile rename to ci/containers/fedora-36-cross-mingw32.Dockerfile index 3cc5e7b59b..76659d696a 100644 --- a/ci/containers/fedora-35-cross-mingw32.Dockerfile +++ b/ci/containers/fedora-36-cross-mingw32.Dockerfile @@ -4,7 +4,7 @@ # # https://gitlab.com/libvirt/libvirt-ci -FROM registry.fedoraproject.org/fedora:35 +FROM registry.fedoraproject.org/fedora:36 RUN dnf install -y nosync && \ echo -e '#!/bin/sh\n\ diff --git a/ci/containers/fedora-35-cross-mingw64.Dockerfile b/ci/containers/fedora-36-cross-mingw64.Dockerfile similarity index 98% rename from ci/containers/fedora-35-cross-mingw64.Dockerfile rename to ci/containers/fedora-36-cross-mingw64.Dockerfile index b6662f6da7..0bccf0738c 100644 --- a/ci/containers/fedora-35-cross-mingw64.Dockerfile +++ b/ci/containers/fedora-36-cross-mingw64.Dockerfile @@ -4,7 +4,7 @@ # # https://gitlab.com/libvirt/libvirt-ci -FROM registry.fedoraproject.org/fedora:35 +FROM registry.fedoraproject.org/fedora:36 RUN dnf install -y nosync && \ echo -e '#!/bin/sh\n\ diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml index b55143018b..5306ba6377 100644 --- a/ci/gitlab/builds.yml +++ b/ci/gitlab/builds.yml @@ -136,10 +136,6 @@ x86_64-fedora-35: allow_failure: false variables: NAME: fedora-35 - artifacts: - expire_in: 1 day - paths: - - libvirt-rpms x86_64-fedora-36: @@ -150,6 +146,10 @@ x86_64-fedora-36: allow_failure: false variables: NAME: fedora-36 + artifacts: + expire_in: 1 day + paths: + - libvirt-rpms x86_64-fedora-rawhide: @@ -334,15 +334,15 @@ s390x-debian-sid: NAME: debian-sid -mingw64-fedora-35: +mingw64-fedora-36: extends: .cross_build_job needs: - - job: mingw64-fedora-35-container + - job: mingw64-fedora-36-container optional: true allow_failure: false variables: CROSS: mingw64 - NAME: fedora-35 + NAME: fedora-36 mingw32-fedora-rawhide: diff --git a/ci/gitlab/containers.yml b/ci/gitlab/containers.yml index 635bc516e3..5b8a91c295 100644 --- a/ci/gitlab/containers.yml +++ b/ci/gitlab/containers.yml @@ -297,18 +297,18 @@ s390x-debian-sid-container: NAME: debian-sid-cross-s390x -mingw32-fedora-35-container: +mingw32-fedora-36-container: extends: .container_job allow_failure: true variables: - NAME: fedora-35-cross-mingw32 + NAME: fedora-36-cross-mingw32 -mingw64-fedora-35-container: +mingw64-fedora-36-container: extends: .container_job allow_failure: false variables: - NAME: fedora-35-cross-mingw64 + NAME: fedora-36-cross-mingw64 mingw32-fedora-rawhide-container: diff --git a/ci/integration.yml b/ci/integration.yml index 5b60b41e85..baf25e9aae 100644 --- a/ci/integration.yml +++ b/ci/integration.yml @@ -49,24 +49,24 @@ fedora-35-tests: tags: - $LIBVIRT_CI_INTEGRATION_RUNNER_TAG -fedora-35-upstream-qemu-tests: - extends: .integration_tests_upstream_qemu +fedora-36-tests: + extends: .integration_tests needs: - - x86_64-fedora-35 + - x86_64-fedora-36 - project: libvirt/libvirt-perl - job: x86_64-fedora-35 + job: x86_64-fedora-36 ref: master artifacts: true variables: # needed by libvirt-gitlab-executor - DISTRO: fedora-35 + DISTRO: fedora-36 # can be overridden in forks to set a different runner tag LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host tags: - $LIBVIRT_CI_INTEGRATION_RUNNER_TAG -fedora-36-tests: - extends: .integration_tests +fedora-36-upstream-qemu-tests: + extends: .integration_tests_upstream_qemu needs: - x86_64-fedora-36 - project: libvirt/libvirt-perl @@ -75,7 +75,7 @@ fedora-36-tests: artifacts: true variables: # needed by libvirt-gitlab-executor - DISTRO: fedora-36 + DISTRO: fedora-35 # can be overridden in forks to set a different runner tag LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host tags: diff --git a/ci/manifest.yml b/ci/manifest.yml index 8c43d2e917..c5f1b52487 100644 --- a/ci/manifest.yml +++ b/ci/manifest.yml @@ -144,7 +144,9 @@ targets: - arch: s390x allow-failure: true - fedora-35: + fedora-35: x86_64 + + fedora-36: jobs: - arch: x86_64 artifacts: @@ -158,8 +160,6 @@ targets: - arch: mingw64 - fedora-36: x86_64 - fedora-rawhide: jobs: - arch: x86_64 -- 2.35.3

On Thu, May 26, 2022 at 11:05:34AM +0200, Andrea Bolognani wrote: ...
diff --git a/ci/integration.yml b/ci/integration.yml index 5b60b41e85..baf25e9aae 100644 --- a/ci/integration.yml +++ b/ci/integration.yml @@ -49,24 +49,24 @@ fedora-35-tests: tags: - $LIBVIRT_CI_INTEGRATION_RUNNER_TAG
-fedora-35-upstream-qemu-tests: - extends: .integration_tests_upstream_qemu +fedora-36-tests: + extends: .integration_tests needs: - - x86_64-fedora-35 + - x86_64-fedora-36 - project: libvirt/libvirt-perl - job: x86_64-fedora-35 + job: x86_64-fedora-36 ref: master artifacts: true variables: # needed by libvirt-gitlab-executor - DISTRO: fedora-35 + DISTRO: fedora-36 # can be overridden in forks to set a different runner tag LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host tags: - $LIBVIRT_CI_INTEGRATION_RUNNER_TAG
-fedora-36-tests: - extends: .integration_tests +fedora-36-upstream-qemu-tests: + extends: .integration_tests_upstream_qemu needs: - x86_64-fedora-36 - project: libvirt/libvirt-perl @@ -75,7 +75,7 @@ fedora-36-tests: artifacts: true variables: # needed by libvirt-gitlab-executor - DISTRO: fedora-36 + DISTRO: fedora-35
^This hunk is wrong, it has to be fedora-36. Erik

On Thu, May 26, 2022 at 11:05:30AM +0200, Andrea Bolognani wrote:
Test pipeline:
https://gitlab.com/abologna/libvirt/-/pipelines/548549670
Matching libvirt-perl MR, needed because the integration tests download artifacts from there:
Reviewed-by: Erik Skultety <eskultet@redhat.com> Please don't push this yet, because the integration tests would fail (as you didn't didn't run them in your pipeline) - I need to create a template image for fedora-36 first on the baremetal host. I'll ping you when it's done. Erik

On Thu, May 26, 2022 at 12:05:23PM +0200, Erik Skultety wrote:
On Thu, May 26, 2022 at 11:05:30AM +0200, Andrea Bolognani wrote:
Test pipeline:
https://gitlab.com/abologna/libvirt/-/pipelines/548549670
Matching libvirt-perl MR, needed because the integration tests download artifacts from there:
Reviewed-by: Erik Skultety <eskultet@redhat.com>
Please don't push this yet, because the integration tests would fail (as you didn't didn't run them in your pipeline)
I didn't think I would be able to. Can anyone trigger a run of the integration tests? Can group members?
I need to create a template image for fedora-36 first on the baremetal host. I'll ping you when it's done.
I think we will start seeing failures in the Fedora 34 integration jobs now that the libvirt-perl MR has been accepted and thus the corresponding job is gone. Or is GitLab CI smart enough to go and pick the artifacts from the last existing occurrence of the job? I can split things so that Fedora 34 is dropped and Fedora 36 is only added to the non-integration part of the pipeline at first, and then the integration job is added in a separate commit. The bulk could be pushed right away, with the last bit waiting for you to prepare the VM template. Or is that a quick enough job that it doesn't matter in practice and I'm massively overthinking this? O:-) -- Andrea Bolognani / Red Hat / Virtualization

On Thu, May 26, 2022 at 05:15:28AM -0700, Andrea Bolognani wrote:
On Thu, May 26, 2022 at 12:05:23PM +0200, Erik Skultety wrote:
On Thu, May 26, 2022 at 11:05:30AM +0200, Andrea Bolognani wrote:
Test pipeline:
https://gitlab.com/abologna/libvirt/-/pipelines/548549670
Matching libvirt-perl MR, needed because the integration tests download artifacts from there:
Reviewed-by: Erik Skultety <eskultet@redhat.com>
Please don't push this yet, because the integration tests would fail (as you didn't didn't run them in your pipeline)
I didn't think I would be able to. Can anyone trigger a run of the integration tests? Can group members?
I need to create a template image for fedora-36 first on the baremetal host. I'll ping you when it's done.
I think we will start seeing failures in the Fedora 34 integration jobs now that the libvirt-perl MR has been accepted and thus the corresponding job is gone. Or is GitLab CI smart enough to go and pick the artifacts from the last existing occurrence of the job?
I can split things so that Fedora 34 is dropped and Fedora 36 is only added to the non-integration part of the pipeline at first, and then the integration job is added in a separate commit. The bulk could be pushed right away, with the last bit waiting for you to prepare the VM template.
Or is that a quick enough job that it doesn't matter in practice and I'm massively overthinking this? O:-)
The integration jobs are only set to run once a day. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On Thu, May 26, 2022 at 05:15:28AM -0700, Andrea Bolognani wrote:
On Thu, May 26, 2022 at 12:05:23PM +0200, Erik Skultety wrote:
On Thu, May 26, 2022 at 11:05:30AM +0200, Andrea Bolognani wrote:
Test pipeline:
https://gitlab.com/abologna/libvirt/-/pipelines/548549670
Matching libvirt-perl MR, needed because the integration tests download artifacts from there:
Reviewed-by: Erik Skultety <eskultet@redhat.com>
Please don't push this yet, because the integration tests would fail (as you didn't didn't run them in your pipeline)
I didn't think I would be able to. Can anyone trigger a run of the integration tests? Can group members?
Any member can trigger the scheduled pipeline in the main repo, but you'd have to set up your own runner for your fork to do it.
I need to create a template image for fedora-36 first on the baremetal host. I'll ping you when it's done.
I think we will start seeing failures in the Fedora 34 integration jobs now that the libvirt-perl MR has been accepted and thus the corresponding job is gone. Or is GitLab CI smart enough to go and pick the artifacts from the last existing occurrence of the job?
I can split things so that Fedora 34 is dropped and Fedora 36 is only added to the non-integration part of the pipeline at first, and then the integration job is added in a separate commit. The bulk could be pushed right away, with the last bit waiting for you to prepare the VM template.
Or is that a quick enough job that it doesn't matter in practice and I'm massively overthinking this? O:-)
Yeah, usually I can do it within minutes, but the pipeline failed [1]. I think in the case of F35 there may be one more problem with your patches and for F36, sigh, the failure relates to a recent CVE fix in git [2] which e.g. the Avocado project already had to deal with. So I agree, please strip the fedora 36 changes to the integration stage and you can push the rest while I figure out how to deal with the failures. [1] https://gitlab.com/eskultety/libvirt/-/pipelines/548707692 [2] https://github.blog/2022-04-12-git-security-vulnerability-announced/ Andrea, I take it you'll repost your series without the F36 integration changes so that I can ACK separately, right? Erik

On Thu, May 26, 2022 at 03:07:52PM +0200, Erik Skultety wrote:
On Thu, May 26, 2022 at 05:15:28AM -0700, Andrea Bolognani wrote:
On Thu, May 26, 2022 at 12:05:23PM +0200, Erik Skultety wrote:
Please don't push this yet, because the integration tests would fail (as you didn't didn't run them in your pipeline)
I didn't think I would be able to. Can anyone trigger a run of the integration tests? Can group members?
Any member can trigger the scheduled pipeline in the main repo, but you'd have to set up your own runner for your fork to do it.
So Technically™ I could run it, but in practice I couldn't :)
Yeah, usually I can do it within minutes, but the pipeline failed [1]. I think in the case of F35 there may be one more problem with your patches
Yup, I changed the Fedora 35 build job so that it would no longer publish RPMs as artifacts, and that obviously broke the integration job.
Andrea, I take it you'll repost your series without the F36 integration changes so that I can ACK separately, right?
https://listman.redhat.com/archives/libvir-list/2022-May/231856.html :) -- Andrea Bolognani / Red Hat / Virtualization
participants (3)
-
Andrea Bolognani
-
Daniel P. Berrangé
-
Erik Skultety