#!groovy /** * Jenkins pipeline to build Corda Opensource Pull Requests with JDK11. */ @Library('corda-shared-build-pipeline-steps') import static com.r3.build.BuildControl.killAllExistingBuildsForJob killAllExistingBuildsForJob(env.JOB_NAME, env.BUILD_NUMBER.toInteger()) pipeline { agent { dockerfile { label 'standard' additionalBuildArgs '--build-arg USER="${USER}"' // DON'T change quotation - USER variable is substituted by SHELL!!!! filename '.ci/dev/compatibility/DockerfileJDK11' } } options { timestamps() timeout(time: 3, unit: 'HOURS') buildDiscarder(logRotator(daysToKeepStr: '14', artifactDaysToKeepStr: '14')) } environment { ARTIFACTORY_CREDENTIALS = credentials('artifactory-credentials') CORDA_ARTIFACTORY_PASSWORD = "${env.ARTIFACTORY_CREDENTIALS_PSW}" CORDA_ARTIFACTORY_USERNAME = "${env.ARTIFACTORY_CREDENTIALS_USR}" CORDA_USE_CACHE = "corda-remotes" } stages { stage('JDK 11 Compile') { steps { authenticateGradleWrapper() sh "./gradlew --no-daemon -Pcompilation.allWarningsAsErrors=true -Ptests.failFast=false " + "-Ptests.ignoreFailures=true clean compileAll --stacktrace" } } stage('Deploy nodes') { steps { sh "./gradlew --no-daemon deployNodes" } } } post { cleanup { deleteDir() /* clean up our workspace */ } } }