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

Test pipeline: https://gitlab.com/abologna/libvirt/-/pipelines/548848259 Only patches 1-5 should be pushed until the issues outlined in https://listman.redhat.com/archives/libvir-list/2022-May/231851.html have been addressed. Changes from [v1] * handle integration tests separately; * don't stop publishing RPMs from the Fedora 35 job [v1] https://listman.redhat.com/archives/libvir-list/2022-May/231838.html Andrea Bolognani (7): ci: Drop Fedora 34 ci: Refresh generated files ci: Add Fedora 36 ci: Move MinGW jobs to Fedora 36 ci: Don't mark any Fedora 36 job as optional ci: Add Fedora 36 to integration tests ci: Move upstream QEMU integration test 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 | 406 +++++++++ ci/gitlab/container-templates.yml | 52 ++ ci/gitlab/containers.yml | 325 ++++++++ ci/gitlab/sanity-checks.yml | 18 + ci/integration.yml | 24 +- ci/manifest.yml | 5 +- 11 files changed, 869 insertions(+), 780 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> Reviewed-by: Erik Skultety <eskultet@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> Reviewed-by: Erik Skultety <eskultet@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

The target is intentionally not added to the integration tests at this time, because the corresponding VM template is not yet available on the runner. A later patch will take care of that. 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/manifest.yml | 2 + 4 files changed, 127 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/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

On Thu, May 26, 2022 at 04:01:48PM +0200, Andrea Bolognani wrote:
The target is intentionally not added to the integration tests at this time, because the corresponding VM template is not yet available on the runner. A later patch will take care of that.
Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- Reviewed-by: Erik Skultety <eskultet@redhat.com>

Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ...gw32.Dockerfile => fedora-36-cross-mingw32.Dockerfile} | 2 +- ...gw64.Dockerfile => fedora-36-cross-mingw64.Dockerfile} | 2 +- ci/gitlab/builds.yml | 6 +++--- ci/gitlab/containers.yml | 8 ++++---- ci/manifest.yml | 6 ++++-- 5 files changed, 13 insertions(+), 11 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..d136b0776e 100644 --- a/ci/gitlab/builds.yml +++ b/ci/gitlab/builds.yml @@ -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/manifest.yml b/ci/manifest.yml index 8c43d2e917..e85a01018e 100644 --- a/ci/manifest.yml +++ b/ci/manifest.yml @@ -152,14 +152,16 @@ targets: paths: - libvirt-rpms + fedora-36: + jobs: + - arch: x86_64 + - arch: mingw32 allow-failure: true builds: false - arch: mingw64 - fedora-36: x86_64 - fedora-rawhide: jobs: - arch: x86_64 -- 2.35.3

It's a stable distro, so we expect all jobs to succeed. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ci/gitlab/containers.yml | 2 +- ci/manifest.yml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/ci/gitlab/containers.yml b/ci/gitlab/containers.yml index 5b8a91c295..37c179c439 100644 --- a/ci/gitlab/containers.yml +++ b/ci/gitlab/containers.yml @@ -299,7 +299,7 @@ s390x-debian-sid-container: mingw32-fedora-36-container: extends: .container_job - allow_failure: true + allow_failure: false variables: NAME: fedora-36-cross-mingw32 diff --git a/ci/manifest.yml b/ci/manifest.yml index e85a01018e..ad0ec9a53d 100644 --- a/ci/manifest.yml +++ b/ci/manifest.yml @@ -157,7 +157,6 @@ targets: - arch: x86_64 - arch: mingw32 - allow-failure: true builds: false - arch: mingw64 -- 2.35.3

On Thu, May 26, 2022 at 04:01:50PM +0200, Andrea Bolognani wrote:
It's a stable distro, so we expect all jobs to succeed.
Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ci/gitlab/containers.yml | 2 +- ci/manifest.yml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/ci/gitlab/containers.yml b/ci/gitlab/containers.yml index 5b8a91c295..37c179c439 100644 --- a/ci/gitlab/containers.yml +++ b/ci/gitlab/containers.yml @@ -299,7 +299,7 @@ s390x-debian-sid-container:
mingw32-fedora-36-container: extends: .container_job - allow_failure: true + allow_failure: false variables: NAME: fedora-36-cross-mingw32
diff --git a/ci/manifest.yml b/ci/manifest.yml index e85a01018e..ad0ec9a53d 100644 --- a/ci/manifest.yml +++ b/ci/manifest.yml @@ -157,7 +157,6 @@ targets: - arch: x86_64
- arch: mingw32 - allow-failure: true
There must be a hysterical raisin for this (not that I object to the patch), maybe there was a bug in mingw toolchain giving us a hard time? I don't think it has anything to do with the given OS's stability as the commit message suggest, but if you don't remember and don't feel like digging, sure you can keep the commit message as is. Reviewed-by: Erik Skultety <eskultet@redhat.com>

On Thu, May 26, 2022 at 04:23:44PM +0200, Erik Skultety wrote:
On Thu, May 26, 2022 at 04:01:50PM +0200, Andrea Bolognani wrote:
+++ b/ci/manifest.yml @@ -157,7 +157,6 @@ targets: - arch: x86_64
- arch: mingw32 - allow-failure: true
There must be a hysterical raisin for this (not that I object to the patch), maybe there was a bug in mingw toolchain giving us a hard time? I don't think it has anything to do with the given OS's stability as the commit message suggest, but if you don't remember and don't feel like digging, sure you can keep the commit message as is.
I think it was simply carried over by mistake when the MinGW jobs were added to stable Fedora after only having been executed on Rawhide (where 'allow-failure: true' makes perfect sense) up until that point. The relevant commit is commit c7edcb320be3ae6cfa3230f4d3b2c867db49a613 Author: Daniel P. Berrangé <berrange@redhat.com> Date: Tue Nov 23 12:12:25 2021 +0000 ci: run a mingw64 job on stable Fedora Both of the current mingw jobs are marked as 'allow_failure' because they are running against Fedora rawhide which is an unstable distro. We need at least one mingw job to be gating to more reliably detect problems. This introduces dockerfiles for both mingw variants on Fedora 35 and sets the mingw64 build to run on Fedora 34, and mingw32 on Fedora rawhide. Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

