]> git.apps.os.sepia.ceph.com Git - ceph-build.git/commitdiff
Seperate Crimson flavors to crimson-debug/release
authorMatan Breizman <mbreizma@redhat.com>
Sun, 8 Jun 2025 07:36:48 +0000 (10:36 +0300)
committerMatan Breizman <mbreizma@redhat.com>
Sun, 8 Jun 2025 07:36:48 +0000 (10:36 +0300)
The following change would allow us to:

* Keep testing "Debug" builds (crimson-debug) by default.
* When crimson-only is used, crimson-release would also be built.
* `crimson-release` builds would be used in the weekly nightlies and on
  selected PR gatings (when crimson-debug is not enough).

Note: Once crimson-release is stable enough we could switch crimson-debug
      to actaully be of: "RelWithDebInfo + !NDEBUG + asserts" instead of "Debug".
      For now, let's keep it as Debug since we know it's stable.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
ceph-dev-cron/config/definitions/ceph-dev-cron.yml
ceph-dev-new-trigger/config/definitions/ceph-dev-new-trigger.yml
ceph-dev-new/config/definitions/ceph-dev-new.yml
ceph-dev-pipeline/config/definitions/ceph-dev-pipeline.yml
ceph-dev/config/definitions/ceph-dev.yml
ceph-perf-pull-requests/config/definitions/ceph-perf-pull-requests.yml
ceph-source-dist/build/Jenkinsfile
ceph-source-dist/config/definitions/ceph-source-dist.yml
quay-pruner/build/prune-quay.py
scripts/build_utils.sh

index fe9cdb04e2afd0e7b1903e1cbb13e74e2e0e8777..dde29c728835ca232d68e1b1d9a56d94a975d3c1 100644 (file)
@@ -98,7 +98,7 @@
                     BRANCH=${{GIT_BRANCH}}
                     FORCE=True
                     DISTROS=centos9
-                    FLAVOR=crimson
+                    FLAVOR=crimson-debug
                     ARCHS=x86_64
       # build main on:
       # default: jammy centos9 windows
                     BRANCH=${{GIT_BRANCH}}
                     FORCE=True
                     DISTROS=centos9
-                    FLAVOR=crimson
+                    FLAVOR=crimson-debug
                     ARCHS=x86_64
 
     wrappers:
index 645508ce81ababbf9175149ef6748267ebff9e05..a96ea1953aadef3df9de3a6927a621b13a44e0b1 100644 (file)
@@ -91,7 +91,7 @@
                     BRANCH=${{GIT_BRANCH}}
                     FORCE=True
                     DISTROS=centos9
-                    FLAVOR=crimson
+                    FLAVOR=crimson-debug
                     ARCHS=x86_64
       # If no release name is found in branch, build on all possible distro/flavor combos (except xenial, bionic, focal).
       # regex matching and 'on-evaluation-failure: run' doesn't work here so triple negative it is.
                     BRANCH=${{GIT_BRANCH}}
                     FORCE=True
                     DISTROS=centos9
-                    FLAVOR=crimson
+                    FLAVOR=crimson-debug
                     ARCHS=x86_64
       # build only centos9, no crimson, no jaeger
       - conditional-step:
                     ARCHS=x86_64
       # Build only the `crimson` flavour, don't waste resources on the default one.
       # Useful for the crimson's bug-hunt at Sepia
-      # crimson: centos9
+      # crimson-debug: centos9
+      # crimson-release: centos9
       - conditional-step:
           condition-kind: regex-match
           regex: .*crimson-only.*
                     BRANCH=${{GIT_BRANCH}}
                     FORCE=True
                     DISTROS=centos9
-                    FLAVOR=crimson
+                    FLAVOR=crimson-debug
+                    ARCHS=x86_64
+            - trigger-builds:
+                - project: 'ceph-dev-new'
+                  predefined-parameters: |
+                    BRANCH=${{GIT_BRANCH}}
+                    FORCE=True
+                    DISTROS=centos9
+                    FLAVOR=crimson-release
                     ARCHS=x86_64
       # Build jaegertracing branch on needed env,  don't waste resources on the default one.
       # Useful for testing specific builds failure
index 39371db56bbe627c893e87dcd874a87ba711cd53..f90589c36e700b03f93a548ffecbc87d0006119a 100644 (file)
           name: FLAVOR
           choices:
             - default
-            - crimson
+            - crimson-debug
+            - crimson-release
             - jaeger
           default: "default"
-          description: "Type of Ceph build, choices are: crimson, jaeger, default. Defaults to: 'default'"
+          description: "Type of Ceph build, choices are: crimson-debug, crimson-release, jaeger, default. Defaults to: 'default'"
 
       - string:
           name: CI_CONTAINER
index 61f0e92fe25e2e60e225cbaf38dc180d82af930c..bb5e93d1ad0fafa0bb66bf748784631ab6d13277 100644 (file)
           name: FLAVOR
           choices:
             - default
-            - crimson
+            - crimson-debug
+            - crimson-release
             - jaeger
           default: "default"
-          description: "Type of Ceph build, choices are: crimson, jaeger, default. Defaults to: 'default'"
+          description: "Type of Ceph build, choices are: crimson-debug, crimson-release, jaeger, default. Defaults to: 'default'"
 
       - bool:
           name: CI_CONTAINER
index 7c36a5a03c966bd01620d60296cfc30c11b66102..d71498ddbebdea6870c98251d2f612a5183382f1 100644 (file)
@@ -53,9 +53,10 @@ If this is checked, then the binaries will be built and pushed to chacra even if
           name: FLAVOR
           choices:
             - default
-            - crimson
+            - crimson-debug
+            - crimson-release
           default: "default"
