11@Library (' shared-libraries' ) _
22
3- def getJava (){
3+ def getJava () {
44 if (env. JAVA_VERSION == " JAVA21" ) {
55 return " /home/builder/java/jdk-21.0.1"
66 } else {
77 return " /home/builder/java/jdk-17.0.2"
88 }
99}
1010
11- def setupDockerMarkLogic (String image ){
11+ def setupDockerMarkLogic (String image ) {
1212 cleanupDocker()
13- sh label :' mlsetup' , script : ''' #!/bin/bash
13+ sh label : ' mlsetup' , script : ''' #!/bin/bash
1414 echo "Removing any running MarkLogic server and clean up MarkLogic data directory"
1515 sudo /usr/local/sbin/mladmin remove
1616 sudo /usr/local/sbin/mladmin cleandata
1717 cd java-client-api
1818 docker compose down -v || true
1919 docker volume prune -f
20- echo "Using image: "''' + image+ '''
21- docker pull ''' + image+ '''
22- MARKLOGIC_IMAGE=''' + image+ ''' MARKLOGIC_LOGS_VOLUME=marklogicLogs docker compose up -d --build
20+ echo "Using image: "''' + image + '''
21+ docker pull ''' + image + '''
22+ MARKLOGIC_IMAGE=''' + image + ''' MARKLOGIC_LOGS_VOLUME=marklogicLogs docker compose up -d --build
2323 echo "Waiting for MarkLogic server to initialize."
2424 sleep 60s
2525 export JAVA_HOME=$JAVA_HOME_DIR
@@ -33,7 +33,7 @@ def setupDockerMarkLogic(String image){
3333def runTests (String image ) {
3434 setupDockerMarkLogic(image)
3535
36- sh label :' run marklogic-client-api tests' , script : ''' #!/bin/bash
36+ sh label : ' run marklogic-client-api tests' , script : ''' #!/bin/bash
3737 export JAVA_HOME=$JAVA_HOME_DIR
3838 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
3939 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
@@ -44,7 +44,7 @@ def runTests(String image) {
4444 ./gradlew marklogic-client-api:test || true
4545 '''
4646
47- sh label :' run ml-development-tools tests' , script : ''' #!/bin/bash
47+ sh label : ' run ml-development-tools tests' , script : ''' #!/bin/bash
4848 export JAVA_HOME=$JAVA_HOME_DIR
4949 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
5050 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
@@ -53,7 +53,7 @@ def runTests(String image) {
5353 ./gradlew ml-development-tools:test || true
5454 '''
5555
56- sh label :' run fragile functional tests' , script : ''' #!/bin/bash
56+ sh label : ' run fragile functional tests' , script : ''' #!/bin/bash
5757 export JAVA_HOME=$JAVA_HOME_DIR
5858 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
5959 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
@@ -62,15 +62,15 @@ def runTests(String image) {
6262 ./gradlew marklogic-client-api-functionaltests:runFragileTests || true
6363 '''
6464
65- sh label :' run fast functional tests' , script : ''' #!/bin/bash
65+ sh label : ' run fast functional tests' , script : ''' #!/bin/bash
6666 export JAVA_HOME=$JAVA_HOME_DIR
6767 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
6868 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
6969 cd java-client-api
7070 ./gradlew marklogic-client-api-functionaltests:runFastFunctionalTests || true
7171 '''
7272
73- sh label :' run slow functional tests' , script : ''' #!/bin/bash
73+ sh label : ' run slow functional tests' , script : ''' #!/bin/bash
7474 export JAVA_HOME=$JAVA_HOME_DIR
7575 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
7676 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
@@ -84,23 +84,23 @@ def runTests(String image) {
8484def runTestsWithReverseProxy (String image ) {
8585 setupDockerMarkLogic(image)
8686
87- sh label :' run fragile functional tests with reverse proxy' , script : ''' #!/bin/bash
87+ sh label : ' run fragile functional tests with reverse proxy' , script : ''' #!/bin/bash
8888 export JAVA_HOME=$JAVA_HOME_DIR
8989 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
9090 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
9191 cd java-client-api
9292 ./gradlew -PtestUseReverseProxyServer=true test-app:runReverseProxyServer marklogic-client-api-functionaltests:runFragileTests || true
9393 '''
9494
95- sh label :' run fast functional tests with reverse proxy' , script : ''' #!/bin/bash
95+ sh label : ' run fast functional tests with reverse proxy' , script : ''' #!/bin/bash
9696 export JAVA_HOME=$JAVA_HOME_DIR
9797 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
9898 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
9999 cd java-client-api
100100 ./gradlew -PtestUseReverseProxyServer=true test-app:runReverseProxyServer marklogic-client-api-functionaltests:runFastFunctionalTests || true
101101 '''
102102
103- sh label :' run slow functional tests with reverse proxy' , script : ''' #!/bin/bash
103+ sh label : ' run slow functional tests with reverse proxy' , script : ''' #!/bin/bash
104104 export JAVA_HOME=$JAVA_HOME_DIR
105105 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
106106 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
@@ -112,7 +112,7 @@ def runTestsWithReverseProxy(String image) {
112112}
113113
114114def postProcessTestResults () {
115- sh label :' post-test-process' , script : '''
115+ sh label : ' post-test-process' , script : '''
116116 cd java-client-api
117117 mkdir -p marklogic-client-api-functionaltests/build/test-results/runFragileTests
118118 mkdir -p marklogic-client-api-functionaltests/build/test-results/runFastFunctionalTests
@@ -131,88 +131,90 @@ def postProcessTestResults() {
131131}
132132
133133def tearDownDocker () {
134- sh label :' tearDownDocker' , script : ''' #!/bin/bash
134+ sh label : ' tearDownDocker' , script : ''' #!/bin/bash
135135 cd java-client-api
136136 docker compose down -v || true
137137 docker volume prune -f
138138 '''
139139 cleanupDocker()
140140}
141141
142- pipeline{
143- agent {label ' javaClientLinuxPool' }
142+ pipeline {
143+ agent { label ' javaClientLinuxPool' }
144144
145- options {
146- checkoutToSubdirectory ' java-client-api'
147- buildDiscarder logRotator(artifactDaysToKeepStr : ' 7' , artifactNumToKeepStr : ' ' , daysToKeepStr : ' 7' , numToKeepStr : ' 10' )
148- }
145+ options {
146+ checkoutToSubdirectory ' java-client-api'
147+ buildDiscarder logRotator(artifactDaysToKeepStr : ' 7' , artifactNumToKeepStr : ' ' , daysToKeepStr : ' 7' , numToKeepStr : ' 10' )
148+ }
149149
150- parameters {
151- booleanParam(name : ' regressions' , defaultValue : false , description : ' indicator if build is for regressions' )
152- string(name : ' Email' , defaultValue : ' ' , description : ' Who should I say send the email to?' )
153- string(name : ' JAVA_VERSION' , defaultValue : ' JAVA8' , description : ' Who should I say send the email to?' )
154- }
150+ parameters {
151+ booleanParam(name : ' regressions' , defaultValue : false , description : ' indicator if build is for regressions' )
152+ string(name : ' Email' , defaultValue : ' ' , description : ' Who should I say send the email to?' )
153+ string(name : ' JAVA_VERSION' , defaultValue : ' JAVA8' , description : ' Who should I say send the email to?' )
154+ }
155155
156- environment {
157- JAVA_HOME_DIR = getJava()
158- GRADLE_DIR = " .gradle"
159- DMC_USER = credentials(' MLBUILD_USER' )
160- DMC_PASSWORD = credentials(' MLBUILD_PASSWORD' )
161- }
156+ environment {
157+ JAVA_HOME_DIR = getJava()
158+ GRADLE_DIR = " .gradle"
159+ DMC_USER = credentials(' MLBUILD_USER' )
160+ DMC_PASSWORD = credentials(' MLBUILD_PASSWORD' )
161+ }
162162
163- stages {
164- stage(' pull-request-tests' ) {
165- when {
166- not {
167- expression {return params. regressions}
168- }
169- }
170- steps {
171- setupDockerMarkLogic(" ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi-rootless:11.3.2-ubi-rootless-2.2.2" )
172- sh label :' run marklogic-client-api tests' , script : ''' #!/bin/bash
163+ stages {
164+ stage(' pull-request-tests' ) {
165+ when {
166+ not {
167+ expression { return params. regressions }
168+ }
169+ }
170+ steps {
171+ setupDockerMarkLogic(" ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi-rootless:11.3.2-ubi-rootless-2.2.2" )
172+ sh label : ' run marklogic-client-api tests' , script : ''' #!/bin/bash
173173 export JAVA_HOME=$JAVA_HOME_DIR
174174 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
175175 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
176176 cd java-client-api
177177 // Ensure all modules can be built first.
178178 ./gradlew clean build -x test
179- ./gradlew cleanTest marklogic-client-api:test
179+
180+ // Run a sufficient number of tests to verify the PR.
181+ ./gradlew cleanTest marklogic-client-api:test || true
180182 '''
181183 // Omitting this until MLE-24523 can be addressed
182184 // ./gradlew -PtestUseReverseProxyServer=true test-app:runReverseProxyServer marklogic-client-api-functionaltests:runFastFunctionalTests || true
183- junit ' **/build/**/TEST*.xml'
184- }
185+ junit ' **/build/**/TEST*.xml'
186+ }
185187 post {
186188 always {
187189 updateWorkspacePermissions()
188190 tearDownDocker()
189191 }
190192 }
191- }
192- stage(' publish' ){
193- when {
194- branch ' develop'
195- not {
196- expression {return params. regressions}
197- }
198- }
199- steps{
200- sh label :' publish' , script : ''' #!/bin/bash
193+ }
194+ stage(' publish' ) {
195+ when {
196+ branch ' develop'
197+ not {
198+ expression { return params. regressions }
199+ }
200+ }
201+ steps {
202+ sh label : ' publish' , script : ''' #!/bin/bash
201203 export JAVA_HOME=$JAVA_HOME_DIR
202204 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
203205 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
204206 cp ~/.gradle/gradle.properties $GRADLE_USER_HOME;
205207 cd java-client-api
206208 ./gradlew publish
207209 '''
208- }
209- }
210+ }
211+ }
210212
211213 stage(' regressions-11' ) {
212214 when {
213215 allOf {
214216 branch ' develop'
215- expression {return params. regressions}
217+ expression { return params. regressions }
216218 }
217219 }
218220 steps {
@@ -251,7 +253,7 @@ pipeline{
251253 when {
252254 allOf {
253255 branch ' develop'
254- expression {return params. regressions}
256+ expression { return params. regressions }
255257 }
256258 }
257259 steps {
@@ -270,7 +272,7 @@ pipeline{
270272 when {
271273 allOf {
272274 branch ' develop'
273- expression {return params. regressions}
275+ expression { return params. regressions }
274276 }
275277 }
276278 steps {
@@ -285,5 +287,5 @@ pipeline{
285287 }
286288 }
287289
288- }
290+ }
289291}
0 commit comments