11@Library (' shared-libraries' ) _
2+
23pipeline{
4+
35 agent none;
6+
47 environment{
5- JAVA_HOME_DIR = " /home/builder/java/jdk-11 .0.2"
8+ JAVA_HOME_DIR = " /home/builder/java/jdk-17 .0.2"
69 GRADLE_DIR = " .gradle"
710 }
11+
812 options {
913 checkoutToSubdirectory ' marklogic-python-client'
10- buildDiscarder logRotator(artifactDaysToKeepStr : ' 7' , artifactNumToKeepStr : ' ' , daysToKeepStr : ' 30' , numToKeepStr : ' ' )
14+ buildDiscarder logRotator(artifactDaysToKeepStr : ' 7' , artifactNumToKeepStr : ' ' , daysToKeepStr : ' 30' , numToKeepStr : ' 5 ' )
1115 }
16+
1217 stages{
1318 stage(' tests' ){
1419 agent {label ' devExpLinuxPool' }
1520 steps{
16- script{
17- copyRPM ' Latest' ,' 11'
18- setUpML ' $WORKSPACE/xdmp/src/Mark*.rpm'
19- sh label :' deploy project' , script : ''' #!/bin/bash
20- export JAVA_HOME=$JAVA_HOME_DIR
21- export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
22- export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
23- cd marklogic-python-client/test-app
24- ./gradlew -i mlDeploy -PmlPassword=admin
25- '''
26- sh label :' Run tests' , script : ''' #!/bin/bash
27- cd marklogic-python-client
28- python -m venv .venv;
29- source .venv/bin/activate;
30- pip install poetry;
31- poetry install;
32- pytest --junitxml=TestReport.xml || true
33- '''
34- junit ' marklogic-python-client/TestReport.xml'
35- }
21+ cleanupDocker()
22+ sh label :' mlsetup' , script : ''' #!/bin/bash
23+ echo "Removing any running MarkLogic server and clean up MarkLogic data directory"
24+ sudo /usr/local/sbin/mladmin remove
25+ docker-compose down -v || true
26+ sudo /usr/local/sbin/mladmin cleandata
27+ cd marklogic-python-client/test-app
28+ MARKLOGIC_LOGS_VOLUME=/tmp docker-compose up -d --build
29+ cd ..
30+ '''
31+ sh label :' deploy project' , script : ''' #!/bin/bash
32+ export JAVA_HOME=$JAVA_HOME_DIR
33+ export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
34+ export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
35+ cd marklogic-python-client/test-app
36+ ./gradlew -i mlDeploy -PmlPassword=admin
37+ '''
38+ sh label :' Run tests' , script : ''' #!/bin/bash
39+ cd marklogic-python-client
40+ python -m venv .venv;
41+ source .venv/bin/activate;
42+ pip install poetry;
43+ poetry install;
44+ pytest --junitxml=TestReport.xml || true
45+ '''
46+ junit ' marklogic-python-client/TestReport.xml'
47+ }
48+ post{
49+ always{
50+ updateWorkspacePermissions()
51+ sh label :' mlcleanup' , script : ''' #!/bin/bash
52+ cd marklogic-python-client/test-app
53+ docker-compose down -v || true
54+ '''
55+ cleanupDocker()
56+ }
3657 }
3758 }
3859 }
39- }
60+ }
0 commit comments