All of lore.kernel.org
 help / color / mirror / Atom feed
From: cel@kernel.org
To: Daniel Gomez <da.gomez@kernel.org>
Cc: <kdevops@lists.linux.dev>, Chuck Lever <chuck.lever@oracle.com>
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	[thread overview]
Message-ID: <20250312185001.1468167-3-cel@kernel.org> (raw)
In-Reply-To: <20250312185001.1468167-1-cel@kernel.org>

From: Chuck Lever <chuck.lever@oracle.com>

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 <chuck.lever@oracle.com>
---
 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."
-- 
2.48.1


  parent reply	other threads:[~2025-03-12 18:50 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-12 18:49 [RFC PATCH 0/2] Add defaults refs for linux-stable-rc cel
2025-03-12 18:50 ` [RFC PATCH 1/2] linux-mirror: Enable choice of clone protocol for stable-rc tree cel
2025-03-12 18:50 ` cel [this message]
2025-03-13 15:11   ` [RFC PATCH 2/2] Add the stable release candidate repo to the Linux git repos menu Daniel Gomez
2025-03-13 15:26     ` Chuck Lever
2025-03-13 20:13       ` Daniel Gomez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250312185001.1468167-3-cel@kernel.org \
    --to=cel@kernel.org \
    --cc=chuck.lever@oracle.com \
    --cc=da.gomez@kernel.org \
    --cc=kdevops@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.