]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-build.git/commitdiff
ceph-dev-pipeline: key build_matrix by flavor and fix FLAVOR axis
authorDavid Galloway <david.galloway@ibm.com>
Thu, 9 Jul 2026 16:26:26 +0000 (12:26 -0400)
committerDavid Galloway <david.galloway@ibm.com>
Thu, 9 Jul 2026 19:08:05 +0000 (15:08 -0400)
build_matrix was keyed by "${DIST}_${ARCH}" but the matrix has a
FLAVOR axis, so the default and debug cells of the same dist/arch
shared one key: when the artifact check found existing default
artifacts and set the key false, it cancelled the debug cell's build
too (and vice versa), even though the chacra endpoints and pulp
distributions are flavor-specific.  Include FLAVOR in the key
everywhere build_matrix is read or written.

Also declare the FLAVOR axis with `axis` instead of a nested `axes`
block, which is not valid declarative matrix syntax.

Signed-off-by: David Galloway <david.galloway@ibm.com>
ceph-dev-pipeline/build/Jenkinsfile

index e4290c41187fc1533e88609ea46b07b68cabf3f3..cd8d404dee0bdbccecf9d56c17c062412ea16deb 100644 (file)
@@ -326,7 +326,7 @@ def doArtifactsChecksStage() {
       "To override, use THROWAWAY=true (to skip this check) " +
       "or FORCE=true (to re-upload artifacts)."
     )
-    build_matrix["${DIST}_${ARCH}"] = false
+    build_matrix[cell] = false
   }
 }
 
@@ -702,7 +702,7 @@ pipeline {
             name 'ARCH'
             values 'x86_64', 'arm64'
           }
-          axes {
+          axis {
             name 'FLAVOR'
             values 'default', 'debug'
           }
@@ -735,7 +735,7 @@ pipeline {
           stage("node") {
             steps {
               script {
-                build_matrix["${DIST}_${ARCH}"] = env.CI_COMPILE.toBoolean()
+                build_matrix["${DIST}_${ARCH}_${FLAVOR}"] = env.CI_COMPILE.toBoolean()
                 println("Building: DIST=${env.DIST} ARCH=${env.ARCH} FLAVOR=${env.FLAVOR}")
                 def node_shortname = env.NODE_NAME.split('\\+')[-1]
                 def node_url = new URI([env.JENKINS_URL, "computer", env.NODE_NAME].join("/")).normalize()
@@ -766,7 +766,7 @@ pipeline {
           stage("check for built packages") {
             when {
               expression {
-                return build_matrix["${DIST}_${ARCH}"] == true && params.THROWAWAY == false
+                return build_matrix["${DIST}_${ARCH}_${FLAVOR}"] == true && params.THROWAWAY == false
               }
             }
             stages {
@@ -807,7 +807,7 @@ pipeline {
               DOCKER_HUB_CREDS = credentials('dgalloway-docker-hub')
             }
             when {
-              expression { return build_matrix["${DIST}_${ARCH}"] == true }
+              expression { return build_matrix["${DIST}_${ARCH}_${FLAVOR}"] == true }
             }
             steps {
               script { doBuilderContainerStage() }
@@ -819,7 +819,7 @@ pipeline {
               SCCACHE_BUCKET_CREDS = credentials('ibm-cloud-sccache-bucket')
             }
             when {
-              expression { return build_matrix["${DIST}_${ARCH}"] == true }
+              expression { return build_matrix["${DIST}_${ARCH}_${FLAVOR}"] == true }
             }
             steps {
               script { doBuildStage() }
@@ -846,7 +846,7 @@ pipeline {
             }
             when {
               expression {
-                return build_matrix["${DIST}_${ARCH}"] == true && params.THROWAWAY == false && (params.CHACRA_UPLOAD || params.PULP_UPLOAD)
+                return build_matrix["${DIST}_${ARCH}_${FLAVOR}"] == true && params.THROWAWAY == false && (params.CHACRA_UPLOAD || params.PULP_UPLOAD)
               }
             }
             stages {