From ec9e8f64d7616cd8ddfa1263b10aca87d3ebac7b Mon Sep 17 00:00:00 2001 From: Rob Rudin Date: Tue, 18 Nov 2025 06:58:13 -0500 Subject: [PATCH] MLE-24892 Parameterizing image tags in Jenkinsfile --- Jenkinsfile | 73 ++++++++++++++++++----------------------------------- 1 file changed, 25 insertions(+), 48 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 080b15cf3..9226f1613 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -171,6 +171,7 @@ pipeline { parameters { booleanParam(name: 'regressions', defaultValue: false, description: 'indicator if build is for regressions') string(name: 'JAVA_VERSION', defaultValue: 'JAVA17', description: 'Either JAVA17 or JAVA21') + string(name: 'MARKLOGIC_IMAGE_TAGS', defaultValue: 'marklogic-server-ubi:latest-11,marklogic-server-ubi:latest-12', description: 'Comma-delimited list of MarkLogic image tags including variant (e.g., marklogic-server-ubi:latest-11,marklogic-server-ubi-rootless:11.3.2). The registry/org (ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic) path will be prepended automatically.') } environment { @@ -237,60 +238,36 @@ pipeline { } } - stage('regressions-11') { + stage('regressions') { when { allOf { branch 'develop' expression { return params.regressions } } } - steps { - runTests("ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-11") - } - post { - always { - junit '**/build/**/TEST*.xml' - updateWorkspacePermissions() - tearDownDocker() - } - } - } - - // Latest run had 87 errors, which have been added to MLE-24523 for later research. -// stage('regressions-12-reverseProxy') { -// when { -// allOf { -// branch 'develop' -// expression {return params.regressions} -// } -// } -// steps { -// runTestsWithReverseProxy("ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12") -// } -// post { -// always { -// junit '**/build/**/TEST*.xml' -// updateWorkspacePermissions() -// tearDownDocker() -// } -// } -// } - - stage('regressions-12') { - when { - allOf { - branch 'develop' - expression { return params.regressions } - } - } - steps { - runTests("ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12") - } - post { - always { - junit '**/build/**/TEST*.xml' - updateWorkspacePermissions() - tearDownDocker() + steps { + script { + def imageTags = params.MARKLOGIC_IMAGE_TAGS.split(',') + def imagePrefix = 'ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/' + + def parallelStages = [:] + imageTags.each { tag -> + def fullImage = imagePrefix + tag.trim() + def stageName = "regressions-${tag.trim().replace(':', '-')}" + + parallelStages[stageName] = { + stage(stageName) { + try { + runTests(fullImage) + } finally { + junit '**/build/**/TEST*.xml' + updateWorkspacePermissions() + tearDownDocker() + } + } + } + } + parallel parallelStages } } }