From patchwork Wed Mar 12 18:50:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chuck Lever X-Patchwork-Id: 14013768 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1C594255E3C for ; Wed, 12 Mar 2025 18:50:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741805407; cv=none; b=L8wrbkL+p0FVqIcGDqV2dooMikywXwiIM97BBRMjMDPylqm9Eud8hk/SNgZo1aIYR4xniGH6bE3lJjroSx2ZW3Q2oHhCqgpppRlTzlwgDrMwRGiMrFdyWLiMv8Fjj5R2mYF4VK+M5kAUw0vwGDZ36Psm2gquXxSEKPQPwmEufg8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741805407; c=relaxed/simple; bh=rchx0AlIRwG/yfu9zfoGky/HceW3vd41dO6bTup9wHE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=F9Q3nNQC7qiGsFU6eG5jVPAYr9785fNiLphchC5M77Pvn8qrPMNvFhqZQNHayp7JkcPiV7DiBqgm/+FcalRCZATs8RZBgX15Y51k48A17vaZNy8O+OpLh+kLvjl9kw2fFU23n6iDwNTi5f2JXNkNxcyGTG1pGLME/gRza1z2c40= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aMQlX3c2; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aMQlX3c2" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 42D62C4CEEC; Wed, 12 Mar 2025 18:50:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741805405; bh=rchx0AlIRwG/yfu9zfoGky/HceW3vd41dO6bTup9wHE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aMQlX3c2eApB/9jSbi9Gh/fqxOxEJAtx57rKmrmYbCzYOy/3rWTuwvei4yTOjkNRP 8uFlXRV2PIdRk7aAuf0yzs3+oorafUK6yF5BQilQhaWRZ6u5rrFgZ4dl4feYajQgS6 pdDY8R5ocK8fzeiX2U/uua7gXf9YOjcRa51EnrJS86uSh/htypSJWFpUD+AJvF8SDA 69fTTeyTLizvofHc8am/W82c2X5XzDw+zSa26m1vuFCivCU7WJg+ZAyJhemu6+EMNZ H3uhtlg0nQkEjMxZW6XFVDjHbQx8ThqfNvmMEVAN1+PBYtv70HCKvCuImEMETfDRQR 37+jX+sbECmHw== From: cel@kernel.org To: Daniel Gomez Cc: , Chuck Lever Subject: [RFC PATCH 2/2] Add the stable release candidate repo to the Linux git repos menu Date: Wed, 12 Mar 2025 14:50:01 -0400 Message-ID: <20250312185001.1468167-3-cel@kernel.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250312185001.1468167-1-cel@kernel.org> References: <20250312185001.1468167-1-cel@kernel.org> Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Chuck Lever I have several nightly test runners that pull LTS release candidates for testing. I have to hand-edit the Kconfig for each test runner when switching from the master repo to a local mirror. I would like to get those to switch automatically over to using a local mirror, when one is available. Signed-off-by: Chuck Lever --- kconfigs/workflows/Kconfig.bootlinux | 4 ++ scripts/gen-refs-default.Makefile | 14 ++++- scripts/gen-refs-user.Makefile | 18 +++++- workflows/linux/Kconfig | 9 +++ workflows/linux/Kconfig.stable_rc | 31 ++++++++++ .../linux/refs/default/Kconfig.stable_rc | 56 +++++++++++++++++++ workflows/linux/refs/static/stable_rc.yaml | 30 ++++++++++ 7 files changed, 158 insertions(+), 4 deletions(-) create mode 100644 workflows/linux/Kconfig.stable_rc create mode 100644 workflows/linux/refs/default/Kconfig.stable_rc create mode 100644 workflows/linux/refs/static/stable_rc.yaml diff --git a/kconfigs/workflows/Kconfig.bootlinux b/kconfigs/workflows/Kconfig.bootlinux index 25bbe4ea7e47..a66e44ee8cb7 100644 --- a/kconfigs/workflows/Kconfig.bootlinux +++ b/kconfigs/workflows/Kconfig.bootlinux @@ -12,6 +12,10 @@ config HAVE_BOOTLINUX_TREE_STABLE_USER_REFS bool default $(shell, scripts/check_file_empty.sh workflows/linux/refs/user/Kconfig.stable) +config HAVE_BOOTLINUX_TREE_STABLE_RC_USER_REFS + bool + default $(shell, scripts/check_file_empty.sh workflows/linux/refs/user/Kconfig.stable_rc) + config HAVE_BOOTLINUX_TREE_MCGROF_LINUS_USER_REFS bool default $(shell, scripts/check_file_empty.sh workflows/linux/refs/user/Kconfig.mcgrof-linus) diff --git a/scripts/gen-refs-default.Makefile b/scripts/gen-refs-default.Makefile index c5d12e152cb4..b50e7c26e754 100644 --- a/scripts/gen-refs-default.Makefile +++ b/scripts/gen-refs-default.Makefile @@ -1,7 +1,7 @@ # SPDX-License-Identifier: copyleft-next-0.3.1 -REF_DEF_OBJS := $(addprefix $(TOPDIR)/workflows/linux/refs/default/, Kconfig.linus Kconfig.next Kconfig.stable) -REF_DEF_SRC := $(addprefix $(TOPDIR)/workflows/linux/refs/static/, linus.yaml next.yaml stable.yaml) +REF_DEF_OBJS := $(addprefix $(TOPDIR)/workflows/linux/refs/default/, Kconfig.linus Kconfig.next Kconfig.stable Kconfig.stable_rc) +REF_DEF_SRC := $(addprefix $(TOPDIR)/workflows/linux/refs/static/, linus.yaml next.yaml stable.yaml stable_rc.yaml) KRELEASES_FORCE := $(if $(filter --force,$(KRELEASES_FORCE)),--force,) @@ -35,6 +35,16 @@ $(TOPDIR)/workflows/linux/refs/default/Kconfig.stable: $(TOPDIR)/workflows/linux kreleases \ --moniker stable +$(TOPDIR)/workflows/linux/refs/default/Kconfig.stable_rc: $(TOPDIR)/workflows/linux/refs/static/stable_rc.yaml + $(Q)$(E) "Generating $@..." + $(Q)./scripts/generate_refs.py \ + --prefix BOOTLINUX_TREE_STABLE_RC \ + --output workflows/linux/refs/default/Kconfig.stable_rc \ + --extra workflows/linux/refs/static/stable_rc.yaml \ + $(KRELEASES_FORCE) \ + kreleases \ + --moniker stable_rc + PHONY += refs-default refs-default: $(REF_DEF_OBJS) _gen-default-refs-development refs-user-clean diff --git a/scripts/gen-refs-user.Makefile b/scripts/gen-refs-user.Makefile index 5c5df2f5417e..ed07b2df6d35 100644 --- a/scripts/gen-refs-user.Makefile +++ b/scripts/gen-refs-user.Makefile @@ -3,6 +3,7 @@ SRC_URI_HTTPS_LINUS = https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git SRC_URI_HTTPS_NEXT = https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git SRC_URI_HTTPS_STABLE = https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git +SRC_URI_HTTPS_STABLE_RC = https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git SRC_URI_HTTPS_MCGROF_LINUS = https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git SRC_URI_HTTPS_MCGROF_NEXT = https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git @@ -17,6 +18,7 @@ SRC_URI_HTTPS_XFS = https://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git REFS_TARGET_LINUS := gen_refs_linus REFS_TARGET_NEXT := gen_refs_next REFS_TARGET_STABLE := gen_refs_stable +REFS_TARGET_STABLE_RC := gen_refs_stable_rc REFS_TARGET_DEVELOPMENT := gen_refs_mcgrof_linus REFS_TARGET_DEVELOPMENT += gen_refs_mcgrof_next @@ -68,6 +70,18 @@ gen_refs_stable: --repo $(SRC_URI_HTTPS_STABLE) \ --refs $(REFS_COUNT) +PHONY += gen_refs_stable_rc +gen_refs_stable_rc: + $(Q)$(E) "Generating refs/$(REFS_DIR)/Kconfig.$(subst _,-,$(patsubst gen_refs_%,%,$@)) ($(REFS_COUNT) refs)..." + $(Q)./scripts/generate_refs.py \ + --prefix BOOTLINUX_TREE_STABLE_RC \ + --output workflows/linux/refs/$(REFS_DIR)/Kconfig.stable_rc \ + --extra workflows/linux/refs/static/stable_rc.yaml \ + --force \ + gitref \ + --repo $(SRC_URI_HTTPS_STABLE_RC) \ + --refs $(REFS_COUNT) + PHONY += gen_refs_mcgrof_linus gen_refs_mcgrof_linus: $(Q)$(E) "Generating refs/$(REFS_DIR)/Kconfig.$(subst _,-,$(patsubst gen_refs_%,%,$@)) ($(REFS_COUNT) refs)..." @@ -183,8 +197,8 @@ refs-user-clean: fi _gen-user-refs: - $(Q)$(E) "Generating refs/user/Kconfig.{linus,next,stable,mcgrof-linus,mcgrof-next,btrfs-devel,cel-linux-jlayton-linux-kdevops-linus} files..." - $(Q)$(MAKE) REFS_COUNT=15 REFS_DIR="user" $(REFS_TARGET_LINUS) $(REFS_TARGET_NEXT) $(REFS_TARGET_STABLE) $(REFS_TARGET_DEVELOPMENT) + $(Q)$(E) "Generating refs/user/Kconfig.{linus,next,stable,stable_rc,mcgrof-linus,mcgrof-next,btrfs-devel,cel-linux-jlayton-linux-kdevops-linus} files..." + $(Q)$(MAKE) REFS_COUNT=15 REFS_DIR="user" $(REFS_TARGET_LINUS) $(REFS_TARGET_NEXT) $(REFS_TARGET_STABLE) $(REFS_TARGET_STABLE_RC) $(REFS_TARGET_DEVELOPMENT) PHONY += refs-user refs-user: _gen-user-refs diff --git a/workflows/linux/Kconfig b/workflows/linux/Kconfig index 6b496c56c762..8c4de4cc8ee2 100644 --- a/workflows/linux/Kconfig +++ b/workflows/linux/Kconfig @@ -126,6 +126,11 @@ config BOOTLINUX_STABLE help This will let you choose from stable Linux trees only. +config BOOTLINUX_STABLE_RC + bool "Stable Linux release candidates" + help + This will let you choose from stable Linux release candidates only. + config BOOTLINUX_DEV bool "Development Linux releases" help @@ -141,6 +146,7 @@ endchoice source "workflows/linux/Kconfig.linus" source "workflows/linux/Kconfig.stable" +source "workflows/linux/Kconfig.stable_rc" source "workflows/linux/Kconfig.dev" source "workflows/linux/Kconfig.modules" source "workflows/linux/Kconfig.next" @@ -185,6 +191,7 @@ config BOOTLINUX_TREE_NAME string default BOOTLINUX_TREE_LINUS_NAME if BOOTLINUX_TREE_LINUS default BOOTLINUX_TREE_STABLE_NAME if BOOTLINUX_TREE_STABLE + default BOOTLINUX_TREE_STABLE_RC_NAME if BOOTLINUX_TREE_STABLE_RC default BOOTLINUX_TREE_NEXT_NAME if BOOTLINUX_TREE_NEXT default BOOTLINUX_TREE_BTRFS_DEVEL_NAME if BOOTLINUX_TREE_BTRFS_DEVEL default BOOTLINUX_TREE_KDEVOPS_NAME if BOOTLINUX_TREE_KDEVOPS_LINUS @@ -200,6 +207,7 @@ config BOOTLINUX_TREE string default BOOTLINUX_TREE_LINUS_URL if BOOTLINUX_TREE_LINUS default BOOTLINUX_TREE_STABLE_URL if BOOTLINUX_TREE_STABLE + default BOOTLINUX_TREE_STABLE_RC_URL if BOOTLINUX_TREE_STABLE_RC default BOOTLINUX_TREE_NEXT_URL if BOOTLINUX_TREE_NEXT default BOOTLINUX_TREE_MCGROF_URL if BOOTLINUX_TREE_MCGROF default BOOTLINUX_TREE_MODULES_URL if BOOTLINUX_TREE_MODULES @@ -248,6 +256,7 @@ config BOOTLINUX_TREE_REF string default BOOTLINUX_TREE_LINUS_REF if BOOTLINUX_TREE_LINUS default BOOTLINUX_TREE_STABLE_REF if BOOTLINUX_STABLE + default BOOTLINUX_TREE_STABLE_RC_REF if BOOTLINUX_STABLE_RC default BOOTLINUX_TREE_NEXT_REF if BOOTLINUX_TREE_NEXT default BOOTLINUX_TREE_VFS_REF if BOOTLINUX_TREE_VFS default BOOTLINUX_TREE_XFS_REF if BOOTLINUX_TREE_XFS diff --git a/workflows/linux/Kconfig.stable_rc b/workflows/linux/Kconfig.stable_rc new file mode 100644 index 000000000000..8bcb7a2fba61 --- /dev/null +++ b/workflows/linux/Kconfig.stable_rc @@ -0,0 +1,31 @@ +if BOOTLINUX_STABLE_RC + +choice + prompt "Linux stable release candidate tree to use" + default BOOTLINUX_TREE_STABLE_RC + +config BOOTLINUX_TREE_STABLE_RC + bool "linux-stable-rc" + help + Use the linux-stable release candidate tree. + +endchoice + +if BOOTLINUX_TREE_STABLE_RC + +source "workflows/linux/refs/default/Kconfig.stable_rc" +source "workflows/linux/refs/user/Kconfig.stable_rc" + +endif # BOOTLINUX_TREE_STABLE_RC + +config BOOTLINUX_TREE_STABLE_RC_NAME + string + default "linux-stable-rc" if BOOTLINUX_TREE_STABLE_RC + +config BOOTLINUX_TREE_STABLE_RC_URL + string + default DEFAULT_STABLE_RC_HTTPS_URL if !USE_LOCAL_LINUX_MIRROR + default $(shell, scripts/append-makefile-vars.sh git:// $(KDEVOPS_DEFAULT_BRIDGE_IP_GUESTFS) /mirror/linux-stable-rc.git) if USE_LIBVIRT_MIRROR && !BOOTLINUX_9P && GUESTFS + default "/mirror/linux-stable-rc.git" if USE_LIBVIRT_MIRROR && BOOTLINUX_9P + +endif # BOOTLINUX_STABLE_RC diff --git a/workflows/linux/refs/default/Kconfig.stable_rc b/workflows/linux/refs/default/Kconfig.stable_rc new file mode 100644 index 000000000000..84495567d280 --- /dev/null +++ b/workflows/linux/refs/default/Kconfig.stable_rc @@ -0,0 +1,56 @@ +# SPDX-License-Identifier: copyleft-next-0.3.1 +# Automatically generated file + +if !HAVE_BOOTLINUX_TREE_STABLE_RC_USER_REFS + +choice + prompt "Tag or branch to use" + +config BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_54 + bool "queue/5.4" + help + Pull the queue/5.4 branch. + +config BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_510 + bool "queue/5.10" + help + Pull the queue/5.10 branch. + +config BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_515 + bool "queue/5.15" + help + Pull the queue/5.15 branch. + +config BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_61 + bool "queue/6.1" + help + Pull the queue/6.1 branch. + +config BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_66 + bool "queue/6.6" + help + Pull the queue/6.6 branch. + +config BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_612 + bool "queue/6.12" + help + Pull the queue/6.12 branch. + +config BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_613 + bool "queue/6.13" + help + Pull the queue/6.13 branch. + +endchoice + +config BOOTLINUX_TREE_STABLE_RC_REF + string + default "queue/5.4" if BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_54 + default "queue/5.10" if BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_510 + default "queue/5.15" if BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_515 + default "queue/6.1" if BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_61 + default "queue/6.6" if BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_66 + default "queue/6.12" if BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_612 + default "queue/6.13" if BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_613 + +endif # !HAVE_BOOTLINUX_TREE_STABLE_RC_USER_REFS diff --git a/workflows/linux/refs/static/stable_rc.yaml b/workflows/linux/refs/static/stable_rc.yaml new file mode 100644 index 000000000000..a7d82977a04a --- /dev/null +++ b/workflows/linux/refs/static/stable_rc.yaml @@ -0,0 +1,30 @@ +--- +configs: + - queue-5.4: + config: BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_54 + ref: "queue/5.4" + help: "Pull the queue/5.4 branch." + - queue-5.10: + config: BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_510 + ref: "queue/5.10" + help: "Pull the queue/5.10 branch." + - queue-5.15: + config: BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_515 + ref: "queue/5.15" + help: "Pull the queue/5.15 branch." + - queue-6.1: + config: BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_61 + ref: "queue/6.1" + help: "Pull the queue/6.1 branch." + - queue-6.6: + config: BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_66 + ref: "queue/6.6" + help: "Pull the queue/6.6 branch." + - queue-6.12: + config: BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_612 + ref: "queue/6.12" + help: "Pull the queue/6.12 branch." + - queue-6.13: + config: BOOTLINUX_TREE_STABLE_RC_REF_QUEUE_613 + ref: "queue/6.13" + help: "Pull the queue/6.13 branch."