From nobody Fri Dec 19 06:30:56 2025 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 --- 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