From 009efde7cc10501549ae77eded54ef059aee76c3 Mon Sep 17 00:00:00 2001 From: Kienan Stewart Date: Thu, 8 Feb 2024 10:12:56 -0500 Subject: [PATCH] jjb: Add lttng-modules jobs for Ubuntu noble While Ubuntu noble isn't yet released[1], the groundwork can be laid to start running our CI tests again the kernels they may use. [1]: https://discourse.ubuntu.com/t/noble-numbat-release-schedule/35649/4 Change-Id: Id2e1d6f4698fa43449b081b635dbb4c460495f33 Signed-off-by: Kienan Stewart --- jobs/lttng-modules.yaml | 2 ++ scripts/lttng-modules/master.groovy | 6 ++++++ scripts/lttng-modules/param-build.sh | 19 +++++++++++++++++-- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/jobs/lttng-modules.yaml b/jobs/lttng-modules.yaml index f5d25a3..22c1e30 100644 --- a/jobs/lttng-modules.yaml +++ b/jobs/lttng-modules.yaml @@ -788,6 +788,7 @@ uversion: - focal - jammy + - noble buildtype: build parambuildtype: build kverfloor: '' @@ -842,6 +843,7 @@ uversion: - focal - jammy + - noble buildtype: crossbuild parambuildtype: crossbuild kverfloor: '' diff --git a/scripts/lttng-modules/master.groovy b/scripts/lttng-modules/master.groovy index d61c9ac..8d626d8 100644 --- a/scripts/lttng-modules/master.groovy +++ b/scripts/lttng-modules/master.groovy @@ -360,6 +360,12 @@ if (uversion != null) { ] break + case 'noble': + matchStrs = [ + ~/^refs\/tags\/(Ubuntu-6\.8\.0-\d{1,3}?\.[\d]+)$/, + ] + break + default: println "Unsupported Ubuntu version: ${uversion}" throw new InterruptedException() diff --git a/scripts/lttng-modules/param-build.sh b/scripts/lttng-modules/param-build.sh index 07324e7..2b29e78 100644 --- a/scripts/lttng-modules/param-build.sh +++ b/scripts/lttng-modules/param-build.sh @@ -322,7 +322,10 @@ build_linux_kernel() { exit 0 fi - fakeroot debian/rules clean KW_DEFCONFIG_DIR=. + FAKEROOT_ARGS=( + 'KW_DEFCONFIG_DIR=.' + ) + fakeroot debian/rules clean "${FAKEROOT_ARGS[@]}" # Hack for kernel Ubuntu-hwe-5.8 # The debian/control file is produced by the clean target above, so this @@ -336,7 +339,19 @@ build_linux_kernel() { # Ubuntu annotations. # In any case, the configuration will be updated with any missing values # later in our build script. - fakeroot debian/rules genconfigs KW_DEFCONFIG_DIR=. do_skip_checks=true + FAKEROOT_ARGS+=('do_skip_checks=true') + + # Some Ubuntu tags default the toolchain using `gcc?=gcc-XX` in + # `debian/rules.d/0-common-vars.mk`. This may fail if the gcc version + # used as a default isn't available. + # For example, Ubuntu-6.8.0-7.7 sets `gcc?=gcc-13`, and that version + # of gcc isn't available on the deb12-amd64 ci-nodes. + # Work has also already been done in `select_compiler` to make our + # own decision of which compiler to use. As a result of both cases, + # our compiler choice should be passed into genconfigs. + FAKEROOT_ARGS+=("gcc=${selected_cc}") + + fakeroot debian/rules genconfigs "${FAKEROOT_ARGS[@]}" cp CONFIGS/"${ubuntu_config}" .config ;; -- 2.34.1