-          description: "Type of Ceph build, choices are: crimson, default. Defaults to: 'default'"
+          description: "Type of Ceph build, choices are: crimson-debug, crimson-release, default. Defaults to: 'default'"
 
       - bool:
           name: CI_CONTAINER
index d930bdff7cd6cc7ef756fe602f9011705302643d..60834deea056979662ababf6c012fda7c24ca6ab 100644 (file)
@@ -65,8 +65,8 @@
                   break
               fi
           done
-          if test {osd-flavor} = "crimson" ; then
-              export WITH_SEASTAR=true
+          if test {osd-flavor} = "crimson-release" ; then
+              export WITH_CRIMSON=true
               # TODO use clang-10 on ubuntu/focal
               timeout 7200 src/script/run-make.sh \
                 --cmake-args "-DCMAKE_CXX_COMPILER=$cxx_compiler -DCMAKE_C_COMPILER=$c_compiler -DCMAKE_BUILD_TYPE=Release -DWITH_CRIMSON=ON -DWITH_TESTS=OFF" \
 - project:
     name: ceph-perf
     osd-flavor:
-      - crimson
+      - crimson-debug
+      - crimson-release
       - classic
     jobs:
       - ceph-perf-{osd-flavor}
index e08a838e2472aceb523ffa623a94a470b316b21e..95fc5fd062047cc56ad772205961ae671280c3a0 100644 (file)
@@ -13,7 +13,12 @@ pipeline {
               env.CEPH_EXTRA_CMAKE_ARGS+=" -DWITH_SYSTEM_BOOST=OFF -DWITH_BOOST_VALGRIND=ON"
               env.DEB_BUILD_PROFILES=""
               break
-            case "crimson":
+            case "crimson-debug":
+              env.CEPH_EXTRA_RPMBUILD_ARGS="--with crimson"
+              env.DEB_BUILD_PROFILES="pkg.ceph.crimson"
+              env.CEPH_EXTRA_CMAKE_ARGS+=" -DCMAKE_BUILD_TYPE=Debug"
+              break
+            case "crimson-release":
               env.CEPH_EXTRA_RPMBUILD_ARGS="--with crimson"
               env.DEB_BUILD_PROFILES="pkg.ceph.crimson"
               break
index 27ac68a260ec85da3646b84fd1a6c46b23b55b1e..54a255cccab7e56571561d631a3b6800382743cc 100644 (file)
@@ -41,7 +41,8 @@
           name: FLAVOR
           choices:
             - default
-            - crimson
+            - crimson-debug
+            - crimson-release
             - jaeger
 
       - string:
index a3f0d7829450263af3e941ee36e01dd34b3f2b44..1ea37549eda683ab2158afefdec54068b0545207 100755 (executable)
@@ -20,7 +20,7 @@ page_limit = 100000
 NAME_RE = re.compile(
     r'(.*)-([0-9a-f]{7})-centos-.*([0-9]+)-(x86_64|aarch64)-devel'
 )
-SHA1_RE = re.compile(r'([0-9a-f]{40})(-crimson|-aarch64)*')
+SHA1_RE = re.compile(r'([0-9a-f]{40})(-crimson-debug|-crimson-release|-aarch64)*')
 
 
 def get_all_quay_tags(quaytoken):
@@ -291,7 +291,7 @@ def main():
                 continue
             # <sha1>-crimson tags don't have full or ref tags to go with.
             # Delete them iff the default <sha1> tag is to be deleted
-            if (match[2] == '-crimson') and (sha1 in tags_to_delete):
+            if match[2] in ('-crimson', '-crimson-debug', '-crimson-release') and sha1 in tags_to_delete:
                 if args.verbose:
                     print(
                         'Marking %s for deletion: orphaned sha1 tag' % name
index d6da4d6995b766b61b0a36200c8ad08d39d4ee16..d46efb9d6dbbf80eb667fc8f176f5e1dc0b3dd77 100755 (executable)
@@ -867,7 +867,11 @@ ceph_build_args_from_flavor() {
         CEPH_EXTRA_CMAKE_ARGS+=" -DWITH_SYSTEM_BOOST=OFF -DWITH_BOOST_VALGRIND=ON"
         DEB_BUILD_PROFILES=""
         ;;
-    crimson)
+    crimson-debug)
+        CEPH_EXTRA_RPMBUILD_ARGS="--with crimson"
+        DEB_BUILD_PROFILES="pkg.ceph.crimson"
+        CEPH_EXTRA_CMAKE_ARGS+=" -DCMAKE_BUILD_TYPE=Debug"
+    crimson-release)
         CEPH_EXTRA_RPMBUILD_ARGS="--with crimson"
         DEB_BUILD_PROFILES="pkg.ceph.crimson"
         ;;
@@ -1019,7 +1023,7 @@ EOF
 
 extra_cmake_args() {
     # statically link against libstdc++ for building new releases on old distros
-    if [ "${FLAVOR}" = "crimson" ]; then
+    if [ "${FLAVOR}" = "crimson-debug" ] || [ "${FLAVOR}" = "crimson-release" ] ; then
         # seastar's exception hack assums dynamic linkage against libgcc. as
         # otherwise _Unwind_RaiseException will conflict with its counterpart
         # defined in libgcc_eh.a, when the linker comes into play. and more
@@ -1482,7 +1486,10 @@ setup_rpm_build_deps() {
 
     # enable more build depends required by build flavor(jaeger, crimson)
     case "${FLAVOR}" in
-    crimson)
+    crimson-debug)
+      sed -i -e 's/%bcond_with crimson/%bcond_without crimson/g' $DIR/ceph.spec
+        ;;
+    crimson-release)
       sed -i -e 's/%bcond_with crimson/%bcond_without crimson/g' $DIR/ceph.spec
         ;;
     jaeger)