Revision f32d1127bf572e0a0367bea11ed5554f1f7e9fe0 authored by Tglman on 24 June 2022, 10:42:19 UTC, committed by Tglman on 24 June 2022, 10:42:19 UTC
1 parent 82ec5e6
Raw File
Jenkinsfile_coverage
@Library(['piper-lib', 'piper-lib-os']) _

properties([[$class: 'BuildDiscarderProperty', strategy: [$class: 'LogRotator', numToKeepStr: '4']]]);

node {


    stage('build')   {
        sh "rm -rf *"
        sh "cp /var/jenkins_home/uploadedContent/settings.xml ."

        dockerExecute(
                dockerImage:'ldellaquila/maven-gradle-node-zulu-openjdk8:1.0.0',
                dockerWorkspace: '/orientdb-${env.BRANCH_NAME}'
        ) {

            try{
                sh "rm -rf orientdb-studio"
                sh "rm -rf orientdb"

                // needed after the release and tag change, otherwise Studio is not found on Sonatype
                checkout(
                        [$class: 'GitSCM', branches: [[name: '3.0.x']],
                         doGenerateSubmoduleConfigurations: false,
                         extensions: [],
                         submoduleCfg: [],
                         extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'orientdb-studio']],
                         userRemoteConfigs: [[url: 'https://github.com/orientechnologies/orientdb-studio']]])

                checkout(
                        [$class: 'GitSCM', branches: [[name: env.BRANCH_NAME]],
                         doGenerateSubmoduleConfigurations: false,
                         extensions: [],
                         submoduleCfg: [],
                         extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'orientdb']],
                         userRemoteConfigs: [[url: 'https://github.com/orientechnologies/orientdb']]])


                withMaven(mavenLocalRepo: '${HOME}/.m2/repository', globalMavenSettingsFilePath: 'settings.xml') {
                    sh "cd orientdb-studio && mvn clean install -DskipTests"
                    sh "cd orientdb && mvn clean deploy"

                    //TODO publish javadoc
                    //sh "cd orientdb && mvn  javadoc:aggregate"
                    //sh "cd orientdb && rsync -ra --stats ${WORKSPACE}/target/site/apidocs/ -e ${env.RSYNC_JAVADOC}/${env.BRANCH_NAME}/"
                }

                try {
                                //skip integration test for now

                       sh "cd orientdb && mvn  --batch-mode -V -U -fae  -pl !distribution,!distribution-tp2,!distributed clean jacoco:prepare-agent  package failsafe:integration-test -Dstorage.diskCache.bufferSize=4096  -Dorientdb.test.env=ci -Dsurefire.useFile=false -DskipTests"
                       sh "cd orientdb && mvn -f ./distributed/pom.xml --batch-mode -V -U -e -fae -Dmaven.test.failure.ignore=true  clean jacoco:prepare-agent package  -Dsurefire.useFile=false -DskipTests=false"
                       //sh "${mvnHome}/bin/mvn --batch-mode -V -U -e -pl crashtests -am -P crash-tests clean jacoco:prepare-agent test-compile package  failsafe:integration-test -Dsurefire.useFile=false"

                } finally {
                    junit allowEmptyResults: true, testResults: '**/target/surefire-reports/TEST-*.xml'
                    junit allowEmptyResults: true, testResults: '**/target/failsafe-reports/TEST-*.xml'
                    jacoco(execPattern: '**/*.exec')
                }
            

            }catch(e){
                slackSend(color: '#FF0000', channel: '#jenkins-failures', message: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})\n${e}")
                throw e
            }
            slackSend(color: '#00FF00', channel: '#jenkins', message: "SUCCESS: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
        }
    }

}
back to top