[PATCH 0/2] ci : drop CentOS 8 Stream

CentOS 8 Stream goes EOL at the end of May, and unlike most other distros, it will actively break the ability to install and update it, as package repos are all archived. We thus have to stop using it in CI, but fortunately Alma Linux 8 continues to give us enough ongoing coverage. The exception is the integration tests. To keep those working would require the custom runner to be reinstalled with Alma Linux, which I don't have access to do. Daniel P. Berrangé (2): ci: refresh with latest lcitool manifest ci: drop CentOS 8 Stream and refresh ci/buildenv/alpine-319.sh | 2 +- ci/buildenv/alpine-edge.sh | 2 +- ci/buildenv/centos-stream-8.sh | 104 ------------- ci/buildenv/centos-stream-9.sh | 1 + ci/cirrus/build.yml | 2 +- ci/containers/alpine-319.Dockerfile | 2 +- ci/containers/alpine-edge.Dockerfile | 2 +- ci/containers/centos-stream-8.Dockerfile | 107 ------------- ci/containers/centos-stream-9.Dockerfile | 1 + ci/gitlab/build-templates.yml | 184 ++++++++++------------- ci/gitlab/builds.yml | 15 -- ci/gitlab/containers.yml | 7 - ci/integration.yml | 24 --- ci/manifest.yml | 8 - 14 files changed, 90 insertions(+), 371 deletions(-) delete mode 100644 ci/buildenv/centos-stream-8.sh delete mode 100644 ci/containers/centos-stream-8.Dockerfile -- 2.43.0

