All checks were successful
JCS-Prod/RSE-Model/pipeline/pr-master This commit looks good
79 lines
2.8 KiB
Groovy
79 lines
2.8 KiB
Groovy
pipeline {
|
|
agent any
|
|
options {
|
|
skipDefaultCheckout(true)
|
|
}
|
|
environment {
|
|
CI_OUTPUT_NAME = "RSEModel"
|
|
CI_VERSION = "2.2.0"
|
|
CI_BUILD_NUMBER = "$BUILD_NUMBER"
|
|
}
|
|
stages {
|
|
stage('Prepare') {
|
|
steps {
|
|
cleanWs()
|
|
rtConanClient(id: "conan", userHome: "/home/jackcartersmith")
|
|
}
|
|
}
|
|
stage('Build') {
|
|
steps {
|
|
parallel(
|
|
linux: {
|
|
dir("linux") {
|
|
checkout([$class: 'GitSCM', branches: [[name: '**']], browser: [$class: 'GiteaBrowser', repoUrl: 'https://git.jcsmith.fr/JCS-Prod/RSE-Model'], extensions: [], userRemoteConfigs: [[credentialsId: 'jenkins-ssh', url: 'ssh://git@git.jcsmith.fr:2322/JCS-Prod/RSE-Model.git']]])
|
|
sh 'git submodule update --init --recursive'
|
|
dir("build") {
|
|
rtConanRun(clientId: "conan", command: "install .. --build=missing")
|
|
}
|
|
cmakeBuild buildDir: 'build', installation: 'latest', steps: [[args: 'all']]
|
|
}
|
|
},
|
|
windows: {
|
|
dir("windows") {
|
|
checkout([$class: 'GitSCM', branches: [[name: '**']], browser: [$class: 'GiteaBrowser', repoUrl: 'https://git.jcsmith.fr/JCS-Prod/RSE-Model'], extensions: [], userRemoteConfigs: [[credentialsId: 'jenkins-ssh', url: 'ssh://git@git.jcsmith.fr:2322/JCS-Prod/RSE-Model.git']]])
|
|
sh 'git submodule update --init --recursive'
|
|
dir("build") {
|
|
rtConanRun(clientId: "conan", command: "install .. -pr:b=default -pr:h=windows --build=missing")
|
|
}
|
|
cmakeBuild buildDir: 'build', cmakeArgs: '-DGNU_HOST=x86_64-w64-mingw32 -DCMAKE_TOOLCHAIN_FILE=../cmake/mingw_cross_toolchain.cmake', installation: 'latest', steps: [[args: 'all']]
|
|
}
|
|
}
|
|
)
|
|
}
|
|
}
|
|
stage('Deploy') {
|
|
steps {
|
|
dir("zip_linux") {
|
|
sh 'cp -R ../linux/build/bin ../linux/build/lib ../linux/RSPModelLib/include .'
|
|
}
|
|
dir("zip_win") {
|
|
sh 'cp -R ../windows/build/bin ../windows/build/lib ../windows/RSPModelLib/include .'
|
|
}
|
|
zip archive: false, dir: 'zip_linux', exclude: '', glob: '', zipFile: 'linux_x64.zip'
|
|
sh 'mv linux_x64.zip ${CI_OUTPUT_NAME}_${CI_VERSION}.${BUILD_NUMBER}_Linux_x86_64.zip'
|
|
zip archive: false, dir: 'zip_win', exclude: '', glob: '', zipFile: 'mingw64.zip'
|
|
sh 'mv mingw64.zip ${CI_OUTPUT_NAME}_${CI_VERSION}.${BUILD_NUMBER}_mingw64.zip'
|
|
archiveArtifacts(artifacts: '*.zip')
|
|
fingerprint(targets: '*.zip')
|
|
}
|
|
}
|
|
stage('Sign') {
|
|
steps {
|
|
sh 'gpg --batch --detach-sign -o ${CI_OUTPUT_NAME}_${CI_VERSION}.${BUILD_NUMBER}_Linux_x86_64.zip.gpg ${CI_OUTPUT_NAME}_${CI_VERSION}.${BUILD_NUMBER}_Linux_x86_64.zip'
|
|
sh 'gpg --batch --detach-sign -o ${CI_OUTPUT_NAME}_${CI_VERSION}.${BUILD_NUMBER}_mingw64.zip.gpg ${CI_OUTPUT_NAME}_${CI_VERSION}.${BUILD_NUMBER}_mingw64.zip'
|
|
archiveArtifacts(artifacts: '*.gpg')
|
|
fingerprint(targets: '*.gpg')
|
|
}
|
|
}
|
|
}
|
|
/*
|
|
post {
|
|
always {
|
|
cleanWs(cleanWhenNotBuilt: false,
|
|
deleteDirs: true,
|
|
disableDeferredWipeout: true,
|
|
notFailBuild: true)
|
|
}
|
|
}
|
|
*/
|
|
} |