From e3b372b6b5f022140b3879be5753d013f921c43f Mon Sep 17 00:00:00 2001 From: JackCarterSmith Date: Tue, 30 Aug 2022 11:20:53 +0200 Subject: [PATCH] Conan cross-build parameters fix --- Jenkinsfile | 156 ++++++++++++++++++++++++++-------------------------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3060123..b8f08f3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,79 +1,79 @@ -pipeline { - agent any - options { - skipDefaultCheckout(true) - } - environment { - CI_OUTPUT_NAME = "RSETerrain" - CI_VERSION = "2.0.3" - 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-Terrain'], extensions: [], userRemoteConfigs: [[credentialsId: 'jenkins-ssh', url: 'ssh://git@git.jcsmith.fr:2322/JCS-Prod/RSE-Terrain.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-Terrain'], extensions: [], userRemoteConfigs: [[credentialsId: 'jenkins-ssh', url: 'ssh://git@git.jcsmith.fr:2322/JCS-Prod/RSE-Terrain.git']]]) - sh 'git submodule update --init --recursive' - dir("build") { - rtConanRun(clientId: "conan", command: "install .. --profile=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/RSPTerrainLib/include .' - } - dir("zip_win") { - sh 'cp -R ../windows/build/bin ../windows/build/lib ../windows/RSPTerrainLib/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) - } - } - */ +pipeline { + agent any + options { + skipDefaultCheckout(true) + } + environment { + CI_OUTPUT_NAME = "RSETerrain" + CI_VERSION = "2.0.3" + 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-Terrain'], extensions: [], userRemoteConfigs: [[credentialsId: 'jenkins-ssh', url: 'ssh://git@git.jcsmith.fr:2322/JCS-Prod/RSE-Terrain.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-Terrain'], extensions: [], userRemoteConfigs: [[credentialsId: 'jenkins-ssh', url: 'ssh://git@git.jcsmith.fr:2322/JCS-Prod/RSE-Terrain.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/RSPTerrainLib/include .' + } + dir("zip_win") { + sh 'cp -R ../windows/build/bin ../windows/build/lib ../windows/RSPTerrainLib/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) + } + } + */ } \ No newline at end of file