|
1 | 1 | @Library('shared-libraries') _ |
| 2 | + |
| 3 | +def runTests(String mlVersion, String javaVersion){ |
| 4 | + copyRPM 'Release',mlVersion |
| 5 | + setUpML '$WORKSPACE/xdmp/src/Mark*.rpm' |
| 6 | + sh label:'test', script: '''#!/bin/bash |
| 7 | + export JAVA_HOME=$'''+javaVersion+''' |
| 8 | + export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR |
| 9 | + export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH |
| 10 | + cd $WORKSPACE/ml-gradle/ml-javaclient-util-test-app |
| 11 | + echo "mlPassword=admin" > gradle-local.properties |
| 12 | + ../gradlew -i :mlDeploy |
| 13 | + cd $WORKSPACE/ml-gradle/ |
| 14 | + ./gradlew ml-javaclient-util:test || true |
| 15 | + ./gradlew ml-app-deployer:test || true |
| 16 | + ./gradlew ml-gradle:test || true |
| 17 | + ''' |
| 18 | + junit '**/build/**/*.xml' |
| 19 | +} |
| 20 | + |
2 | 21 | pipeline{ |
3 | | - agent {label 'devExpLinuxPool'} |
| 22 | + agent none |
4 | 23 | options { |
5 | 24 | checkoutToSubdirectory 'ml-gradle' |
6 | 25 | buildDiscarder logRotator(artifactDaysToKeepStr: '7', artifactNumToKeepStr: '', daysToKeepStr: '30', numToKeepStr: '') |
7 | 26 | } |
8 | 27 | environment{ |
9 | | - JAVA_HOME_DIR="/home/builder/java/jdk-11.0.2" |
| 28 | + JAVA11_HOME_DIR="/home/builder/java/jdk-11.0.20" |
| 29 | + JAVA8_HOME_DIR="/home/builder/java/openjdk-1.8.0-262" |
| 30 | + JAVA17_HOME_DIR="/home/builder/java/jdk-17.0.2" |
| 31 | + JAVA21_HOME_DIR="/home/builder/java/jdk-21.0.1" |
10 | 32 | GRADLE_DIR =".gradle" |
11 | 33 | DMC_USER = credentials('MLBUILD_USER') |
12 | 34 | DMC_PASSWORD = credentials('MLBUILD_PASSWORD') |
13 | 35 | } |
14 | 36 | stages{ |
15 | | - stage('tests'){ |
| 37 | + stage('tests-java11'){ |
| 38 | + agent {label 'devExpLinuxPool'} |
16 | 39 | steps{ |
17 | | - copyRPM 'Release','11.3.0' |
18 | | - setUpML '$WORKSPACE/xdmp/src/Mark*.rpm' |
19 | | - sh label:'test', 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 ml-gradle |
24 | | - cd ml-javaclient-util-test-app |
25 | | - echo "mlPassword=admin" > gradle-local.properties |
26 | | - ../gradlew -i mlDeploy |
27 | | - cd .. |
28 | | - ./gradlew ml-javaclient-util:test || true |
29 | | - ./gradlew ml-app-deployer:test || true |
30 | | - ./gradlew ml-gradle:test || true |
31 | | - ''' |
32 | | - junit '**/build/**/*.xml' |
| 40 | + runTests('11.3.1','JAVA11_HOME_DIR') |
| 41 | + } |
| 42 | + } |
| 43 | + stage('regressions'){ |
| 44 | + when { |
| 45 | + anyOf { |
| 46 | + branch 'dev' |
| 47 | + branch 'master' |
| 48 | + } |
| 49 | + beforeAgent true |
| 50 | + } |
| 51 | + parallel{ |
| 52 | + stage('tests-java8'){ |
| 53 | + agent {label 'devExpLinuxPool'} |
| 54 | + steps{ |
| 55 | + runTests('11.3.1','JAVA8_HOME_DIR') |
| 56 | + } |
| 57 | + } |
| 58 | + stage('tests-java17'){ |
| 59 | + agent {label 'devExpLinuxPool'} |
| 60 | + steps{ |
| 61 | + runTests('11.3.1','JAVA17_HOME_DIR') |
| 62 | + } |
| 63 | + } |
| 64 | + stage('tests-java21'){ |
| 65 | + agent {label 'devExpLinuxPool'} |
| 66 | + steps{ |
| 67 | + runTests('11.3.1','JAVA21_HOME_DIR') |
| 68 | + } |
| 69 | + } |
33 | 70 | } |
34 | 71 | } |
35 | 72 | stage('publish'){ |
| 73 | + agent {label 'devExpLinuxPool'} |
36 | 74 | when { |
37 | 75 | branch 'dev' |
38 | 76 | } |
|
0 commit comments