@@ -31,25 +31,16 @@ def setupDockerMarkLogic(String image) {
3131 cd java-client-api
3232 export PLATFORM=$PLATFORM
3333 export SET_CONVERTERS=$SET_CONVERTERS
34- # Use the ARM-specific compose file
3534 docker compose down -v || true
3635 docker volume prune -f
3736
38- echo "Using image: ''' + image + ''' "
37+ echo "Using image: " ''' + image + '''
3938 docker pull ''' + image + '''
4039
4140 MARKLOGIC_IMAGE=''' + image + ''' MARKLOGIC_LOGS_VOLUME=marklogicLogs \
4241 docker compose up -d --build
42+ echo "Waiting for MarkLogic server to initialize."
4343 sleep 300
44- echo "Debugging Java installation on ARM instance:"
45- ls -la /usr/lib/jvm/
46- readlink -f /usr/bin/java
47- echo "Current JAVA_HOME_DIR value: $JAVA_HOME_DIR"
48- ls -la $JAVA_HOME_DIR || echo "JAVA_HOME_DIR path does not exist"
49- echo "Verifying Docker Compose installation:"
50- docker compose version || echo "Docker Compose not available"
51- docker --version
52-
5344 export JAVA_HOME=$JAVA_HOME_DIR
5445 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
5546 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
@@ -218,11 +209,9 @@ pipeline {
218209 stages {
219210
220211 stage(' pull-request-tests' ) {
221-
222212 when {
223- expression { false }
224- not {
225- expression { return params. regressions }
213+ expression {
214+ return ! params. regressions && ! params. arm_regressions
226215 }
227216 }
228217 steps {
@@ -257,30 +246,32 @@ pipeline {
257246 }
258247 stage(' publish' ) {
259248 when {
260- expression { false }
261249 branch ' develop'
262250 not {
263- expression { return params. regressions }
251+ anyOf {
252+ expression { return params. regressions }
253+ expression { return params. arm_regressions }
254+ }
264255 }
265256 }
266257 steps {
267258 sh label : ' publish' , script : ''' #!/bin/bash
268- export JAVA_HOME=$JAVA_HOME_DIR
269- export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
270- export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
271- cp ~/.gradle/gradle.properties $GRADLE_USER_HOME;
272- cd java-client-api
273- ./gradlew publish
274- '''
259+ export JAVA_HOME=$JAVA_HOME_DIR
260+ export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
261+ export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
262+ cp ~/.gradle/gradle.properties $GRADLE_USER_HOME;
263+ cd java-client-api
264+ ./gradlew publish
265+ '''
275266 }
276267 }
277268
278269 stage(' regressions-11' ) {
279270 when {
280271 allOf {
281272 branch ' develop'
282- expression { return params. regressions }
283- expression { false }
273+ expression { return params. regressions }
274+ expression { return ! params . arm_regressions }
284275 }
285276 }
286277 steps {
@@ -319,8 +310,8 @@ pipeline {
319310 when {
320311 allOf {
321312 branch ' develop'
322- expression { return params. regressions }
323- expression { false }
313+ expression { return params. regressions }
314+ expression { return ! params . arm_regressions }
324315 }
325316 }
326317 steps {
@@ -338,14 +329,21 @@ pipeline {
338329 stage(' provisionInfrastructure' ){
339330 when {
340331 allOf {
332+ // branch 'develop'
341333 branch ' arm-regressions-testbranch'
342334 expression { return params. arm_regressions }
335+ expression { return ! params. regressions }
343336 }
344337 }
345338 agent {label ' javaClientLinuxPool' }
346339
347340 steps{
348341 script {
342+ def nodeName = " java-client-agent-${ BUILD_NUMBER} "
343+ def remoteFS = " /space/jenkins_home"
344+ def labels = " java-client-agent-${ BUILD_NUMBER} "
345+ def instanceIp = env. EC2_PRIVATE_IP
346+
349347 def deploymentResult = deployAWSInstance([
350348 instanceName : " java-client-instance-${ BUILD_NUMBER} " ,
351349 region : ' us-west-2' ,
@@ -365,25 +363,8 @@ pipeline {
365363 env. DEPLOYMENT_REGION = deploymentResult. region
366364 env. DEPLOYMENT_TERRAFORM_DIR = deploymentResult. terraformDir
367365 env. EC2_PRIVATE_IP = deploymentResult. privateIp
368- }
369- }
370- }
371- stage(' setupJenkinsAgent' ){
372- when {
373- allOf {
374- branch ' arm-regressions-testbranch'
375- expression { return params. arm_regressions }
376- }
377- }
378- agent {label ' javaClientLinuxPool' }
379- steps{
380- script {
381- def nodeName = " java-client-agent-${ BUILD_NUMBER} "
382- def remoteFS = " /space/jenkins_home"
383- def labels = " java-client-agent-${ BUILD_NUMBER} "
384- def instanceIp = env. EC2_PRIVATE_IP
385-
386- // Use shared library for volume attachment
366+
367+ // Use shared library for volume attachment
387368 def volumeResult = attachInstanceVolumes([
388369 instanceIp : instanceIp,
389370 remoteFS : remoteFS,
@@ -399,8 +380,8 @@ pipeline {
399380 echo " ✅ Volume attachment completed: ${ volumeResult.volumeAttached} "
400381 echo " ✅ Java installed: ${ volumeResult.javaInstalled} "
401382 echo " ✅ Dependencies installed: ${ volumeResult.dependenciesInstalled} "
402-
403- // Use shared library to create Jenkins agent
383+
384+ // Use shared library to create Jenkins agent
404385 def agentResult = createJenkinsAgent([
405386 nodeName : nodeName,
406387 instanceIp : instanceIp,
@@ -420,8 +401,10 @@ pipeline {
420401 agent { label " java-client-agent-${ BUILD_NUMBER} " }
421402 when {
422403 allOf {
404+ // branch 'develop'
423405 branch ' arm-regressions-testbranch'
424406 expression { return params. arm_regressions }
407+ expression { return ! params. regressions }
425408 }
426409 }
427410 steps {
@@ -452,12 +435,12 @@ pipeline {
452435 echo " 🧹 Starting cleanup process..."
453436
454437 try {
455- // Cleanup Terraform infrastructure first
438+ // Cleanup Terraform infrastructure
456439 if (env. EC2_PRIVATE_IP ) {
457440 echo " 🗑️ Cleaning up Terraform resources..."
458441 node(' javaClientLinuxPool' ) {
459442 try {
460- sleep 300
443+ sleep 60
461444 unstash " terraform-${ BUILD_NUMBER} "
462445 withAWS(credentials : ' headlessDbUserEC2' , region : ' us-west-2' , role : ' role-headless-testing' , roleAccount : ' 343869654284' , duration : 3600 ) {
463446 sh ''' #!/bin/bash
0 commit comments