From: David Galloway Date: Thu, 9 Jul 2026 16:26:26 +0000 (-0400) Subject: ceph-dev-pipeline: key build_matrix by flavor and fix FLAVOR axis X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ce478f5e6f5e3ec109ce9738d2b8540f7dad82f7;p=ceph-build.git ceph-dev-pipeline: key build_matrix by flavor and fix FLAVOR axis 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 --- diff --git a/ceph-dev-pipeline/build/Jenkinsfile b/ceph-dev-pipeline/build/Jenkinsfile index e4290c411..cd8d404de 100644 --- a/ceph-dev-pipeline/build/Jenkinsfile +++ b/ceph-dev-pipeline/build/Jenkinsfile @@ -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 {