From nobody Tue Feb 10 19:47:57 2026 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=1687767361; cv=none; d=zohomail.com; s=zohoarc; b=iAmv/F8l5Qg7TaaQGMd/VP7WAijl/RBpKGyzosJG90Ya5WEYDRin3oBmBeK5yI3EdnSOyv+4QJu4SBrjqfxy+yivjnJ2KLl0/IGbf3mlqedfI2e+CgBMrWXbcY+gFrbWa/JdPv/8EeU04rSnV1kF+JHhIgAPbbjZRt6fp2/ZTDA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1687767361; 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=mw0RRoReItX0yqi3fWS2LkxTa9L1Pugt81LzfC2RoOc=; b=YTpy9VjjskZQt0K8yCFHXRm/zrFOkvZESATeKjMMKMFEMaOvpD8FufLi1/UPdEvsCZWj5eT8LHFDUPdU/L98ctWL8+TWFvzcFszjrWpALWie322Y9/4hAmBxATUppaKHIrUwCwoVP2FA4RjvBViv0z1aicgXs6wZm4eISsKBYDg= 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 16877673617191015.3658397304433; Mon, 26 Jun 2023 01:16:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qDhN4-0004I8-Tb; Mon, 26 Jun 2023 04:14:51 -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 1qDhMt-00047D-7v for qemu-devel@nongnu.org; Mon, 26 Jun 2023 04:14:39 -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 1qDhMm-0000ta-Hj for qemu-devel@nongnu.org; Mon, 26 Jun 2023 04:14:35 -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-43-OQx3bABuNzaAIZ4BVtm50Q-1; Mon, 26 Jun 2023 04:14:27 -0400 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7620E104458A; Mon, 26 Jun 2023 08:14:27 +0000 (UTC) Received: from thuth.com (unknown [10.39.193.57]) by smtp.corp.redhat.com (Postfix) with ESMTP id 60B06492B01; Mon, 26 Jun 2023 08:14:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1687767271; 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=mw0RRoReItX0yqi3fWS2LkxTa9L1Pugt81LzfC2RoOc=; b=R0rH9s/gmiIrFYwtDSxMxhqTcV9plU2nzjRaoyojUtcOa3yaRMa7OsmSsXzDjfDoCksVAD XnJbu1Od7x9oYpTpZD1L6PQValKXaGv/F/1lL/OHXv7scsYdMmsmb53cb/p9m4E1tlKnsh GESHbgtxmb3ivW+U9AnIeu3gRuSzG0k= X-MC-Unique: OQx3bABuNzaAIZ4BVtm50Q-1 From: Thomas Huth To: qemu-devel@nongnu.org, Richard Henderson Cc: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Michael Tokarev Subject: [PULL 3/9] gitlab: allow overriding name of the upstream repository Date: Mon, 26 Jun 2023 10:14:09 +0200 Message-Id: <20230626081415.64615-4-thuth@redhat.com> In-Reply-To: <20230626081415.64615-1-thuth@redhat.com> References: <20230626081415.64615-1-thuth@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.9 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=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.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_H5=-1, RCVD_IN_MSPIKE_WL=-0.01, 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: 1687767363462100007 From: Daniel P. Berrang=C3=A9 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 fragment in gitlab URLs that is above the repository. Typically this will be the contributor's gitlab login name. Reviewed-by: Richard Henderson Reviewed-by: Michael Tokarev Signed-off-by: Daniel P. Berrang=C3=A9 Message-Id: <20230608164018.2520330-3-berrange@redhat.com> Reviewed-by: Thomas Huth Signed-off-by: Thomas Huth --- docs/devel/ci-jobs.rst.inc | 6 ++++++ .gitlab-ci.d/base.yml | 19 ++++++++++++------- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/docs/devel/ci-jobs.rst.inc b/docs/devel/ci-jobs.rst.inc index f72537853b..3f6802d51e 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 considered 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. 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 --=20 2.39.3