From 2e261e79e0eeb803de17b0908d6992b9bd843b62 Mon Sep 17 00:00:00 2001 From: Ben Copeland Date: Thu, 23 Apr 2026 08:50:44 +0100 Subject: [PATCH] kbuild: add extra_targets param for additional tuxmake targets Add an extra_targets parameter to KBuild that allows job configs to request additional tuxmake build targets (e.g. binrpm-pkg) alongside the default kernel, modules and dtbs targets. This is needed to produce RPM packages for AWS EC2 kernel testing, where kernels are installed via yum/dnf rather than from tarballs. The tuxmake artifact upload path already walks the full output directory, so RPMs are discovered and uploaded automatically. Signed-off-by: Ben Copeland --- kernelci/kbuild.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kernelci/kbuild.py b/kernelci/kbuild.py index b81d0d65e2..86f829c817 100644 --- a/kernelci/kbuild.py +++ b/kernelci/kbuild.py @@ -22,6 +22,7 @@ - cross_compile_compat: cross compile compat prefix - dtbs_check: run "make dtbs_check" ONLY, it is actually a separate test - kselftest: false - do not build kselftest +- extra_targets: list of additional tuxmake targets (e.g. ['binrpm-pkg']) """ import concurrent.futures @@ -199,6 +200,7 @@ def __init__( self._kselftest = False else: self._kselftest = True + self._extra_targets = params.get("extra_targets", []) self._apijobname = jobname self._steps = [] self._artifacts = [] @@ -258,6 +260,7 @@ def __init__( "kselftest", jsonobj.get("kfselftest") ) self._coverage = jsonobj.get("coverage", False) + self._extra_targets = jsonobj.get("extra_targets", []) return raise ValueError("No valid arguments provided") @@ -836,6 +839,8 @@ def _build_with_tuxmake(self): targets = ["kernel", "modules"] if self._arch not in DTBS_DISABLED: targets.append("dtbs") + if self._extra_targets: + targets.extend(self._extra_targets) cmd_parts.append(" ".join(targets)) print(f"[_build_with_tuxmake] Building targets: {' '.join(targets)}")