From 6abe96a1daf22778c91c27da1d426ae9e6178e15 Mon Sep 17 00:00:00 2001 From: brian Date: Wed, 26 Oct 2022 10:19:22 +0200 Subject: [PATCH] Add jenkinsfile for pipeline build and dockerfile for build Signed-off-by: brian --- ...inux-x86_64-docker-all-publish.jenkinsfile | 65 +++++++++++++++++++ cavis-native/cavis-native-lib/build.gradle | 20 +++--- 2 files changed, 75 insertions(+), 10 deletions(-) create mode 100644 .jenkins/linux-x86_64-docker-all-publish.jenkinsfile diff --git a/.jenkins/linux-x86_64-docker-all-publish.jenkinsfile b/.jenkins/linux-x86_64-docker-all-publish.jenkinsfile new file mode 100644 index 000000000..f79dfd59d --- /dev/null +++ b/.jenkins/linux-x86_64-docker-all-publish.jenkinsfile @@ -0,0 +1,65 @@ +/* + * + * ****************************************************************************** + * * + * * This program and the accompanying materials are made available under the + * * terms of the Apache License, Version 2.0 which is available at + * * https://www.apache.org/licenses/LICENSE-2.0. + * * + * * See the NOTICE file distributed with this work for additional + * * information regarding copyright ownership. + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * License for the specific language governing permissions and limitations + * * under the License. + * * + * * SPDX-License-Identifier: Apache-2.0 + * ***************************************************************************** + * + */ + +pipeline { + agent none + + stages { + stage { + parallel { + agent { + dockerfile { + filename 'Dockerfile' + dir '.docker' + label 'linux && docker && cuda' + //additionalBuildArgs '--build-arg version=1.0.2' + //args '--gpus all' --needed for test only, you can build without GPU + } + } + stage('prep-build-environment-linux-cuda') { + steps { + checkout scm + //sh 'nvidia-smi' + sh 'nvcc --version' + sh 'gcc --version' + sh 'cmake --version' + sh 'sh ./gradlew --version' + } + } + stage('build-linux-cuda') { + environment { + MAVEN = credentials('Internal Archiva') + OSSRH = credentials('OSSRH') + } + + steps { + withGradle { + sh 'sh ./gradlew build --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' + } + } + } + } + } +} diff --git a/cavis-native/cavis-native-lib/build.gradle b/cavis-native/cavis-native-lib/build.gradle index 5877b8db1..36fa1f765 100644 --- a/cavis-native/cavis-native-lib/build.gradle +++ b/cavis-native/cavis-native-lib/build.gradle @@ -456,19 +456,19 @@ javadoc { tasks.getByName("publishMavenJavaPublicationToLocalRemoteRepository") { enabled = true } - chipList.each { thisChip -> - artifacts { + +artifacts { + archives jar + chipList.each { thisChip -> archives tasks.getByName("${thisChip}SupportJar") } - } +} - - -chipList.each { thisChip -> - publishing { - publications { - mavenJava(MavenPublication) { - artifact jar +publishing { + publications { + mavenJava(MavenPublication) { + artifact jar + chipList.each { thisChip -> artifact tasks.getByName("${thisChip}SupportJar") } }