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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox