pipeline { agent none stages { stage('prep-build-environment-linux') { agent { label 'linux' } steps { checkout scm //sh 'nvidia-smi' //sh 'nvcc --version' sh 'gcc --version' sh 'cmake --version' sh 'sh ./gradlew --version' } } stage('prep-build-environment-linux-cuda') { agent { dockerfile { filename 'Dockerfile' dir '.docker' label 'linuxdocker' //additionalBuildArgs '--build-arg version=1.0.2' args '--gpus all' } } steps { checkout scm sh 'nvidia-smi' sh 'nvcc --version' sh 'gcc --version' sh 'cmake --version' sh 'sh ./gradlew --version' } } stage('build') { environment { MAVEN = credentials('Internal Archiva') OSSRH = credentials('OSSRH') } parallel { stage('build-linux-cuda') { agent { label 'linux' } steps { withGradle { sh 'sh ./gradlew publish --stacktrace -x test -PCAVIS_CHIP=cuda -Pmavenuser=$MAVEN_USR -Pmavenpass=$MAVEN_PSW -PossrhUsername=$OSSRH_USR -PossrhPassword=$OSSRH_PSW' } //stash includes: '/cavis-native/cavis-native-lib/build/lib/*.jar', name: 'cuda-build' } } stage('build-linux-cpu') { agent { label 'linux' } steps { withGradle { sh 'sh ./gradlew publish --stacktrace -x test -PCAVIS_CHIP=cpu -Pmavenuser=$MAVEN_USR -Pmavenpass=$MAVEN_PSW -PossrhUsername=$OSSRH_USR -PossrhPassword=$OSSRH_PSW' } //stash includes: '/cavis-native/cavis-native-lib/build/lib/*.jar', name: 'cpu-build' } } } } /* stage('collect-release') { agent { label 'linux' } steps { //unstash 'cuda-build' //unstash 'cpu-build' } } */ } }