From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 1ABF72D77E1 for ; Mon, 11 Aug 2025 22:43:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.137.202.133 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754952191; cv=none; b=SpUyTakeu2DMeuhrYM++x1yqCquCBYfrh++ftyJKJn2kl1Svl9zmLoYAdeBU67gwi3mgD2LF9OY+h9GQYxAsVhbI1c3P6vR1ZJ7/ThIGwYL1yTm2nqsBfN0JnioOh5+PFc6VouRmiIDyLpGuDfLE6ReokN5J2GRcm96ahr3Yq2Y= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754952191; c=relaxed/simple; bh=hZIvd3i8PYH9av+ebDmqzIN+w9qQvsBAAFF0Y5MQG4k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cbeHWi1DKE0IgvIwsuL1MIN+kV/oVMNOelMAAuV/IVDjMO5FICsT8kG3WBV8g7JOGVRc1kBZ24HUQ5/w5eDvG16AcfKTDr/8y5MFoL/KcbclioLgv9hnJXxEGbpiAKjU1PD23GcUn4yBucVTD2fg+WtuNCdxy6eQ65hAu3HkbiI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org; spf=none smtp.mailfrom=infradead.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b=IibQjJcI; arc=none smtp.client-ip=198.137.202.133 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=infradead.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="IibQjJcI" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Sender:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description; bh=j8GZ3p8E5LG3N0cp5/k+SBkeJdZicfpgva+zgW9jwh4=; b=IibQjJcINLWqWY82nlU/ZqtxAK cNzCL/Rw8Jm0ZVqmKV0RGUH3ubyj16A/9bp8k6+ws0RZdfyuDuGtxybOKpyZOzmGD/apXSwcxzki5 iDVKmkdu9o8S2Pqz+oHlN4jO4kvj+VWGJi6s8sPtoCkeflUhq4VTE+p3sSAQy16uAvPBDuoxdJ/Pu 2qIcTi1AwkcaYJeQ4iNKn2NdjaASWrD5ns8JoXNxKF2GDp+nA6q68wmJJZVXUpYL9+wOXn7FDdoMB iZMLrt4BJp2SvEcmalGS4COQMXBQcmUog32SQ9/jgaK2kD5TXR4VW64jdZMWAix5kR0zg/OxJOz8+ v5mW7gxg==; Received: from mcgrof by bombadil.infradead.org with local (Exim 4.98.2 #2 (Red Hat Linux)) id 1ulbET-00000009J8C-3NPg; Mon, 11 Aug 2025 22:43:09 +0000 From: Luis Chamberlain To: Chuck Lever , Daniel Gomez , kdevops@lists.linux.dev Cc: Luis Chamberlain 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 Message-ID: <20250811224307.2218478-3-mcgrof@kernel.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250811224307.2218478-1-mcgrof@kernel.org> References: <20250811224307.2218478-1-mcgrof@kernel.org> Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: Luis Chamberlain 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 --- 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