From nobody Sat May 18 18:27:54 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1714052969618453.9655130441412; Thu, 25 Apr 2024 06:49:29 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 898AB22D4; Thu, 25 Apr 2024 09:49:28 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 1D680236D; Thu, 25 Apr 2024 09:47:07 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 1BF7A22C4; Thu, 25 Apr 2024 09:46:58 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 1691422AD for ; Thu, 25 Apr 2024 09:46:55 -0400 (EDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-110-9iEz6S1VOcqIAmy0q8tcpQ-1; Thu, 25 Apr 2024 09:46:54 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id CCFDE1827142 for ; Thu, 25 Apr 2024 13:46:53 +0000 (UTC) Received: from toolbox.redhat.com (unknown [10.42.28.102]) by smtp.corp.redhat.com (Postfix) with ESMTP id 46218C01595; Thu, 25 Apr 2024 13:46:53 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: 9iEz6S1VOcqIAmy0q8tcpQ-1 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: devel@lists.libvirt.org Cc: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 1/2] ci: refresh with latest lcitool manifest Date: Thu, 25 Apr 2024 14:46:50 +0100 Message-ID: <20240425134651.2200380-2-berrange@redhat.com> In-Reply-To: <20240425134651.2200380-1-berrange@redhat.com> References: <20240425134651.2200380-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: M4RXFZRDHP7K5BV3CPVC5Q2DN6FRZNM5 X-Message-ID-Hash: M4RXFZRDHP7K5BV3CPVC5Q2DN6FRZNM5 X-MailFrom: berrange@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1714052971423100001 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=C3=A9 Reviewed-by: Michal Privoznik --- 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-ed= ge.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/cento= s-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 =20 # upstream: pushes to the default branch - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D=3D "push" && $CI_COMMIT_BRANCH =3D=3D $CI_DEFAULT_BRANCH &= & $JOB_OPTIONAL' @@ -53,90 +53,89 @@ - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D=3D "push" && $RUN_PIPELINE_UPSTREAM_ENV' when: on_success =20 - # upstream: other web/api/scheduled pipelines targeting the default br= anch - - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME =3D=3D $CI_DE= FAULT_BRANCH && $JOB_OPTIONAL' + # forks: pushes to branches with pipeline requested + - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D=3D "push" && $RUN_PIPELINE && $JOB_OPTIONAL' when: manual allow_failure: true - - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME =3D=3D $CI_DE= FAULT_BRANCH' + variables: + IMAGE: $TARGET_BASE_IMAGE + - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D=3D "push" && $RUN_PIPELINE' when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE =20 - # upstream+forks: merge requests targeting the default branch, without= CI changes - - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $CI_DEFAULT_BRANCH' + + ### MERGE REQUEST events + + # upstream+forks: merge requests targeting the default branch, with CI= changes + - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' changes: - ci/gitlab/container-templates.yml - ci/containers/$NAME.Dockerfile - when: never - - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true + variables: + IMAGE: $TARGET_BASE_IMAGE - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $CI_DEFAULT_BRANCH' + changes: + - ci/gitlab/container-templates.yml + - ci/containers/$NAME.Dockerfile when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE =20 - - ### Rules where we need to use the target base container image - - # forks: pushes to branches with pipeline requested - - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D=3D "push" && $RUN_PIPELINE && $JOB_OPTIONAL' + # upstream+forks: merge requests targeting the default branch + - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true - variables: - IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D=3D "push" && $RUN_PIPELINE' + - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $CI_DEFAULT_BRANCH' when: on_success - variables: - IMAGE: $TARGET_BASE_IMAGE =20 - # upstream: other web/api/scheduled pipelines targeting non-default br= anches - - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME !=3D $CI_DEFA= ULT_BRANCH && $JOB_OPTIONAL' + # upstream+forks: merge requests targeting non-default branches + - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME !=3D $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true variables: IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME !=3D $CI_DEFA= ULT_BRANCH' + - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME !=3D $CI_DEFAULT_BRANCH' when: on_success variables: IMAGE: $TARGET_BASE_IMAGE =20 - # forks: other web/api/scheduled pipelines - - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D~ /(web|api|schedule)/ && $JOB_OPTIONAL' + + ### WEB / API / SCHEDULED events + + # upstream: other web/api/scheduled pipelines targeting the default br= anch + - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME =3D=3D $CI_DE= FAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true - variables: - IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D~ /(web|api|schedule)/' + - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME =3D=3D $CI_DE= FAULT_BRANCH' when: on_success - variables: - IMAGE: $TARGET_BASE_IMAGE =20 - # upstream+forks: merge requests targeting the default branch, with CI= changes - - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' - changes: - - ci/gitlab/container-templates.yml - - ci/containers/$NAME.Dockerfile + # upstream: other web/api/scheduled pipelines targeting non-default br= anches + - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME !=3D $CI_DEFA= ULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true variables: IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $CI_DEFAULT_BRANCH' - changes: - - ci/gitlab/container-templates.yml - - ci/containers/$NAME.Dockerfile + - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME !=3D $CI_DEFA= ULT_BRANCH' when: on_success variables: IMAGE: $TARGET_BASE_IMAGE =20 - # upstream+forks: merge requests targeting non-default branches - - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME !=3D $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' + # forks: other web/api/scheduled pipelines on any branches + - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D~ /(web|api|schedule)/ && $JOB_OPTIONAL' when: manual allow_failure: true variables: IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME !=3D $CI_DEFAULT_BRANCH' + - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D~ /(web|api|schedule)/' when: on_success variables: IMAGE: $TARGET_BASE_IMAGE =20 - ### Neither prebuilt or local container images + + ### Catch all unhandled events =20 # upstream+forks: that's all folks - when: never @@ -174,7 +173,7 @@ variables: IMAGE: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/libvirt/ci-$NAME-cross-$CR= OSS:latest rules: - ### Rules where we expect to use pre-built container images + ### PUSH events =20 # upstream: pushes to the default branch - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D=3D "push" && $CI_COMMIT_BRANCH =3D=3D $CI_DEFAULT_BRANCH &= & $JOB_OPTIONAL' @@ -190,90 +189,89 @@ - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D=3D "push" && $RUN_PIPELINE_UPSTREAM_ENV' when: on_success =20 - # upstream: other web/api/scheduled pipelines targeting the default br= anch - - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME =3D=3D $CI_DE= FAULT_BRANCH && $JOB_OPTIONAL' + # forks: pushes to branches with pipeline requested + - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D=3D "push" && $RUN_PIPELINE && $JOB_OPTIONAL' when: manual allow_failure: true - - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME =3D=3D $CI_DE= FAULT_BRANCH' + variables: + IMAGE: $TARGET_BASE_IMAGE + - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D=3D "push" && $RUN_PIPELINE' when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE =20 - # upstream+forks: merge requests targeting the default branch, without= CI changes - - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $CI_DEFAULT_BRANCH' + + ### MERGE REQUEST events + + # upstream+forks: merge requests targeting the default branch, with CI= changes + - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' changes: - ci/gitlab/container-templates.yml - ci/containers/$NAME-cross-$CROSS.Dockerfile - when: never - - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true + variables: + IMAGE: $TARGET_BASE_IMAGE - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $CI_DEFAULT_BRANCH' + changes: + - ci/gitlab/container-templates.yml + - ci/containers/$NAME-cross-$CROSS.Dockerfile when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE =20 - - ### Rules where we need to use the target base container image - - # forks: pushes to branches with pipeline requested - - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D=3D "push" && $RUN_PIPELINE && $JOB_OPTIONAL' + # upstream+forks: merge requests targeting the default branch + - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true - variables: - IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D=3D "push" && $RUN_PIPELINE' + - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $CI_DEFAULT_BRANCH' when: on_success - variables: - IMAGE: $TARGET_BASE_IMAGE =20 - # upstream: other web/api/scheduled pipelines targeting non-default br= anches - - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME !=3D $CI_DEFA= ULT_BRANCH && $JOB_OPTIONAL' + # upstream+forks: merge requests targeting non-default branches + - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME !=3D $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true variables: IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME !=3D $CI_DEFA= ULT_BRANCH' + - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME !=3D $CI_DEFAULT_BRANCH' when: on_success variables: IMAGE: $TARGET_BASE_IMAGE =20 - # forks: other web/api/scheduled pipelines - - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D~ /(web|api|schedule)/ && $JOB_OPTIONAL' + + ### WEB / API / SCHEDULED events + + # upstream: other web/api/scheduled pipelines targeting the default br= anch + - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME =3D=3D $CI_DE= FAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true - variables: - IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D~ /(web|api|schedule)/' + - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME =3D=3D $CI_DE= FAULT_BRANCH' when: on_success - variables: - IMAGE: $TARGET_BASE_IMAGE =20 - # upstream+forks: merge requests targeting the default branch, with CI= changes - - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $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 br= anches + - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME !=3D $CI_DEFA= ULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true variables: IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME =3D=3D $CI_DEFAULT_BRANCH' - changes: - - ci/gitlab/container-templates.yml - - ci/containers/$NAME-cross-$CROSS.Dockerfile + - if: '$CI_PROJECT_NAMESPACE =3D=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIP= ELINE_SOURCE =3D~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME !=3D $CI_DEFA= ULT_BRANCH' when: on_success variables: IMAGE: $TARGET_BASE_IMAGE =20 - # upstream+forks: merge requests targeting non-default branches - - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME !=3D $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' + # forks: other web/api/scheduled pipelines on any branches + - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D~ /(web|api|schedule)/ && $JOB_OPTIONAL' when: manual allow_failure: true variables: IMAGE: $TARGET_BASE_IMAGE - - if: '$CI_PIPELINE_SOURCE =3D=3D "merge_request_event" && $CI_MERGE_R= EQUEST_TARGET_BRANCH_NAME !=3D $CI_DEFAULT_BRANCH' + - if: '$CI_PROJECT_NAMESPACE !=3D $RUN_UPSTREAM_NAMESPACE && $CI_PIPEL= INE_SOURCE =3D~ /(web|api|schedule)/' when: on_success variables: IMAGE: $TARGET_BASE_IMAGE =20 - ### Neither prebuilt or local container images + + ### Catch all unhandled events =20 # 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/$NAME.yml + - set +o allexport + - cirrus-vars ci/cirrus/$NAME.yml - cat ci/cirrus/$NAME.yml - cirrus-run -v --show-build-log always ci/cirrus/$NAME.yml rules: --=20 2.43.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sat May 18 18:27:54 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1714053045147845.33249003204; Thu, 25 Apr 2024 06:50:45 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 1B7AB22CA; Thu, 25 Apr 2024 09:50:44 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 74DC82382; Thu, 25 Apr 2024 09:47:18 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id D1BF522B5; Thu, 25 Apr 2024 09:47:11 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id D1B5E22C7 for ; Thu, 25 Apr 2024 09:46:56 -0400 (EDT) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-605-ovzblWd5Nm-nNR1PrZ2R0A-1; Thu, 25 Apr 2024 09:46:54 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 803FF3820EC4 for ; Thu, 25 Apr 2024 13:46:54 +0000 (UTC) Received: from toolbox.redhat.com (unknown [10.42.28.102]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0A1D5C15771; Thu, 25 Apr 2024 13:46:53 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: ovzblWd5Nm-nNR1PrZ2R0A-1 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: devel@lists.libvirt.org Cc: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 2/2] ci: drop CentOS 8 Stream and refresh Date: Thu, 25 Apr 2024 14:46:51 +0100 Message-ID: <20240425134651.2200380-3-berrange@redhat.com> In-Reply-To: <20240425134651.2200380-1-berrange@redhat.com> References: <20240425134651.2200380-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: IKPRXAM37SKF2LA2ZAIA4AN46ML3MZXY X-Message-ID-Hash: IKPRXAM37SKF2LA2ZAIA4AN46ML3MZXY X-MailFrom: berrange@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1714053045662100001 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=C3=A9 Reviewed-by: Michal Privoznik --- 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=3D"/usr/libexec/ccache-wrappers" -export LANG=3D"en_US.UTF-8" -export MAKE=3D"/usr/bin/make" -export NINJA=3D"/usr/bin/ninja" -export PYTHON=3D"/usr/bin/python3" diff --git a/ci/containers/centos-stream-8.Dockerfile b/ci/containers/cento= s-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 =20 =20 -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 =20 =20 -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' =20 -# 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 =20 - centos-stream-8: - jobs: - - arch: x86_64 - artifacts: - expire_in: 1 day - paths: - - libvirt-rpms - centos-stream-9: jobs: - arch: x86_64 --=20 2.43.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org