From patchwork Thu Jun 8 16:40:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= X-Patchwork-Id: 13272614 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3591CC7EE45 for ; Thu, 8 Jun 2023 16:41:13 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q7Ige-0001M1-TP; Thu, 08 Jun 2023 12:40:36 -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 1q7Igd-0001LI-IV for qemu-devel@nongnu.org; Thu, 08 Jun 2023 12:40:35 -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 1q7IgZ-0001y2-Q2 for qemu-devel@nongnu.org; Thu, 08 Jun 2023 12:40:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1686242430; 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; bh=il7JQ3V5bb8xaWOEjf+PIAZX/o9/vQT8hxwcd5Knjeg=; b=UydwHexMm88VoFVy59yDnfaDofvXrbxR/JiL7CDAe0myr0VS8maVbn3jjK5AONCEKObleW Xhz8AzZchrOADMF/0h8lpBwSippTSH6xkNTsOmqHO5jqxtmjZeg9Hy8XyXCBTMrqqOujqi oY9onCd/iKZpeYAh2JsZF9AVpMPGevo= 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-606-_HOZ5v5YPgSBL2DnbGWEEg-1; Thu, 08 Jun 2023 12:40:24 -0400 X-MC-Unique: _HOZ5v5YPgSBL2DnbGWEEg-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 52584185A78E; Thu, 8 Jun 2023 16:40:24 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.42.28.54]) by smtp.corp.redhat.com (Postfix) with ESMTP id E86DF2166B25; Thu, 8 Jun 2023 16:40:21 +0000 (UTC) From: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: Thomas Huth , Wainer dos Santos Moschetta , Michael Tokarev , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?Alex?= =?utf-8?q?_Benn=C3=A9e?= , Beraldo Leal , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= Subject: [PATCH v3 0/5] gitlab: improvements to handling of stable staging branches Date: Thu, 8 Jun 2023 17:40:13 +0100 Message-Id: <20230608164018.2520330-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 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_H5=0.001, RCVD_IN_MSPIKE_WL=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org We just (re)discovered that our gitlab rules don't work nicely with pipelines running from stable staging branches. Every pipeline gets published with the 'latest' tag, whether its the main staging branch or one of the stable staging branches. If pipelines for multiple staging branches run concurrently they'll get very confused and end up using the wrong container content. eg a 8.0 stable job will get run with a container from the development branch, or vica-verca. With this series we dynamically change the tag so that the 'staging' branch still uses 'latest', but the stable 'staging-X.Y' branaches use a 'staging-X-Y' container tag. We also let the container tag be set explicitly via the new variable QEMU_CI_CONTAINER_TAG to facilitate CI testing, the new variable QEMU_CI_UPSTREAM can be set to the fork namespace, to allow contributors to run a pipeline as if their fork were upstream. Finally 'QEMU_CI=1' is also made to work in upstream, so that it is possible to re-run selective jobs on staging branches. Changed in v3: - Really make QEMU_CI=1 work correctly on stable staging Changed in v2: - Allow QEMU_CI=1 to work on all staging branches, not just stable - Rebased Daniel P. Berrangé (5): gitlab: centralize the container tag name gitlab: allow overriding name of the upstream repository gitlab: stable staging branches publish containers in a separate tag gitlab: avoid extra pipelines for tags and stable branches gitlab: support disabling job auto-run in upstream .gitlab-ci.d/base.yml | 63 ++++++++++++++++++++++++---- .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 | 11 +++++ 7 files changed, 78 insertions(+), 17 deletions(-)