This requires publishing the RPMs as artifacts from the regular build job. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ci/gitlab/builds.yml | 4 ++++ ci/integration.yml | 16 ++++++++++++++++ ci/manifest.yml | 4 ++++ 3 files changed, 24 insertions(+) diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml index d136b0776e..5fda5be9fe 100644 --- a/ci/gitlab/builds.yml +++ b/ci/gitlab/builds.yml @@ -150,6 +150,10 @@ x86_64-fedora-36: allow_failure: false variables: NAME: fedora-36 + artifacts: + expire_in: 1 day + paths: + - libvirt-rpms x86_64-fedora-rawhide: 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 ad0ec9a53d..bb7af19de4 100644 --- a/ci/manifest.yml +++ b/ci/manifest.yml @@ -155,6 +155,10 @@ targets: fedora-36: jobs: - arch: x86_64 + artifacts: + expire_in: 1 day + paths: + - libvirt-rpms - arch: mingw32 builds: false -- 2.35.3

Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ci/integration.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ci/integration.yml b/ci/integration.yml index 5b60b41e85..43f22813c9 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 -- 2.35.3

On Thu, May 26, 2022 at 04:01:45PM +0200, Andrea Bolognani wrote:
Test pipeline:
https://gitlab.com/abologna/libvirt/-/pipelines/548848259
Only patches 1-5 should be pushed until the issues outlined in
Go ahead and push 1-5 ;). Erik

On Thu, May 26, 2022 at 04:24:41PM +0200, Erik Skultety wrote:
On Thu, May 26, 2022 at 04:01:45PM +0200, Andrea Bolognani wrote:
Test pipeline:
https://gitlab.com/abologna/libvirt/-/pipelines/548848259
Only patches 1-5 should be pushed until the issues outlined in
Go ahead and push 1-5 ;).
Can I push the remaining two patches now, or are the issues that made it not possible at the time still relevant? -- Andrea Bolognani / Red Hat / Virtualization

On Tue, Jun 07, 2022 at 02:34:50AM -0700, Andrea Bolognani wrote:
On Thu, May 26, 2022 at 04:24:41PM +0200, Erik Skultety wrote:
On Thu, May 26, 2022 at 04:01:45PM +0200, Andrea Bolognani wrote:
Test pipeline:
https://gitlab.com/abologna/libvirt/-/pipelines/548848259
Only patches 1-5 should be pushed until the issues outlined in
Go ahead and push 1-5 ;).
Can I push the remaining two patches now, or are the issues that made it not possible at the time still relevant?
Yes, the problem still persists. Regards, Erik

On Tue, Jun 07, 2022 at 01:06:41PM +0200, Erik Skultety wrote:
On Tue, Jun 07, 2022 at 02:34:50AM -0700, Andrea Bolognani wrote:
On Thu, May 26, 2022 at 04:24:41PM +0200, Erik Skultety wrote:
On Thu, May 26, 2022 at 04:01:45PM +0200, Andrea Bolognani wrote:
Test pipeline:
https://gitlab.com/abologna/libvirt/-/pipelines/548848259
Only patches 1-5 should be pushed until the issues outlined in
Go ahead and push 1-5 ;).
Can I push the remaining two patches now, or are the issues that made it not possible at the time still relevant?
Yes, the problem still persists.
FYI, once we merge [1] we can merge this one as well. [1] https://listman.redhat.com/archives/libvir-list/2022-June/232322.html Regards, Erik

On Thu, Jun 09, 2022 at 08:11:17AM +0200, Erik Skultety wrote:
On Tue, Jun 07, 2022 at 01:06:41PM +0200, Erik Skultety wrote:
On Tue, Jun 07, 2022 at 02:34:50AM -0700, Andrea Bolognani wrote:
Can I push the remaining two patches now, or are the issues that made it not possible at the time still relevant?
Yes, the problem still persists.
FYI, once we merge [1] we can merge this one as well. [1] https://listman.redhat.com/archives/libvir-list/2022-June/232322.html
Those are in now. Can you confirm I can push the remaining patches? -- Andrea Bolognani / Red Hat / Virtualization

On Thu, Jun 09, 2022 at 07:51:45AM -0400, Andrea Bolognani wrote:
On Thu, Jun 09, 2022 at 08:11:17AM +0200, Erik Skultety wrote:
On Tue, Jun 07, 2022 at 01:06:41PM +0200, Erik Skultety wrote:
On Tue, Jun 07, 2022 at 02:34:50AM -0700, Andrea Bolognani wrote:
Can I push the remaining two patches now, or are the issues that made it not possible at the time still relevant?
Yes, the problem still persists.
FYI, once we merge [1] we can merge this one as well. [1] https://listman.redhat.com/archives/libvir-list/2022-June/232322.html
Those are in now. Can you confirm I can push the remaining patches?
Sure, to both: Reviewed-by: Erik Skultety <eskultet@redhat.com>
participants (2)
-
Andrea Bolognani
-
Erik Skultety