From 5d31fd08c3d7b365c22d14483a93ab0f71f46de3 Mon Sep 17 00:00:00 2001 From: David Galloway Date: Thu, 26 Jun 2025 22:10:51 -0400 Subject: [PATCH] Support for Ubuntu Noble Signed-off-by: David Galloway --- ceph-build/config/definitions/ceph-build.yml | 5 +++-- ceph-dev-build/config/definitions/ceph-dev-build.yml | 1 + ceph-dev-cron/config/definitions/ceph-dev-cron.yml | 12 ++++++------ .../config/definitions/ceph-dev-new-build.yml | 1 + .../config/definitions/ceph-dev-new-trigger.yml | 10 +++++----- ceph-dev-new/config/definitions/ceph-dev-new.yml | 4 ++-- .../config/definitions/ceph-dev-pipeline.yml | 2 +- ceph-dev/config/definitions/ceph-dev.yml | 4 ++-- ceph/config/definitions/ceph.yml | 4 ++-- kernel/config/definitions/kernel.yml | 5 +++-- scripts/build_utils.sh | 8 ++++++++ scripts/sync-pull | 2 +- 12 files changed, 35 insertions(+), 23 deletions(-) diff --git a/ceph-build/config/definitions/ceph-build.yml b/ceph-build/config/definitions/ceph-build.yml index 8f847292..e3d594c7 100644 --- a/ceph-build/config/definitions/ceph-build.yml +++ b/ceph-build/config/definitions/ceph-build.yml @@ -12,7 +12,7 @@ execution-strategy: combination-filter: | DIST == AVAILABLE_DIST && ARCH == AVAILABLE_ARCH && - (ARCH == "x86_64" || (ARCH == "arm64" && ["bionic", "focal", "jammy", "centos9"].contains(DIST))) + (ARCH == "x86_64" || (ARCH == "arm64" && ["bionic", "focal", "jammy", "noble", "centos9"].contains(DIST))) axes: - axis: type: label-expression @@ -34,6 +34,7 @@ - bionic - focal - jammy + - noble - centos7 - centos8 - centos9 @@ -65,7 +66,7 @@ regex: (reef|squid|tentacle) label: '${{BRANCH}}' - condition-kind: regex-match - regex: (focal|jammy|centos9|buster|bullseye|bookworm) + regex: (focal|jammy|noble|centos9|buster|bullseye|bookworm) label: '${{DIST}}' on-evaluation-failure: dont-run steps: diff --git a/ceph-dev-build/config/definitions/ceph-dev-build.yml b/ceph-dev-build/config/definitions/ceph-dev-build.yml index 8165f47d..02251ce9 100644 --- a/ceph-dev-build/config/definitions/ceph-dev-build.yml +++ b/ceph-dev-build/config/definitions/ceph-dev-build.yml @@ -39,6 +39,7 @@ - bionic - focal - jammy + - noble - centos7 - centos8 - centos9 diff --git a/ceph-dev-cron/config/definitions/ceph-dev-cron.yml b/ceph-dev-cron/config/definitions/ceph-dev-cron.yml index 575aa1fb..51fd9df6 100644 --- a/ceph-dev-cron/config/definitions/ceph-dev-cron.yml +++ b/ceph-dev-cron/config/definitions/ceph-dev-cron.yml @@ -57,7 +57,7 @@ FORCE=True DISTROS=jammy focal centos9 windows # build squid on: - # default: jammy centos9 windows + # default: noble jammy centos9 windows - conditional-step: condition-kind: regex-match regex: .*squid.* @@ -73,9 +73,9 @@ predefined-parameters: | BRANCH=${{GIT_BRANCH}} FORCE=True - DISTROS=jammy centos9 windows + DISTROS=noble jammy centos9 windows # build tentacle on: - # default: jammy centos9 windows + # default: noble jammy centos9 windows # crimson: centos9 - conditional-step: condition-kind: regex-match @@ -92,7 +92,7 @@ predefined-parameters: | BRANCH=${{GIT_BRANCH}} FORCE=True - DISTROS=jammy centos9 windows + DISTROS=noble jammy centos9 windows - project: 'ceph-dev' predefined-parameters: | BRANCH=${{GIT_BRANCH}} @@ -101,7 +101,7 @@ FLAVOR=crimson-debug ARCHS=x86_64 # build main on: - # default: jammy centos9 windows + # default: noble jammy centos9 windows # crimson-debug: centos9 # crimson-release: centos9 - conditional-step: @@ -119,7 +119,7 @@ predefined-parameters: | BRANCH=${{GIT_BRANCH}} FORCE=True - DISTROS=jammy centos9 windows + DISTROS=noble jammy centos9 windows - project: 'ceph-dev' predefined-parameters: | BRANCH=${{GIT_BRANCH}} diff --git a/ceph-dev-new-build/config/definitions/ceph-dev-new-build.yml b/ceph-dev-new-build/config/definitions/ceph-dev-new-build.yml index c45fdd86..a721d800 100644 --- a/ceph-dev-new-build/config/definitions/ceph-dev-new-build.yml +++ b/ceph-dev-new-build/config/definitions/ceph-dev-new-build.yml @@ -44,6 +44,7 @@ - bionic - focal - jammy + - noble - jessie - precise - centos6 diff --git a/ceph-dev-new-trigger/config/definitions/ceph-dev-new-trigger.yml b/ceph-dev-new-trigger/config/definitions/ceph-dev-new-trigger.yml index a96ea195..11fa8db6 100644 --- a/ceph-dev-new-trigger/config/definitions/ceph-dev-new-trigger.yml +++ b/ceph-dev-new-trigger/config/definitions/ceph-dev-new-trigger.yml @@ -50,7 +50,7 @@ - project: 'ceph-dev-new' # build squid on: - # default: jammy centos9 windows + # default: noble jammy centos9 windows - conditional-step: condition-kind: regex-match regex: .*squid.* @@ -66,9 +66,9 @@ predefined-parameters: | BRANCH=${{GIT_BRANCH}} FORCE=True - DISTROS=jammy centos9 windows + DISTROS=noble jammy centos9 windows # build tentacle on: - # default: jammy centos9 windows + # default: noble jammy centos9 windows # crimson: centos9 - conditional-step: condition-kind: regex-match @@ -85,7 +85,7 @@ predefined-parameters: | BRANCH=${{GIT_BRANCH}} FORCE=True - DISTROS=jammy centos9 windows + DISTROS=noble jammy centos9 windows - project: 'ceph-dev-new' predefined-parameters: | BRANCH=${{GIT_BRANCH}} @@ -110,7 +110,7 @@ predefined-parameters: | BRANCH=${{GIT_BRANCH}} FORCE=True - DISTROS=jammy centos9 windows + DISTROS=noble jammy centos9 windows - trigger-builds: - project: 'ceph-dev-new' predefined-parameters: | diff --git a/ceph-dev-new/config/definitions/ceph-dev-new.yml b/ceph-dev-new/config/definitions/ceph-dev-new.yml index f90589c3..bb7e375c 100644 --- a/ceph-dev-new/config/definitions/ceph-dev-new.yml +++ b/ceph-dev-new/config/definitions/ceph-dev-new.yml @@ -25,8 +25,8 @@ - string: name: DISTROS - description: "A list of distros to build for. Available options are: centos9, centos8, centos7, centos6, jammy, focal, bionic, xenial, trusty, precise, wheezy, jessie, and windows" - default: "jammy centos9 windows" + description: "A list of distros to build for. Available options are: centos9, centos8, centos7, centos6, noble, jammy, focal, bionic, xenial, trusty, precise, wheezy, jessie, and windows" + default: "noble jammy centos9 windows" - string: name: ARCHS diff --git a/ceph-dev-pipeline/config/definitions/ceph-dev-pipeline.yml b/ceph-dev-pipeline/config/definitions/ceph-dev-pipeline.yml index bb5e93d1..58763e67 100644 --- a/ceph-dev-pipeline/config/definitions/ceph-dev-pipeline.yml +++ b/ceph-dev-pipeline/config/definitions/ceph-dev-pipeline.yml @@ -33,7 +33,7 @@ - string: name: DISTROS description: "A list of distros to build for. Available options are: centos9, centos8, noble, jammy, focal, and windows" - default: "centos9 jammy" + default: "centos9 noble jammy" - string: name: ARCHS diff --git a/ceph-dev/config/definitions/ceph-dev.yml b/ceph-dev/config/definitions/ceph-dev.yml index d71498dd..4801a620 100644 --- a/ceph-dev/config/definitions/ceph-dev.yml +++ b/ceph-dev/config/definitions/ceph-dev.yml @@ -23,8 +23,8 @@ - string: name: DISTROS - description: "A list of distros to build for. Available options are: centos9, centos8, centos7, centos6, jammy, focal, bionic, xenial, trusty, precise, wheezy, jessie, and windows" - default: "jammy focal bionic centos7 centos8 centos9" + description: "A list of distros to build for. Available options are: centos9, centos8, centos7, centos6, noble, jammy, focal, bionic, xenial, trusty, precise, wheezy, jessie, and windows" + default: "noble jammy focal bionic centos7 centos8 centos9" - string: name: ARCHS diff --git a/ceph/config/definitions/ceph.yml b/ceph/config/definitions/ceph.yml index bc302298..a28412bf 100644 --- a/ceph/config/definitions/ceph.yml +++ b/ceph/config/definitions/ceph.yml @@ -78,8 +78,8 @@ SECURITY: Builds from BRANCH-release branch in ceph-private.git (private repo)." - string: name: DISTROS - description: "A list of distros to build for. Available options are: centos9, centos8, centos7, centos6, jammy, focal, bionic, xenial, trusty, precise, wheezy, jessie, buster, bullseye, bookworm" - default: "jammy focal centos8 centos9 bookworm" + description: "A list of distros to build for. Available options are: centos9, centos8, centos7, centos6, noble, jammy, focal, bionic, xenial, trusty, precise, wheezy, jessie, buster, bullseye, bookworm" + default: "noble jammy focal centos8 centos9 bookworm" - string: name: ARCHS diff --git a/kernel/config/definitions/kernel.yml b/kernel/config/definitions/kernel.yml index f6303ae4..926036b2 100644 --- a/kernel/config/definitions/kernel.yml +++ b/kernel/config/definitions/kernel.yml @@ -16,8 +16,8 @@ - string: name: DISTROS - description: "A list of distros to build for. Available options are: centos9, jammy and focal" - default: "centos9 focal jammy" + description: "A list of distros to build for. Available options are: centos9, noble, jammy and focal" + default: "centos9 focal jammy noble" - string: name: ARCHS @@ -62,6 +62,7 @@ If this is checked, then the binaries will be built and pushed to chacra even if - centos9 - focal - jammy + - noble - axis: type: dynamic name: DIST diff --git a/scripts/build_utils.sh b/scripts/build_utils.sh index ec6c69ff..8aa7c3de 100755 --- a/scripts/build_utils.sh +++ b/scripts/build_utils.sh @@ -433,6 +433,10 @@ get_distro_and_target() { DIST=wheezy DISTRO="debian" ;; + noble*) + DIST=noble + DISTRO="ubuntu" + ;; jammy*) DIST=jammy DISTRO="ubuntu" @@ -548,6 +552,7 @@ setup_pbuilder() { [ "$DIST" = "bionic" ] && os="ubuntu" [ "$DIST" = "focal" ] && os="ubuntu" [ "$DIST" = "jammy" ] && os="ubuntu" + [ "$DIST" = "noble" ] && os="ubuntu" if [ $os = "debian" ]; then # this mirror seems to have been decommissioned. @@ -798,6 +803,8 @@ setup_pbuilder_for_old_gcc() { old=9;; jammy) old=11;; + noble) + old=13;; esac setup_gcc_hook $old > $hookdir/D10update-gcc-alternatives chmod +x $hookdir/D10update-gcc-alternatives @@ -825,6 +832,7 @@ get_bptag() { [ "$dist" = "wheezy" ] && dver="~bpo70+1" [ "$dist" = "squeeze" ] && dver="~bpo60+1" [ "$dist" = "lenny" ] && dver="~bpo50+1" + [ "$dist" = "noble" ] && dver="$dist" [ "$dist" = "jammy" ] && dver="$dist" [ "$dist" = "focal" ] && dver="$dist" [ "$dist" = "bionic" ] && dver="$dist" diff --git a/scripts/sync-pull b/scripts/sync-pull index fa879dd3..bc5d1269 100755 --- a/scripts/sync-pull +++ b/scripts/sync-pull @@ -16,7 +16,7 @@ echo "********************************************" if [[ "$project" == "ceph" ]] ; then # This ugly loop checks all possible DEB combinations to see which repo has the most packages since that's likely the repo you want to sync. current_highest_count=0 - for combo in debian/bookworm debian/bullseye ubuntu/bionic ubuntu/focal ubuntu/jammy; do + for combo in debian/bookworm debian/bullseye ubuntu/bionic ubuntu/focal ubuntu/jammy ubuntu/noble; do combo_count=$(curl -fs https://chacra.ceph.com/r/$project/$release/$sha1/${combo}/flavors/default/pool/main/c/ceph/ | wc -l) if [ $combo_count -gt $current_highest_count ]; then current_highest_count=$combo_count -- 2.47.3