11@Library (' shared-libraries' ) _
22
3- def getJava () {
3+ def getJavaHomePath () {
44 if (env. JAVA_VERSION == " JAVA21" ) {
55 return " /home/builder/java/jdk-21.0.1"
66 } else {
@@ -38,9 +38,10 @@ def runTests(String image) {
3838 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
3939 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
4040 cd java-client-api
41- // Ensure all modules can be built first.
41+
42+ echo "Ensure all subprojects can be built first."
4243 ./gradlew clean build -x test
43- mkdir -p marklogic-client-api/build/test-results/test
44+
4445 ./gradlew marklogic-client-api:test || true
4546 '''
4647
@@ -49,7 +50,6 @@ def runTests(String image) {
4950 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
5051 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
5152 cd java-client-api
52- mkdir -p ml-development-tools/build/test-results/test
5353 ./gradlew ml-development-tools:test || true
5454 '''
5555
@@ -84,28 +84,41 @@ def runTests(String image) {
8484def runTestsWithReverseProxy (String image ) {
8585 setupDockerMarkLogic(image)
8686
87+ sh label : ' run marklogic-client-api tests with reverse proxy' , script : ''' #!/bin/bash
88+ export JAVA_HOME=$JAVA_HOME_DIR
89+ export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
90+ export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
91+ cd java-client-api
92+
93+ echo "Ensure all subprojects can be built first."
94+ ./gradlew clean build -x test
95+
96+ echo "Running marklogic-client-api tests with reverse proxy."
97+ ./gradlew -PtestUseReverseProxyServer=true runReverseProxyServer marklogic-client-api:test || true
98+ '''
99+
87100 sh label : ' run fragile functional tests with reverse proxy' , script : ''' #!/bin/bash
88101 export JAVA_HOME=$JAVA_HOME_DIR
89102 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
90103 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
91104 cd java-client-api
92- ./gradlew -PtestUseReverseProxyServer=true test-app: runReverseProxyServer marklogic-client-api-functionaltests:runFragileTests || true
105+ ./gradlew -PtestUseReverseProxyServer=true runReverseProxyServer marklogic-client-api-functionaltests:runFragileTests || true
93106 '''
94107
95108 sh label : ' run fast functional tests with reverse proxy' , script : ''' #!/bin/bash
96109 export JAVA_HOME=$JAVA_HOME_DIR
97110 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
98111 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
99112 cd java-client-api
100- ./gradlew -PtestUseReverseProxyServer=true test-app: runReverseProxyServer marklogic-client-api-functionaltests:runFastFunctionalTests || true
113+ ./gradlew -PtestUseReverseProxyServer=true runReverseProxyServer marklogic-client-api-functionaltests:runFastFunctionalTests || true
101114 '''
102115
103116 sh label : ' run slow functional tests with reverse proxy' , script : ''' #!/bin/bash
104117 export JAVA_HOME=$JAVA_HOME_DIR
105118 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
106119 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
107120 cd java-client-api
108- ./gradlew -PtestUseReverseProxyServer=true test-app: runReverseProxyServer marklogic-client-api-functionaltests:runSlowFunctionalTests || true
121+ ./gradlew -PtestUseReverseProxyServer=true runReverseProxyServer marklogic-client-api-functionaltests:runSlowFunctionalTests || true
109122 '''
110123
111124 postProcessTestResults()
@@ -149,43 +162,45 @@ pipeline {
149162
150163 parameters {
151164 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?' )
165+ string(name : ' JAVA_VERSION' , defaultValue : ' JAVA17' , description : ' Either JAVA17 or JAVA21' )
154166 }
155167
156168 environment {
157- JAVA_HOME_DIR = getJava ()
169+ JAVA_HOME_DIR = getJavaHomePath ()
158170 GRADLE_DIR = " .gradle"
159171 DMC_USER = credentials(' MLBUILD_USER' )
160172 DMC_PASSWORD = credentials(' MLBUILD_PASSWORD' )
161173 }
162174
163175 stages {
176+
164177 stage(' pull-request-tests' ) {
165178 when {
166179 not {
167180 expression { return params. regressions }
168181 }
169182 }
170183 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 " )
184+ setupDockerMarkLogic(" ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12 " )
172185 sh label : ' run marklogic-client-api tests' , script : ''' #!/bin/bash
173186 export JAVA_HOME=$JAVA_HOME_DIR
174187 export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
175188 export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
176189 cd java-client-api
177- // Ensure all modules can be built first.
190+
191+ echo "Ensure all subprojects can be built first."
178192 ./gradlew clean build -x test
179193
180- // Run a sufficient number of tests to verify the PR.
181- ./gradlew cleanTest marklogic-client-api:test || true
194+ echo "Run a sufficient number of tests to verify the PR."
195+ ./gradlew marklogic-client-api:test --tests ReadDocumentPageTest || true
196+
197+ echo "Run a test with the reverse proxy server to ensure it's fine."
198+ ./gradlew -PtestUseReverseProxyServer=true runReverseProxyServer marklogic-client-api-functionaltests:test --tests SearchWithPageLengthTest || true
182199 '''
183- // Omitting this until MLE-24523 can be addressed
184- // ./gradlew -PtestUseReverseProxyServer=true test-app:runReverseProxyServer marklogic-client-api-functionaltests:runFastFunctionalTests || true
185- junit ' **/build/**/TEST*.xml'
186200 }
187201 post {
188202 always {
203+ junit ' **/build/**/TEST*.xml'
189204 updateWorkspacePermissions()
190205 tearDownDocker()
191206 }
@@ -218,36 +233,35 @@ pipeline {
218233 }
219234 }
220235 steps {
221- runTests(" ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi-rootless:11.3.2-ubi-rootless-2.2.2" )
222- junit ' **/build/**/TEST*.xml'
236+ runTests(" ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-11" )
223237 }
224238 post {
225239 always {
240+ junit ' **/build/**/TEST*.xml'
226241 updateWorkspacePermissions()
227242 tearDownDocker()
228243 }
229244 }
230245 }
231246
232- // Omitting this until MLE-24523 can be addressed
233- // stage('regressions-11-reverseProxy') {
234- // when {
235- // allOf {
236- // branch 'develop'
237- // expression {return params.regressions}
238- // }
239- // }
240- // steps {
241- // runTestsWithReverseProxy("ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-11")
242- // junit '**/build/**/TEST*.xml'
243- // }
244- // post {
245- // always {
246- // updateWorkspacePermissions()
247- // tearDownDocker()
248- // }
249- // }
250- // }
247+ stage(' regressions-12-reverseProxy' ) {
248+ when {
249+ allOf {
250+ branch ' develop'
251+ expression {return params. regressions}
252+ }
253+ }
254+ steps {
255+ runTestsWithReverseProxy(" ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12" )
256+ }
257+ post {
258+ always {
259+ junit ' **/build/**/TEST*.xml'
260+ updateWorkspacePermissions()
261+ tearDownDocker()
262+ }
263+ }
264+ }
251265
252266 stage(' regressions-12' ) {
253267 when {
@@ -257,18 +271,18 @@ pipeline {
257271 }
258272 }
259273 steps {
260- runTests(" ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi-rootless:12.0.0-ubi-rootless-2.2.0" )
261- junit ' **/build/**/TEST*.xml'
274+ runTests(" ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12" )
262275 }
263276 post {
264277 always {
278+ junit ' **/build/**/TEST*.xml'
265279 updateWorkspacePermissions()
266280 tearDownDocker()
267281 }
268282 }
269283 }
270284
271- stage(' regressions-10.0 ' ) {
285+ stage(' regressions-10' ) {
272286 when {
273287 allOf {
274288 branch ' develop'
@@ -277,10 +291,10 @@ pipeline {
277291 }
278292 steps {
279293 runTests(" ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-10" )
280- junit ' **/build/**/TEST*.xml'
281294 }
282295 post {
283296 always {
297+ junit ' **/build/**/TEST*.xml'
284298 updateWorkspacePermissions()
285299 tearDownDocker()
286300 }
0 commit comments