From: Luis Chamberlain <mcgrof@kernel.org>
To: Chuck Lever <cel@kernel.org>, Daniel Gomez <da.gomez@kruces.com>,
kdevops@lists.linux.dev
Cc: Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 2/8] bootlinux: add support for custom refs on dev kernels on the CLI
Date: Mon, 11 Aug 2025 15:43:01 -0700 [thread overview]
Message-ID: <20250811224307.2218478-3-mcgrof@kernel.org> (raw)
In-Reply-To: <20250811224307.2218478-1-mcgrof@kernel.org>
We already have support to easily test arbitrary kernels and refs by
just using the LINUX_TREE and LINUX_REF environment variables. We
leverage this for our CIs:
* LINUX_TREE: the target tree for baseline group (A)
* LINUX_REF: the target tree ref the baseline group (A)
Now that we have AB-testing support we want to first add support so that
a simple TEST_AB=y will enable KDEVOPS_BASELINE_AND_DEV and then we want
to be able to customize the target dev tree and ref. We do this with two
other environment variables:
* LINUX_DEV_TREE: the target tree for dev group (B)
* LINUX_DEV_REF: the target tree ref the dev group (B)
You just need to make sure to also pass TEST_AB=y.
By leveraging this we can easily use AB testing in the future on CIs
to compare and contrast different kernel releases against any target
workload we have.
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
kconfigs/Kconfig.kdevops | 8 +++++++-
workflows/linux/Kconfig | 16 ++++++++++++++--
2 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/kconfigs/Kconfig.kdevops b/kconfigs/Kconfig.kdevops
index c2362adf..431d579a 100644
--- a/kconfigs/Kconfig.kdevops
+++ b/kconfigs/Kconfig.kdevops
@@ -51,6 +51,11 @@ config KDEVOPS_HOSTS_PREFIX_SET_BY_CLI
bool
default $(shell, scripts/check-cli-set-var.sh KDEVOPS_HOSTS_PREFIX)
+config KDEVOPS_BASELINE_AND_DEV_SET_BY_CLI
+ bool
+ output yaml
+ default $(shell, scripts/check-cli-set-var.sh TEST_AB)
+
config KDEVOPS_HOSTS_PREFIX
string "The hostname prefix to use for nodes"
output yaml
@@ -78,7 +83,8 @@ config KDEVOPS_CUSTOM_SSH_KEXALGORITHMS
config KDEVOPS_BASELINE_AND_DEV
bool "Enable both a baseline and development system per target test"
- default n
+ default n if !KDEVOPS_BASELINE_AND_DEV_SET_BY_CLI
+ default y if KDEVOPS_BASELINE_AND_DEV_SET_BY_CLI
help
By default kdevops will only spawn a baseline target node (local
virtualization or cloud node) for your Linux kernel testing and
diff --git a/workflows/linux/Kconfig b/workflows/linux/Kconfig
index aa7c6ec8..2469ef97 100644
--- a/workflows/linux/Kconfig
+++ b/workflows/linux/Kconfig
@@ -10,6 +10,16 @@ config BOOTLINUX_TREE_REF_SET_BY_CLI
output yaml
default $(shell, scripts/check-cli-set-var.sh LINUX_TREE_REF)
+config BOOTLINUX_DEV_TREE_SET_BY_CLI
+ bool
+ output yaml
+ default $(shell, scripts/check-cli-set-var.sh LINUX_DEV_TREE)
+
+config BOOTLINUX_DEV_TREE_REF_SET_BY_CLI
+ bool
+ output yaml
+ default $(shell, scripts/check-cli-set-var.sh LINUX_DEV_TREE_REF)
+
config BOOTLINUX_HAS_PURE_IOMAP_CONFIG
bool
@@ -415,7 +425,8 @@ if BOOTLINUX_AB_DIFFERENT_REF
config BOOTLINUX_DEV_TREE
string "Development kernel tree URL"
output yaml
- default BOOTLINUX_TREE
+ default BOOTLINUX_TREE if !BOOTLINUX_DEV_TREE_SET_BY_CLI
+ default $(shell, ./scripts/append-makefile-vars.sh $(LINUX_DEV_TREE)) if BOOTLINUX_DEV_TREE_SET_BY_CLI
help
Git tree URL for the development kernel. If left empty or same
as the baseline tree, the same tree will be used with a different
@@ -424,7 +435,8 @@ config BOOTLINUX_DEV_TREE
config TARGET_LINUX_DEV_REF
string "Development kernel reference"
output yaml
- default $(shell, scripts/infer_last_stable_kernel.sh)
+ default $(shell, scripts/infer_last_stable_kernel.sh) if !BOOTLINUX_DEV_TREE_REF_SET_BY_CLI
+ default $(shell, ./scripts/append-makefile-vars.sh $(LINUX_DEV_TREE_REF)) if BOOTLINUX_DEV_TREE_REF_SET_BY_CLI
help
Git reference (branch, tag, or commit) for the development kernel.
This should be different from the baseline reference to enable
--
2.47.2
next prev parent reply other threads:[~2025-08-11 22:43 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-11 22:42 [PATCH 0/8] linux-ab enhancements + monitor support Luis Chamberlain
2025-08-11 22:43 ` [PATCH 1/8] bootlinux: use different kernel for A/B testing by default Luis Chamberlain
2025-08-11 22:43 ` Luis Chamberlain [this message]
2025-08-11 22:43 ` [PATCH 3/8] bootlinux: add git ref verification before cloning Luis Chamberlain
2025-08-11 22:43 ` [PATCH 4/8] bootlinux: add git dirty check " Luis Chamberlain
2025-08-11 22:43 ` [PATCH 5/8] bootlinux: add intelligent git repository detection and management Luis Chamberlain
2025-08-11 22:43 ` [PATCH 6/8] bootlinux: enhance A/B testing and repository management Luis Chamberlain
2025-08-11 22:43 ` [PATCH 7/8] fstests: add make target for running tests on all hosts Luis Chamberlain
2025-08-11 22:43 ` [PATCH 8/8] monitoring: integrate monitoring collection into fstests workflow Luis Chamberlain
2025-08-11 22:46 ` Luis Chamberlain
2025-08-12 0:49 ` Luis Chamberlain
2025-08-14 0:59 ` Luis Chamberlain
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=20250811224307.2218478-3-mcgrof@kernel.org \
--to=mcgrof@kernel.org \
--cc=cel@kernel.org \
--cc=da.gomez@kruces.com \
--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.