This brings in a fix to the job rules which solves a problem with jobs getting skipped in merge requests in some scenarios. It also changes the way Cirrus CI vars are set, which involves a weak to the way $PATH is set in build.yml. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- ci/buildenv/alpine-319.sh | 2 +- ci/buildenv/alpine-edge.sh | 2 +- ci/buildenv/centos-stream-9.sh | 1 + ci/cirrus/build.yml | 2 +- ci/containers/alpine-319.Dockerfile | 2 +- ci/containers/alpine-edge.Dockerfile | 2 +- ci/containers/centos-stream-9.Dockerfile | 1 + ci/gitlab/build-templates.yml | 184 ++++++++++------------- 8 files changed, 90 insertions(+), 106 deletions(-) diff --git a/ci/buildenv/alpine-319.sh b/ci/buildenv/alpine-319.sh index c1aedf79b8..43fcb38a46 100644 --- a/ci/buildenv/alpine-319.sh +++ b/ci/buildenv/alpine-319.sh @@ -69,7 +69,7 @@ function install_buildenv() { xen-dev \ yajl-dev rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED - apk list | sort > /packages.txt + apk list --installed | sort > /packages.txt mkdir -p /usr/libexec/ccache-wrappers ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang diff --git a/ci/buildenv/alpine-edge.sh b/ci/buildenv/alpine-edge.sh index c1aedf79b8..43fcb38a46 100644 --- a/ci/buildenv/alpine-edge.sh +++ b/ci/buildenv/alpine-edge.sh @@ -69,7 +69,7 @@ function install_buildenv() { xen-dev \ yajl-dev rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED - apk list | sort > /packages.txt + apk list --installed | sort > /packages.txt mkdir -p /usr/libexec/ccache-wrappers ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang diff --git a/ci/buildenv/centos-stream-9.sh b/ci/buildenv/centos-stream-9.sh index d5cfde517f..8dabda22b3 100644 --- a/ci/buildenv/centos-stream-9.sh +++ b/ci/buildenv/centos-stream-9.sh @@ -43,6 +43,7 @@ function install_buildenv() { libblkid-devel \ libcap-ng-devel \ libcurl-devel \ + libiscsi-devel \ libnbd-devel \ libnl3-devel \ libpcap-devel \ diff --git a/ci/cirrus/build.yml b/ci/cirrus/build.yml index 0ae5c2ce64..c0ac05f4d9 100644 --- a/ci/cirrus/build.yml +++ b/ci/cirrus/build.yml @@ -6,7 +6,7 @@ env: CI_COMMIT_REF_NAME: "@CI_COMMIT_REF_NAME@" CI_MERGE_REQUEST_REF_PATH: "@CI_MERGE_REQUEST_REF_PATH@" CI_COMMIT_SHA: "@CI_COMMIT_SHA@" - PATH: "@PATH@" + PATH: "@PATH_EXTRA@:$PATH" PKG_CONFIG_PATH: "@PKG_CONFIG_PATH@" PYTHON: "@PYTHON@" MAKE: "@MAKE@" diff --git a/ci/containers/alpine-319.Dockerfile b/ci/containers/alpine-319.Dockerfile index 1a7a5c4d69..2455184a87 100644 --- a/ci/containers/alpine-319.Dockerfile +++ b/ci/containers/alpine-319.Dockerfile @@ -70,7 +70,7 @@ RUN apk update && \ xen-dev \ yajl-dev && \ rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \ - apk list | sort > /packages.txt && \ + apk list --installed | sort > /packages.txt && \ mkdir -p /usr/libexec/ccache-wrappers && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \ diff --git a/ci/containers/alpine-edge.Dockerfile b/ci/containers/alpine-edge.Dockerfile index dfe233a1d5..b28c96692c 100644 --- a/ci/containers/alpine-edge.Dockerfile +++ b/ci/containers/alpine-edge.Dockerfile @@ -70,7 +70,7 @@ RUN apk update && \ xen-dev \ yajl-dev && \ rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \ - apk list | sort > /packages.txt && \ + apk list --installed | sort > /packages.txt && \ mkdir -p /usr/libexec/ccache-wrappers && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \ diff --git a/ci/containers/centos-stream-9.Dockerfile b/ci/containers/centos-stream-9.Dockerfile index 84465a8df9..082b18d06f 100644 --- a/ci/containers/centos-stream-9.Dockerfile +++ b/ci/containers/centos-stream-9.Dockerfile @@ -44,6 +44,7 @@ RUN dnf distro-sync -y && \ libblkid-devel \ libcap-ng-devel \ libcurl-devel \ + libiscsi-devel \ libnbd-devel \ libnl3-devel \ libpcap-devel \ diff --git a/ci/gitlab/build-templates.yml b/ci/gitlab/build-templates.yml index 75d9a6f127..b1e41b0783 100644 --- a/ci/gitlab/build-templates.yml +++ b/ci/gitlab/build-templates.yml @@ -37,7 +37,7 @@ variables: IMAGE: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/libvirt/ci-$NAME:latest rules: - ### Rules where we expect to use pre-built container images + ### PUSH events # upstream: pushes to the default branch - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' @@ -53,90 +53,89 @@ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV' when: on_success - # upstream: other web/api/scheduled pipelines targeting the default branch - - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' + # forks: pushes to branches with pipeline requested + - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE && $JOB_OPTIONAL' when: manual allow_failure: true - - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH' + variables: + IMAGE: $TARGET_BASE_IMAGE + - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE' when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE - # upstream+forks: merge requests targeting the default branch, without CI changes - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH' + + ### MERGE REQUEST events + + # upstream+forks: merge requests targeting the default branch, with CI changes + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' changes: - ci/gitlab/container-templates.yml - ci/containers/$NAME.Dockerfile - when: never - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true + variables: + IMAGE: $TARGET_BASE_IMAGE - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH' + changes: + - ci/gitlab/container-templates.yml + - ci/containers/$NAME.Dockerfile when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE - - ### Rules where we need to use the target base container image - - # forks: pushes to branches with pipeline requested - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE && $JOB_OPTIONAL' + # upstream+forks: merge requests targeting the default branch + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true - variables: - IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE' + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH' when: on_success - variables: - IMAGE: $TARGET_BASE_IMAGE - # upstream: other web/api/scheduled pipelines targeting non-default branches - - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' + # upstream+forks: merge requests targeting non-default branches + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true variables: IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH' + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH' when: on_success variables: IMAGE: $TARGET_BASE_IMAGE - # forks: other web/api/scheduled pipelines - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $JOB_OPTIONAL' + + ### WEB / API / SCHEDULED events + + # upstream: other web/api/scheduled pipelines targeting the default branch + - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true - variables: - IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/' + - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH' when: on_success - variables: - IMAGE: $TARGET_BASE_IMAGE - # upstream+forks: merge requests targeting the default branch, with CI changes - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' - changes: - - ci/gitlab/container-templates.yml - - ci/containers/$NAME.Dockerfile + # upstream: other web/api/scheduled pipelines targeting non-default branches + - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true variables: IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH' - changes: - - ci/gitlab/container-templates.yml - - ci/containers/$NAME.Dockerfile + - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH' when: on_success variables: IMAGE: $TARGET_BASE_IMAGE - # upstream+forks: merge requests targeting non-default branches - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' + # forks: other web/api/scheduled pipelines on any branches + - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $JOB_OPTIONAL' when: manual allow_failure: true variables: IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH' + - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/' when: on_success variables: IMAGE: $TARGET_BASE_IMAGE - ### Neither prebuilt or local container images + + ### Catch all unhandled events # upstream+forks: that's all folks - when: never @@ -174,7 +173,7 @@ variables: IMAGE: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/libvirt/ci-$NAME-cross-$CROSS:latest rules: - ### Rules where we expect to use pre-built container images + ### PUSH events # upstream: pushes to the default branch - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' @@ -190,90 +189,89 @@ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV' when: on_success - # upstream: other web/api/scheduled pipelines targeting the default branch - - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' + # forks: pushes to branches with pipeline requested + - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE && $JOB_OPTIONAL' when: manual allow_failure: true - - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH' + variables: + IMAGE: $TARGET_BASE_IMAGE + - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE' when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE - # upstream+forks: merge requests targeting the default branch, without CI changes - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH' + + ### MERGE REQUEST events + + # upstream+forks: merge requests targeting the default branch, with CI changes + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' changes: - ci/gitlab/container-templates.yml - ci/containers/$NAME-cross-$CROSS.Dockerfile - when: never - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true + variables: + IMAGE: $TARGET_BASE_IMAGE - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH' + changes: + - ci/gitlab/container-templates.yml + - ci/containers/$NAME-cross-$CROSS.Dockerfile when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE - - ### Rules where we need to use the target base container image - - # forks: pushes to branches with pipeline requested - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE && $JOB_OPTIONAL' + # upstream+forks: merge requests targeting the default branch + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true - variables: - IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE' + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH' when: on_success - variables: - IMAGE: $TARGET_BASE_IMAGE - # upstream: other web/api/scheduled pipelines targeting non-default branches - - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' + # upstream+forks: merge requests targeting non-default branches + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true variables: IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH' + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH' when: on_success variables: IMAGE: $TARGET_BASE_IMAGE - # forks: other web/api/scheduled pipelines - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $JOB_OPTIONAL' + + ### WEB / API / SCHEDULED events + + # upstream: other web/api/scheduled pipelines targeting the default branch + - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true - variables: - IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/' + - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH' when: on_success - variables: - IMAGE: $TARGET_BASE_IMAGE - # upstream+forks: merge requests targeting the default branch, with CI changes - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' - changes: - - ci/gitlab/container-templates.yml - - ci/containers/$NAME-cross-$CROSS.Dockerfile + # upstream: other web/api/scheduled pipelines targeting non-default branches + - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true variables: IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH' - changes: - - ci/gitlab/container-templates.yml - - ci/containers/$NAME-cross-$CROSS.Dockerfile + - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH' when: on_success variables: IMAGE: $TARGET_BASE_IMAGE - # upstream+forks: merge requests targeting non-default branches - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' + # forks: other web/api/scheduled pipelines on any branches + - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $JOB_OPTIONAL' when: manual allow_failure: true variables: IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH' + - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/' when: on_success variables: IMAGE: $TARGET_BASE_IMAGE - ### Neither prebuilt or local container images + + ### Catch all unhandled events # upstream+forks: that's all folks - when: never @@ -285,26 +283,10 @@ interruptible: true needs: [] script: + - set -o allexport - 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_MERGE_REQUEST_REF_PATH@|$CI_MERGE_REQUEST_REF_PATH|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 + - set +o allexport + - cirrus-vars <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: -- 2.43.0

This drops the CentOS 8 Stream distro target, since that is going EOL at the end of May, at which point it will cease to be installable due to package repos being archived. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- ci/buildenv/centos-stream-8.sh | 104 ---------------------- ci/containers/centos-stream-8.Dockerfile | 107 ----------------------- ci/gitlab/builds.yml | 15 ---- ci/gitlab/containers.yml | 7 -- ci/integration.yml | 24 ----- ci/manifest.yml | 8 -- 6 files changed, 265 deletions(-) delete mode 100644 ci/buildenv/centos-stream-8.sh delete mode 100644 ci/containers/centos-stream-8.Dockerfile diff --git a/ci/buildenv/centos-stream-8.sh b/ci/buildenv/centos-stream-8.sh deleted file mode 100644 index 542b2a70ba..0000000000 --- a/ci/buildenv/centos-stream-8.sh +++ /dev/null @@ -1,104 +0,0 @@ -# THIS FILE WAS AUTO-GENERATED -# -# $ lcitool manifest ci/manifest.yml -# -# https://gitlab.com/libvirt/libvirt-ci - -function install_buildenv() { - dnf distro-sync -y - dnf install 'dnf-command(config-manager)' -y - dnf config-manager --set-enabled -y powertools - dnf install -y centos-release-advanced-virtualization - dnf install -y epel-release - dnf install -y epel-next-release - dnf install -y \ - audit-libs-devel \ - augeas \ - bash-completion \ - ca-certificates \ - ccache \ - clang \ - cpp \ - cyrus-sasl-devel \ - device-mapper-devel \ - diffutils \ - dwarves \ - ebtables \ - firewalld-filesystem \ - fuse-devel \ - gcc \ - 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 \ - libnbd-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 \ - pkgconfig \ - polkit \ - python3 \ - python3-docutils \ - python3-flake8 \ - python3-pip \ - python3-pytest \ - python3-setuptools \ - python3-wheel \ - qemu-img \ - readline-devel \ - rpm-build \ - sanlock-devel \ - sed \ - systemd-devel \ - systemd-rpm-macros \ - systemtap-sdt-devel \ - wireshark-devel \ - yajl-devel - rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED - rpm -qa | sort > /packages.txt - mkdir -p /usr/libexec/ccache-wrappers - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc - /usr/bin/pip3 install black -} - -export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers" -export LANG="en_US.UTF-8" -export MAKE="/usr/bin/make" -export NINJA="/usr/bin/ninja" -export PYTHON="/usr/bin/python3" diff --git a/ci/containers/centos-stream-8.Dockerfile b/ci/containers/centos-stream-8.Dockerfile deleted file mode 100644 index 5765c6dfc2..0000000000 --- a/ci/containers/centos-stream-8.Dockerfile +++ /dev/null @@ -1,107 +0,0 @@ -# THIS FILE WAS AUTO-GENERATED -# -# $ lcitool manifest ci/manifest.yml -# -# https://gitlab.com/libvirt/libvirt-ci - -FROM quay.io/centos/centos:stream8 - -RUN dnf distro-sync -y && \ - dnf install 'dnf-command(config-manager)' -y && \ - dnf config-manager --set-enabled -y powertools && \ - dnf install -y centos-release-advanced-virtualization && \ - dnf install -y epel-release && \ - dnf install -y epel-next-release && \ - dnf install -y \ - audit-libs-devel \ - augeas \ - bash-completion \ - ca-certificates \ - ccache \ - clang \ - cpp \ - cyrus-sasl-devel \ - device-mapper-devel \ - diffutils \ - dwarves \ - ebtables \ - firewalld-filesystem \ - fuse-devel \ - gcc \ - 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 \ - libnbd-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 \ - pkgconfig \ - polkit \ - python3 \ - python3-docutils \ - python3-flake8 \ - python3-pip \ - python3-pytest \ - python3-setuptools \ - python3-wheel \ - qemu-img \ - readline-devel \ - rpm-build \ - sanlock-devel \ - sed \ - systemd-devel \ - systemd-rpm-macros \ - systemtap-sdt-devel \ - wireshark-devel \ - yajl-devel && \ - dnf autoremove -y && \ - dnf clean all -y && \ - rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \ - rpm -qa | sort > /packages.txt && \ - mkdir -p /usr/libexec/ccache-wrappers && \ - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \ - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc - -RUN /usr/bin/pip3 install black - -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" -ENV LANG "en_US.UTF-8" -ENV MAKE "/usr/bin/make" -ENV NINJA "/usr/bin/ninja" -ENV PYTHON "/usr/bin/python3" diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml index b23a3989b9..1629e02525 100644 --- a/ci/gitlab/builds.yml +++ b/ci/gitlab/builds.yml @@ -55,21 +55,6 @@ x86_64-alpine-edge: TARGET_BASE_IMAGE: docker.io/library/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 - TARGET_BASE_IMAGE: quay.io/centos/centos:stream8 - artifacts: - expire_in: 1 day - paths: - - libvirt-rpms - - x86_64-centos-stream-9: extends: .native_build_job needs: diff --git a/ci/gitlab/containers.yml b/ci/gitlab/containers.yml index add5e2360f..b7ae60b10a 100644 --- a/ci/gitlab/containers.yml +++ b/ci/gitlab/containers.yml @@ -28,13 +28,6 @@ x86_64-alpine-edge-container: 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 diff --git a/ci/integration.yml b/ci/integration.yml index f754c59962..d3859c54e8 100644 --- a/ci/integration.yml +++ b/ci/integration.yml @@ -1,30 +1,6 @@ include: - 'ci/integration-template.yml' -# NOTE The integration tests use artifacts produced by the libvirt-perl -# and libvirt-python CI jobs, so the new target needs to be introduced -# there before it can be used here. The VM template for the target -# also needs to be created on the runner host. -centos-stream-8-tests: - extends: .integration_tests - variables: - # needed by libvirt-gitlab-executor - DISTRO: centos-stream-8 - # 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 - needs: - - x86_64-centos-stream-8 - - project: libvirt/libvirt-perl - job: x86_64-centos-stream-8 - ref: master - artifacts: true - - project: libvirt/libvirt-python - job: x86_64-centos-stream-8 - ref: master - artifacts: true - # NOTE The integration tests use artifacts produced by the libvirt-perl # and libvirt-python CI jobs, so the new target needs to be introduced # there before it can be used here. The VM template for the target diff --git a/ci/manifest.yml b/ci/manifest.yml index 44353dd05b..84d31866fc 100644 --- a/ci/manifest.yml +++ b/ci/manifest.yml @@ -26,14 +26,6 @@ targets: - arch: x86_64 allow-failure: true - centos-stream-8: - jobs: - - arch: x86_64 - artifacts: - expire_in: 1 day - paths: - - libvirt-rpms - centos-stream-9: jobs: - arch: x86_64 -- 2.43.0

On 4/25/24 15:46, Daniel P. Berrangé wrote:
CentOS 8 Stream goes EOL at the end of May, and unlike most other distros, it will actively break the ability to install and update it, as package repos are all archived. We thus have to stop using it in CI, but fortunately Alma Linux 8 continues to give us enough ongoing coverage.
The exception is the integration tests. To keep those working would require the custom runner to be reinstalled with Alma Linux, which I don't have access to do.
Daniel P. Berrangé (2): ci: refresh with latest lcitool manifest ci: drop CentOS 8 Stream and refresh
ci/buildenv/alpine-319.sh | 2 +- ci/buildenv/alpine-edge.sh | 2 +- ci/buildenv/centos-stream-8.sh | 104 ------------- ci/buildenv/centos-stream-9.sh | 1 + ci/cirrus/build.yml | 2 +- ci/containers/alpine-319.Dockerfile | 2 +- ci/containers/alpine-edge.Dockerfile | 2 +- ci/containers/centos-stream-8.Dockerfile | 107 ------------- ci/containers/centos-stream-9.Dockerfile | 1 + ci/gitlab/build-templates.yml | 184 ++++++++++------------- ci/gitlab/builds.yml | 15 -- ci/gitlab/containers.yml | 7 - ci/integration.yml | 24 --- ci/manifest.yml | 8 - 14 files changed, 90 insertions(+), 371 deletions(-) delete mode 100644 ci/buildenv/centos-stream-8.sh delete mode 100644 ci/containers/centos-stream-8.Dockerfile
Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Michal

On Thu, Apr 25, 2024 at 03:55:54PM +0200, Michal Prívozník wrote:
On 4/25/24 15:46, Daniel P. Berrangé wrote:
CentOS 8 Stream goes EOL at the end of May, and unlike most other distros, it will actively break the ability to install and update it, as package repos are all archived. We thus have to stop using it in CI, but fortunately Alma Linux 8 continues to give us enough ongoing coverage.
The exception is the integration tests. To keep those working would require the custom runner to be reinstalled with Alma Linux, which I don't have access to do.
Daniel P. Berrangé (2): ci: refresh with latest lcitool manifest ci: drop CentOS 8 Stream and refresh
ci/buildenv/alpine-319.sh | 2 +- ci/buildenv/alpine-edge.sh | 2 +- ci/buildenv/centos-stream-8.sh | 104 ------------- ci/buildenv/centos-stream-9.sh | 1 + ci/cirrus/build.yml | 2 +- ci/containers/alpine-319.Dockerfile | 2 +- ci/containers/alpine-edge.Dockerfile | 2 +- ci/containers/centos-stream-8.Dockerfile | 107 ------------- ci/containers/centos-stream-9.Dockerfile | 1 + ci/gitlab/build-templates.yml | 184 ++++++++++------------- ci/gitlab/builds.yml | 15 -- ci/gitlab/containers.yml | 7 - ci/integration.yml | 24 --- ci/manifest.yml | 8 - 14 files changed, 90 insertions(+), 371 deletions(-) delete mode 100644 ci/buildenv/centos-stream-8.sh delete mode 100644 ci/containers/centos-stream-8.Dockerfile
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
BTW, I'lll hold this until after the release. 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 :|
participants (2)
-
Daniel P. Berrangé
-
Michal Prívozník