From nobody Sat May 18 10:08:03 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1684331768; cv=none; d=zohomail.com; s=zohoarc; b=fOfTmPlI5gAKXtqrvGlELJeXGroJ0wlsYmiMaEGT6YnwUdkfy7NCPh2S/tZL2v9qxWnlg1g7RCX+bZr7GGVv3My73XV91sjINDDfZGcoUpt8SoZHT9geTne4Yj5O3Qz0kz7c/9BNrr8Q6LQp59WfcoHBbHIaJCgA4RRctSsLmqQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1684331768; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=IMOlrwNzm+GSzcvWy1f34B0rA4vW8/T94j/5OPXHceg=; b=b9yaA46VoNzfbnGGf7Fhw2n5CQHK0M+TqX7ZJs1oEml1UGnQzol9OSMwNyYJtsIU00EjmrGspG86GoDCIvJPoQJwRtLuEA+aOmUSFlTO78YSBYyfezjpfGDMqrj2S8Xlu02WXemW/+qRPS8BhHBOpwymAIymYMg5KRBLWlm1ecE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1684331768413484.53041887812356; Wed, 17 May 2023 06:56:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pzHcl-0005dg-3l; Wed, 17 May 2023 09:55:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pzHcP-0005bK-UT for qemu-devel@nongnu.org; Wed, 17 May 2023 09:55:08 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pzHcL-0008F8-SP for qemu-devel@nongnu.org; Wed, 17 May 2023 09:55:04 -0400 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-523-IUb32ZAXOE-yZgas1tpaxQ-1; Wed, 17 May 2023 09:54:55 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 185AB3C1485C; Wed, 17 May 2023 13:54:55 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.42.28.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id 83AD0492C3F; Wed, 17 May 2023 13:54:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1684331700; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=IMOlrwNzm+GSzcvWy1f34B0rA4vW8/T94j/5OPXHceg=; b=PrnJhgF42j1DTxa5mAgEnT9seclDiPd+j2nM45CKQDB4bdMAMpw/bGjB0EsJaZ9KOhy3by g0pSH2M8erMTcxPIX23zfkNZENljlLfbUZ2HIIT9YlTMPCpoaf0+ZhTiZSR7TYcP22T4+M JK/ss17J8J69nmyFpB6vtiGzmh2C23g= X-MC-Unique: IUb32ZAXOE-yZgas1tpaxQ-1 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: Wainer dos Santos Moschetta , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Beraldo Leal , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 1/5] gitlab: centralize the container tag name Date: Wed, 17 May 2023 14:54:44 +0100 Message-Id: <20230517135448.262483-2-berrange@redhat.com> In-Reply-To: <20230517135448.262483-1-berrange@redhat.com> References: <20230517135448.262483-1-berrange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=berrange@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1684331768895100002 We use a fixed container tag of 'latest' so that contributors' forks don't end up with an ever growing number of containers as they work on throwaway feature branches. This fixed tag causes problems running CI upstream in stable staging branches, however, because the stable staging branch will publish old container content that clashes with that needed by primary staging branch. This makes it impossible to reliably run CI pipelines in parallel in upstream for different staging branches. This introduces $QEMU_CI_CONTAINER_TAG global variable as a way to change which tag container publishing uses. Initially it can be set by contributors as a git push option if they want to override the default use of 'latest' eg git push gitlab -o ci.variable=3DQEMU_CONTAINER_TAG=3Dfish this is useful if contributors need to run pipelines for different branches concurrently in their forks. Signed-off-by: Daniel P. Berrang=C3=A9 Reviewed-by: Michael Tokarev Reviewed-by: Richard Henderson --- .gitlab-ci.d/base.yml | 6 ++++++ .gitlab-ci.d/buildtest-template.yml | 4 ++-- .gitlab-ci.d/buildtest.yml | 4 ++-- .gitlab-ci.d/container-template.yml | 3 ++- .gitlab-ci.d/crossbuild-template.yml | 6 +++--- .gitlab-ci.d/static_checks.yml | 4 ++-- docs/devel/ci-jobs.rst.inc | 5 +++++ 7 files changed, 22 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.d/base.yml b/.gitlab-ci.d/base.yml index 2fbb58d2a3..fba9d31cc6 100644 --- a/.gitlab-ci.d/base.yml +++ b/.gitlab-ci.d/base.yml @@ -1,4 +1,10 @@ =20 +variables: + # On stable branches this needs changing. Should also be + # overridden per pipeline if running pipelines concurrently + # for different branches in contributor forks. + QEMU_CI_CONTAINER_TAG: latest + # The order of rules defined here is critically important. # They are evaluated in order and first match wins. # diff --git a/.gitlab-ci.d/buildtest-template.yml b/.gitlab-ci.d/buildtest-t= emplate.yml index a6cfe9be97..094ae485b8 100644 --- a/.gitlab-ci.d/buildtest-template.yml +++ b/.gitlab-ci.d/buildtest-template.yml @@ -1,7 +1,7 @@ .native_build_job_template: extends: .base_job_template stage: build - image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest + image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG before_script: - JOBS=3D$(expr $(nproc) + 1) script: @@ -44,7 +44,7 @@ .common_test_job_template: extends: .base_job_template stage: test - image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest + image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG script: - scripts/git-submodule.sh update $(sed -n '/GIT_SUBMODULES=3D/ s/.*=3D// p' build/config-host.mak) diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml index bb3650a51c..35867dfe77 100644 --- a/.gitlab-ci.d/buildtest.yml +++ b/.gitlab-ci.d/buildtest.yml @@ -532,7 +532,7 @@ build-without-defaults: build-libvhost-user: extends: .base_job_template stage: build - image: $CI_REGISTRY_IMAGE/qemu/fedora:latest + image: $CI_REGISTRY_IMAGE/qemu/fedora:$QEMU_CI_CONTAINER_TAG needs: job: amd64-fedora-container script: @@ -572,7 +572,7 @@ build-tools-and-docs-debian: # of what topic branch they're currently using pages: extends: .base_job_template - image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:latest + image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:$QEMU_CI_CONTAINER_TAG stage: test needs: - job: build-tools-and-docs-debian diff --git a/.gitlab-ci.d/container-template.yml b/.gitlab-ci.d/container-t= emplate.yml index 519b8a9482..83c693c807 100644 --- a/.gitlab-ci.d/container-template.yml +++ b/.gitlab-ci.d/container-template.yml @@ -5,7 +5,8 @@ services: - docker:dind before_script: - - export TAG=3D"$CI_REGISTRY_IMAGE/qemu/$NAME:latest" + - export TAG=3D"$CI_REGISTRY_IMAGE/qemu/$NAME:$QEMU_CI_CONTAINER_TAG" + # Always ':latest' because we always use upstream as a common cache so= urce - export COMMON_TAG=3D"$CI_REGISTRY/qemu-project/qemu/qemu/$NAME:lates= t" - apk add python3 - docker info diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild= -template.yml index 4f93b9e4e5..6efb0d2a54 100644 --- a/.gitlab-ci.d/crossbuild-template.yml +++ b/.gitlab-ci.d/crossbuild-template.yml @@ -1,7 +1,7 @@ .cross_system_build_job: extends: .base_job_template stage: build - image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest + image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG timeout: 80m script: - mkdir build @@ -27,7 +27,7 @@ .cross_accel_build_job: extends: .base_job_template stage: build - image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest + image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG timeout: 30m script: - mkdir build @@ -39,7 +39,7 @@ .cross_user_build_job: extends: .base_job_template stage: build - image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest + image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG script: - mkdir build - cd build diff --git a/.gitlab-ci.d/static_checks.yml b/.gitlab-ci.d/static_checks.yml index b4cbdbce2a..ad9f426a52 100644 --- a/.gitlab-ci.d/static_checks.yml +++ b/.gitlab-ci.d/static_checks.yml @@ -26,7 +26,7 @@ check-dco: check-python-minreqs: extends: .base_job_template stage: test - image: $CI_REGISTRY_IMAGE/qemu/python:latest + image: $CI_REGISTRY_IMAGE/qemu/python:$QEMU_CI_CONTAINER_TAG script: - make -C python check-minreqs variables: @@ -37,7 +37,7 @@ check-python-minreqs: check-python-tox: extends: .base_job_template stage: test - image: $CI_REGISTRY_IMAGE/qemu/python:latest + image: $CI_REGISTRY_IMAGE/qemu/python:$QEMU_CI_CONTAINER_TAG script: - make -C python check-tox variables: diff --git a/docs/devel/ci-jobs.rst.inc b/docs/devel/ci-jobs.rst.inc index 1f28fec0d0..f72537853b 100644 --- a/docs/devel/ci-jobs.rst.inc +++ b/docs/devel/ci-jobs.rst.inc @@ -70,6 +70,11 @@ in a handful of namespaces repository CI settings, or as git push variables, to influence which jobs get run in a pipeline =20 + * QEMU_CI_CONTAINER_TAG - the tag used to publish containers + in stage 1, for use by build jobs in stage 2. Defaults to + 'latest', but if running pipelines for different branches + concurrently, it should be overridden per pipeline. + * nnn - other misc variables not falling into the above categories, or using different names for historical reasons and not yet converted. --=20 2.40.1 From nobody Sat May 18 10:08:03 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1684331735; cv=none; d=zohomail.com; s=zohoarc; b=LeqtBfW082uCoK44c229xcfpxdz1e+DoyNkae/uzESjN7AAFqIqJT8xghO8ozPfMWwtzfRw0sN8SqSNREn/d+AzSEj+pSzHWYdlxp7RQOlYflq8wP/6b196V71dmCx7id3FhkZHE/zaMAbndFIp834l9O5XGX7mhs5Y7R99BLbs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1684331735; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=UBPyQstf8/5garXCywqErl3VJr+Z3fdvh1rv6M4Bon0=; b=ddnuYCXDIrRsm08FwXB2/Fyo3apPq22WuT3xnuqz+8caBMLwA+bVcy8WgSp05t5U2XlLOkT2I/bLOOUV18lPaIJTzdc3qTVArZn6YxVqaPqzma09+qWmVXrh5vxe11LPJ9ltf1BLnFAa7NdIN3FJUu/LcaaQv1uLHihubOCqODg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1684331735729653.737712209116; Wed, 17 May 2023 06:55:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pzHcU-0005bS-DB; Wed, 17 May 2023 09:55:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pzHcN-0005b4-EB for qemu-devel@nongnu.org; Wed, 17 May 2023 09:55:03 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pzHcK-0008F2-OK for qemu-devel@nongnu.org; Wed, 17 May 2023 09:55:02 -0400 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-606-Wij1aH__O0ar63ZYPE237g-1; Wed, 17 May 2023 09:54:57 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 898FC3C14851; Wed, 17 May 2023 13:54:56 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.42.28.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id 64069492C3F; Wed, 17 May 2023 13:54:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1684331700; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UBPyQstf8/5garXCywqErl3VJr+Z3fdvh1rv6M4Bon0=; b=OHJu83GCXtVLgo0+YkKYFqSOWZ+zXRRDVxR8t6HGt7i5S7VUZLLYAFfhXcjhvp+6o9oAAW a7zQapmhvx7r7ADeW+YMBjn3pwAv7r/0OPNcdA/aRA43J9qdI4xVoALrR5Fu/rglNQsocc 3+kBTn29sXgQKVgwazb4sbSy0/ad/sE= X-MC-Unique: Wij1aH__O0ar63ZYPE237g-1 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: Wainer dos Santos Moschetta , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Beraldo Leal , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 2/5] gitlab: allow overriding name of the upstream repository Date: Wed, 17 May 2023 14:54:45 +0100 Message-Id: <20230517135448.262483-3-berrange@redhat.com> In-Reply-To: <20230517135448.262483-1-berrange@redhat.com> References: <20230517135448.262483-1-berrange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=berrange@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1684331737211100003 The CI rules have special logic for what happens in upstream. To enable contributors who modify CI rules to test this logic, however, they need to be able to override which repo is considered upstream. This introduces the 'QEMU_CI_UPSTREAM' variable git push gitlab -o ci.variable=3DQEMU_CI_UPSTREAM=3Dberrange to make it look as if my namespace is the actual upstream. Namespace in this context refers to the path fragement in gitlab URLs that is above the repository. Typically this will be the contributor's gitlab login name. Signed-off-by: Daniel P. Berrang=C3=A9 Reviewed-by: Michael Tokarev --- .gitlab-ci.d/base.yml | 19 ++++++++++++------- docs/devel/ci-jobs.rst.inc | 6 ++++++ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.d/base.yml b/.gitlab-ci.d/base.yml index fba9d31cc6..a1d734267a 100644 --- a/.gitlab-ci.d/base.yml +++ b/.gitlab-ci.d/base.yml @@ -5,6 +5,11 @@ variables: # for different branches in contributor forks. QEMU_CI_CONTAINER_TAG: latest =20 + # For purposes of CI rules, upstream is the gitlab.com/qemu-project + # namespace. When testing CI, it might be usefult to override this + # to point to a fork repo + QEMU_CI_UPSTREAM: qemu-project + # The order of rules defined here is critically important. # They are evaluated in order and first match wins. # @@ -30,23 +35,23 @@ variables: when: never =20 # Publishing jobs should only run on the default branch in upstream - - if: '$QEMU_JOB_PUBLISH =3D=3D "1" && $CI_PROJECT_NAMESPACE =3D=3D "q= emu-project" && $CI_COMMIT_BRANCH !=3D $CI_DEFAULT_BRANCH' + - if: '$QEMU_JOB_PUBLISH =3D=3D "1" && $CI_PROJECT_NAMESPACE =3D=3D $Q= EMU_CI_UPSTREAM && $CI_COMMIT_BRANCH !=3D $CI_DEFAULT_BRANCH' when: never =20 # Non-publishing jobs should only run on staging branches in upstream - - if: '$QEMU_JOB_PUBLISH !=3D "1" && $CI_PROJECT_NAMESPACE =3D=3D "qem= u-project" && $CI_COMMIT_BRANCH !~ /staging/' + - if: '$QEMU_JOB_PUBLISH !=3D "1" && $CI_PROJECT_NAMESPACE =3D=3D $QEM= U_CI_UPSTREAM && $CI_COMMIT_BRANCH !~ /staging/' when: never =20 # Jobs only intended for forks should always be skipped on upstream - - if: '$QEMU_JOB_ONLY_FORKS =3D=3D "1" && $CI_PROJECT_NAMESPACE =3D=3D= "qemu-project"' + - if: '$QEMU_JOB_ONLY_FORKS =3D=3D "1" && $CI_PROJECT_NAMESPACE =3D=3D= $QEMU_CI_UPSTREAM' when: never =20 # Forks don't get pipelines unless QEMU_CI=3D1 or QEMU_CI=3D2 is set - - if: '$QEMU_CI !=3D "1" && $QEMU_CI !=3D "2" && $CI_PROJECT_NAMESPACE= !=3D "qemu-project"' + - if: '$QEMU_CI !=3D "1" && $QEMU_CI !=3D "2" && $CI_PROJECT_NAMESPACE= !=3D $QEMU_CI_UPSTREAM' when: never =20 # Avocado jobs don't run in forks unless $QEMU_CI_AVOCADO_TESTING is s= et - - if: '$QEMU_JOB_AVOCADO && $QEMU_CI_AVOCADO_TESTING !=3D "1" && $CI_P= ROJECT_NAMESPACE !=3D "qemu-project"' + - if: '$QEMU_JOB_AVOCADO && $QEMU_CI_AVOCADO_TESTING !=3D "1" && $CI_P= ROJECT_NAMESPACE !=3D $QEMU_CI_UPSTREAM' when: never =20 =20 @@ -66,7 +71,7 @@ variables: allow_failure: true =20 # Avocado jobs can be manually start in forks if $QEMU_CI_AVOCADO_TEST= ING is unset - - if: '$QEMU_JOB_AVOCADO && $CI_PROJECT_NAMESPACE !=3D "qemu-project"' + - if: '$QEMU_JOB_AVOCADO && $CI_PROJECT_NAMESPACE !=3D $QEMU_CI_UPSTRE= AM' when: manual allow_failure: true =20 @@ -78,7 +83,7 @@ variables: =20 # Forks pipeline jobs don't start automatically unless # QEMU_CI=3D2 is set - - if: '$QEMU_CI !=3D "2" && $CI_PROJECT_NAMESPACE !=3D "qemu-project"' + - if: '$QEMU_CI !=3D "2" && $CI_PROJECT_NAMESPACE !=3D $QEMU_CI_UPSTRE= AM' when: manual =20 # Jobs can run if any jobs they depend on were successful diff --git a/docs/devel/ci-jobs.rst.inc b/docs/devel/ci-jobs.rst.inc index f72537853b..f9ef14f2eb 100644 --- a/docs/devel/ci-jobs.rst.inc +++ b/docs/devel/ci-jobs.rst.inc @@ -75,6 +75,12 @@ in a handful of namespaces 'latest', but if running pipelines for different branches concurrently, it should be overridden per pipeline. =20 + * QEMU_CI_UPSTREAM - gitlab namespace that is considerd to be + the 'upstream'. This defaults to 'qemu-project'. Contributors + may choose to override this if they are modifying rules in + base.yml and need to validate how they will operate when in + an upstream context, as opposed to their fork context. + * nnn - other misc variables not falling into the above categories, or using different names for historical reasons and not yet converted. --=20 2.40.1 From nobody Sat May 18 10:08:03 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1684331761; cv=none; d=zohomail.com; s=zohoarc; b=ZcySbk2i/OmbXtnee0uudk4eUxxh1OnwJwrQ28j+wwuljk8QDOxfo0WR0lF5dyT7EcXQ0zQGJNS11hYbyo/K+Fd7tTwqQTAV4lO3B56odRn6bGo2EEwsMM9t3P4hASjTqEmOeMyuIgeN4k5d07bDYw4tP9bug6IZqK3bKIgm6JY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1684331761; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=3keKoDUuqFKqt/AJ2mRwxTvF/wCMgiksY+zvnOw4Maw=; b=Rk5nWhsffvp7nV3QY8loYv/ymCbNprdL36VW8um8r/D9G4HNfGYvskGEAdtQ9SwqW5t85qyoKsjIKHFaG2gHnHkvGqxuKdi98sr2l2BtpyoZtexinByKpX+zoLC+UywOUm7MZRHVX7K54iCjE7FfFcYxKuaycE97fzRbLW4ZCU0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1684331761519131.0366361457436; Wed, 17 May 2023 06:56:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pzHco-0005dw-6K; Wed, 17 May 2023 09:55:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pzHcP-0005bN-UW for qemu-devel@nongnu.org; Wed, 17 May 2023 09:55:08 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pzHcL-0008F6-BS for qemu-devel@nongnu.org; Wed, 17 May 2023 09:55:03 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-646-iFV8vaPrNHenuf1zP2T73g-1; Wed, 17 May 2023 09:54:59 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 6CCD386C612; Wed, 17 May 2023 13:54:58 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.42.28.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id C7D58483EC2; Wed, 17 May 2023 13:54:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1684331700; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3keKoDUuqFKqt/AJ2mRwxTvF/wCMgiksY+zvnOw4Maw=; b=HDd9sRGI0KViwIBFewEJCYXkZyDJSy9v3DQdyodQljCkLeDM4QTZQfhYZisIyzDrb+tUvh X0si4s9msHzUF3XRT9RmnG655AzYPnPzLz4MFgIQRJLwDgzHTgLU72VTFUjt5Id6unCu34 8Ed5qwufng22pSMJcOBvGq4kzVFysO0= X-MC-Unique: iFV8vaPrNHenuf1zP2T73g-1 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: Wainer dos Santos Moschetta , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Beraldo Leal , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 3/5] gitlab: stable staging branches publish containers in a separate tag Date: Wed, 17 May 2023 14:54:46 +0100 Message-Id: <20230517135448.262483-4-berrange@redhat.com> In-Reply-To: <20230517135448.262483-1-berrange@redhat.com> References: <20230517135448.262483-1-berrange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=berrange@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1684331763635100003 If the stable staging branches publish containers under the 'latest' tag they will clash with containers published on the primary staging branch, as well as with each other. This introduces logic that overrides the container tag when jobs run against the stable staging branches. The CI_COMMIT_REF_SLUG variable we use expands to the git branch name, but with most special characters removed, such that it is valid as a docker tag name. eg 'staging-8.0' will get a slug of 'staging-8-0' Signed-off-by: Daniel P. Berrang=C3=A9 Reviewed-by: Michael Tokarev --- .gitlab-ci.d/base.yml | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.d/base.yml b/.gitlab-ci.d/base.yml index a1d734267a..f379c182a7 100644 --- a/.gitlab-ci.d/base.yml +++ b/.gitlab-ci.d/base.yml @@ -1,7 +1,7 @@ =20 variables: - # On stable branches this needs changing. Should also be - # overridden per pipeline if running pipelines concurrently + # On stable branches this is changed by later rules. Should also + # be overridden per pipeline if running pipelines concurrently # for different branches in contributor forks. QEMU_CI_CONTAINER_TAG: latest =20 @@ -16,6 +16,9 @@ variables: # Thus we group them into a number of stages, ordered from # most restrictive to least restrictive # +# For pipelines running for stable "staging-X.Y" branches +# we must override QEMU_CI_CONTAINER_TAG +# .base_job_template: variables: # Each script line from will be in a collapsible section in the job ou= tput @@ -61,11 +64,23 @@ variables: ############################################################# =20 # Optional jobs should not be run unless manually triggered + - if: '$QEMU_JOB_OPTIONAL && $CI_PROJECT_NAMESPACE =3D=3D $QEMU_CI_UPS= TREAM && $CI_COMMIT_BRANCH =3D~ /staging-[[:digit:]]+\.[[:digit:]]/' + when: manual + allow_failure: true + variables: + QEMU_CI_CONTAINER_TAG: $CI_COMMIT_REF_SLUG + - if: '$QEMU_JOB_OPTIONAL' when: manual allow_failure: true =20 # Skipped jobs should not be run unless manually triggered + - if: '$QEMU_JOB_SKIPPED && $CI_PROJECT_NAMESPACE =3D=3D $QEMU_CI_UPST= REAM && $CI_COMMIT_BRANCH =3D~ /staging-[[:digit:]]+\.[[:digit:]]/' + when: manual + allow_failure: true + variables: + QEMU_CI_CONTAINER_TAG: $CI_COMMIT_REF_SLUG + - if: '$QEMU_JOB_SKIPPED' when: manual allow_failure: true @@ -87,4 +102,9 @@ variables: when: manual =20 # Jobs can run if any jobs they depend on were successful + - if: '$QEMU_JOB_SKIPPED && $CI_PROJECT_NAMESPACE =3D=3D $QEMU_CI_UPST= REAM && $CI_COMMIT_BRANCH =3D~ /staging-[[:digit:]]+\.[[:digit:]]/' + when: on_success + variables: + QEMU_CI_CONTAINER_TAG: $CI_COMMIT_REF_SLUG + - when: on_success --=20 2.40.1 From nobody Sat May 18 10:08:03 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1684331746; cv=none; d=zohomail.com; s=zohoarc; b=I001QZS8YkANkGVbkKZXmS79lneGgK8b9cQFQpS+SqjoAExl6l519PVyIzOAlFUQcaozM5uqRL7DPukHLTiz1UQaAOKIEOATMye9q/yZiDJdEn7iP3XId6TMVei9UCmkI9bghDMVboM5ausZiYq2awCnxx7RriRH3spj0ACkt6Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1684331746; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=9QYAENMc1gk1TnMZYU8fN+lepNk5D02QeEYFIMtgXQU=; b=cenjl3C3LVRh5xMVCUZa6vVEzBwswZhbYNOCNQVeS89vdnh7zKqmf3PpyrF7RRdDMOCcsUGbl2nQH+/nj1RaJiScpL2dJLrJsDbs6VxQbpDS1uDjtUcW1inPdLbQVg0SLDiR//rmCKi18qiygxRQpQ3Ee4c5mFuMi6lE1hLnA5c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 168433174622252.393919845675896; Wed, 17 May 2023 06:55:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pzHcc-0005cV-Qc; Wed, 17 May 2023 09:55:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pzHcP-0005bL-U4 for qemu-devel@nongnu.org; Wed, 17 May 2023 09:55:08 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pzHcN-0008FV-6d for qemu-devel@nongnu.org; Wed, 17 May 2023 09:55:04 -0400 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-658-cqe4q5KjM86LIQu_ADzxXA-1; Wed, 17 May 2023 09:55:00 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 284403C025CE; Wed, 17 May 2023 13:55:00 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.42.28.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id B3F454750C0; Wed, 17 May 2023 13:54:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1684331702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9QYAENMc1gk1TnMZYU8fN+lepNk5D02QeEYFIMtgXQU=; b=eNdzDph6SGLWQSm4RBfYC7UmzZtQsvq/xiHRAn+Am2QoqcRUx0n7tt1Sil5HMoe11IBPgK Ha8PZgorXVayj2aZSB5xRRQCtRNyCAZwYyvJV+oWlIXF8CYnRYW2IP1xJ3wrhOB8H192a+ MjW5o8cxxnH193SrkTgzd0jw9esXBX8= X-MC-Unique: cqe4q5KjM86LIQu_ADzxXA-1 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: Wainer dos Santos Moschetta , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Beraldo Leal , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 4/5] gitlab: avoid extra pipelines for tags and stable branches Date: Wed, 17 May 2023 14:54:47 +0100 Message-Id: <20230517135448.262483-5-berrange@redhat.com> In-Reply-To: <20230517135448.262483-1-berrange@redhat.com> References: <20230517135448.262483-1-berrange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=berrange@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1684331747595100003 In upstream context we only run pipelines on staging branches, and limited publishing jobs on the default branch. We don't want to run pipelines on stable branches, or tags, because the content will have already been tested on a staging branch before getting pushed. Signed-off-by: Daniel P. Berrang=C3=A9 Reviewed-by: Michael Tokarev --- .gitlab-ci.d/base.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitlab-ci.d/base.yml b/.gitlab-ci.d/base.yml index f379c182a7..999149852e 100644 --- a/.gitlab-ci.d/base.yml +++ b/.gitlab-ci.d/base.yml @@ -33,6 +33,14 @@ variables: # want jobs to run ############################################################# =20 + # Never run jobs upstream on stable branch, staging branch jobs alread= y ran + - if: '$CI_PROJECT_NAMESPACE =3D=3D $QEMU_CI_UPSTREAM && $CI_COMMIT_BR= ANCH =3D~ /^stable-/' + when: never + + # Never run jobs upstream on tags, staging branch jobs already ran + - if: '$CI_PROJECT_NAMESPACE =3D=3D $QEMU_CI_UPSTREAM && $CI_COMMIT_TA= G' + when: never + # Cirrus jobs can't run unless the creds / target repo are set - if: '$QEMU_JOB_CIRRUS && ($CIRRUS_GITHUB_REPO =3D=3D null || $CIRRUS= _API_TOKEN =3D=3D null)' when: never --=20 2.40.1 From nobody Sat May 18 10:08:03 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1684331786; cv=none; d=zohomail.com; s=zohoarc; b=ZXLrkPk7seKoarzpzvm0863K3mx0eww+9kk9WOAr9mY4jOPRDfJvZs1vxJjdX+stbmyApcA7yZxUNkT0Oa3jas8PDDK3GVpyAY0mSNS97hvVknXpS0sIwpEKbXTF4RHwwGvFfm1cx2U+CJyq8ZPjucFPBh9LdSCMv3lpJcsduR8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1684331786; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=LNh9Bsy/U8pDSehacCxOvzNTyJnbzMe0TaTickLvs3s=; b=R/IUMFdW3azvLNNWMD3oNVbuAjqIi1BZ372SKgj8CmzDBebO1PPkUcbC79CQCYwy3fVfQjvybqAi14EAS9mgGfp4VHxFrXOE7+yCJJCi+nYtAf0qEt4/0HXeGZ3RBw3EjgipEsGnkK4znRsEhYZd8okAMie5EziuaLqwvtvAFiE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1684331786885268.04792352817526; Wed, 17 May 2023 06:56:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pzHcd-0005d3-Ta; Wed, 17 May 2023 09:55:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pzHcW-0005cN-QN for qemu-devel@nongnu.org; Wed, 17 May 2023 09:55:13 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pzHcT-0008R3-G3 for qemu-devel@nongnu.org; Wed, 17 May 2023 09:55:10 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-358-wZxRmfe-O-ytmM8C9nEDdQ-1; Wed, 17 May 2023 09:55:04 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id F2048867959; Wed, 17 May 2023 13:55:01 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.42.28.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id 58EEB40B947; Wed, 17 May 2023 13:55:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1684331707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LNh9Bsy/U8pDSehacCxOvzNTyJnbzMe0TaTickLvs3s=; b=hUArgIS0dnf3EvZZQIcBIqthTzj410c6+kxMAir9/mc6e7ql+CuduMdq0NrnS4CvXRFhL2 frXfRRZ8552Uf3UyELT8Fos1zpXHsnm/ybdpaLaIXg+PxBt1SsHuwqNBIzB841bXDhNG29 fcnx+H6lTOwsMQVLHy5EtsHO6pCSmI0= X-MC-Unique: wZxRmfe-O-ytmM8C9nEDdQ-1 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: Wainer dos Santos Moschetta , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Beraldo Leal , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 5/5] gitlab: support disabling job auto-run in upstream Date: Wed, 17 May 2023 14:54:48 +0100 Message-Id: <20230517135448.262483-6-berrange@redhat.com> In-Reply-To: <20230517135448.262483-1-berrange@redhat.com> References: <20230517135448.262483-1-berrange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=berrange@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1684331788177100003 In forks QEMU_CI=3D1 can be used to create a pipeline but not auto-run any jobs. In upstream jobs always auto-run, which is equiv of QEMU_CI=3D2. This supports setting QEMU_CI=3D1 in upstream, to disable job auto-run. This can be used to preserve CI minutes if repushing a branch to staging with a specific fix that only needs testing in limited scenarios. Signed-off-by: Daniel P. Berrang=C3=A9 --- .gitlab-ci.d/base.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.gitlab-ci.d/base.yml b/.gitlab-ci.d/base.yml index 999149852e..188a770799 100644 --- a/.gitlab-ci.d/base.yml +++ b/.gitlab-ci.d/base.yml @@ -109,6 +109,16 @@ variables: - if: '$QEMU_CI !=3D "2" && $CI_PROJECT_NAMESPACE !=3D $QEMU_CI_UPSTRE= AM' when: manual =20 + # Upstream pipeline jobs start automatically unless told not to + # by setting QEMU_CI=3D1 + - if: '$QEMU_CI =3D=3D "1" && $CI_PROJECT_NAMESPACE =3D=3D $QEMU_CI_UP= STREAM && $CI_COMMIT_BRANCH =3D~ /staging-[[:digit:]]+\.[[:digit:]]/' + when: manual + variables: + QEMU_CI_CONTAINER_TAG: $CI_COMMIT_REF_SLUG + + - if: '$QEMU_CI =3D=3D "1" && $CI_PROJECT_NAMESPACE =3D=3D $QEMU_CI_UP= STREAM' + when: manual + # Jobs can run if any jobs they depend on were successful - if: '$QEMU_JOB_SKIPPED && $CI_PROJECT_NAMESPACE =3D=3D $QEMU_CI_UPST= REAM && $CI_COMMIT_BRANCH =3D~ /staging-[[:digit:]]+\.[[:digit:]]/' when: on_success --=20 2.40.1