161 lines
5.5 KiB
Groovy
161 lines
5.5 KiB
Groovy
pipeline {
|
|
agent none
|
|
options {
|
|
copyArtifactPermission('*')
|
|
buildDiscarder(logRotator(numToKeepStr: "10", artifactNumToKeepStr: "2"))
|
|
}
|
|
stages {
|
|
stage('Android') {
|
|
agent {
|
|
docker { image 'android-shstk' }
|
|
}
|
|
environment {
|
|
NDK_PLATFORM = 'android-21'
|
|
ANDROID_TOOLCHAIN = '/usr/lib/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake'
|
|
}
|
|
steps {
|
|
echo 'build Android'
|
|
script {
|
|
sh "rm -rf ./release"
|
|
sh "mkdir -p build"
|
|
def archs = ['armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64']
|
|
for (int i = 0; i < archs.size(); ++i) {
|
|
echo 'build Android ${archs[i]}'
|
|
sh "cd build && rm -rf ./CMake*"
|
|
sh "cd build && cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=${ANDROID_TOOLCHAIN} -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${archs[i]} -DCMAKE_INSTALL_PREFIX=/soft/android/${archs[i]} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DBUILD_NUMBER=${env.BUILD_NUMBER} -DLIB=0 -DSHS_QT_VERSION=5 ../src"
|
|
sh "cd build && cmake --build ./ --target install -j${env.JOBS_COUNT}"
|
|
}
|
|
sh "cd build && cmake --build ./ --target deploy -j${env.JOBS_COUNT}"
|
|
archiveArtifacts 'release/Android/*.apk*'
|
|
archiveArtifacts 'release/Android/*.aab'
|
|
sh 'rm -rf ./build ./bin ./release ./builds'
|
|
}
|
|
}
|
|
}
|
|
stage('MacOS') {
|
|
agent {
|
|
docker { image 'osx-shstk' }
|
|
}
|
|
steps {
|
|
echo 'build MacOS'
|
|
sh "rm -rf ./release"
|
|
sh "mkdir -p build"
|
|
sh "cd build && rm -rf ./* && cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake -DBUILD_NUMBER=${env.BUILD_NUMBER} -DSHS_QT_VERSION=5 -DLIB=0 ../src"
|
|
sh "cd build && cmake --build ./ --target install -j${env.JOBS_COUNT}"
|
|
sh "cd build && cmake --build ./ --target deploy -j${env.JOBS_COUNT}"
|
|
archiveArtifacts 'release/Darwin/*/*.zip*'
|
|
sh 'rm -rf ./build ./bin ./release ./builds'
|
|
}
|
|
}
|
|
stage('Pi') {
|
|
agent {
|
|
docker { image 'pi-shstk' }
|
|
}
|
|
steps {
|
|
echo 'build MacOS'
|
|
sh "rm -rf ./release"
|
|
sh "mkdir -p build"
|
|
sh "cd build && rm -rf ./* && cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-RPi.cmake -DBUILD_NUMBER=${env.BUILD_NUMBER} -DSHS_QT_VERSION=5 -DLIB=0 ../src"
|
|
sh "cd build && cmake --build ./ --target install -j${env.JOBS_COUNT}"
|
|
sh "cd build && cmake --build ./ --target deploy -j${env.JOBS_COUNT}"
|
|
archiveArtifacts 'release/Linux/*/*.deb*'
|
|
sh 'rm -rf ./build ./bin ./release ./builds'
|
|
}
|
|
}
|
|
stage('Debian 10') {
|
|
agent {
|
|
docker { image 'debian-shstk' }
|
|
}
|
|
steps {
|
|
echo 'build Linux'
|
|
sh "rm -rf ./release"
|
|
sh "mkdir -p build"
|
|
sh "cd build && rm -rf ./* && cmake -G Ninja -DBUILD_NUMBER=${env.BUILD_NUMBER} -DSHS_QT_VERSION=5 -DLIB=0 ../src"
|
|
sh "cd build && cmake --build ./ --target install -j${env.JOBS_COUNT}"
|
|
sh "cd build && cmake --build ./ --target deploy -j${env.JOBS_COUNT}"
|
|
archiveArtifacts 'release/Linux/*/*.deb*'
|
|
sh 'rm -rf ./build ./bin ./release ./builds'
|
|
}
|
|
}
|
|
stage('Debian 11') {
|
|
agent {
|
|
docker { image 'debian11-shstk' }
|
|
}
|
|
steps {
|
|
echo 'build Linux'
|
|
sh "rm -rf ./release"
|
|
sh "mkdir -p build"
|
|
sh "cd build && rm -rf ./* && cmake -G Ninja -DBUILD_NUMBER=${env.BUILD_NUMBER} -DSHS_QT_VERSION=5 -DLIB=0 ../src"
|
|
sh "cd build && cmake --build ./ --target install -j${env.JOBS_COUNT}"
|
|
sh "cd build && cmake --build ./ --target deploy -j${env.JOBS_COUNT}"
|
|
archiveArtifacts 'release/Linux/*/*.deb*'
|
|
sh 'rm -rf ./build ./bin ./release ./builds'
|
|
}
|
|
}
|
|
stage('Ubuntu 20.04') {
|
|
agent {
|
|
docker { image 'ubuntu-shstk' }
|
|
}
|
|
steps {
|
|
echo 'build Linux'
|
|
sh "rm -rf ./release"
|
|
sh "mkdir -p build"
|
|
sh "cd build && rm -rf ./* && cmake -G Ninja -DBUILD_NUMBER=${env.BUILD_NUMBER} -DSHS_QT_VERSION=5 -DLIB=0 ../src"
|
|
sh "cd build && cmake --build ./ --target install -j${env.JOBS_COUNT}"
|
|
sh "cd build && cmake --build ./ --target deploy -j${env.JOBS_COUNT}"
|
|
archiveArtifacts 'release/Linux/*/*.deb*'
|
|
sh 'rm -rf ./build ./bin ./release ./builds'
|
|
}
|
|
}
|
|
stage('Windows x64') {
|
|
agent {
|
|
docker { image 'windows-shstk' }
|
|
}
|
|
steps {
|
|
echo 'build Windows'
|
|
sh "rm -rf ./release"
|
|
sh "mkdir -p build"
|
|
sh "cd build && rm -rf ./* && cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Windows.cmake -DBUILD_NUMBER=${env.BUILD_NUMBER} -DSHS_QT_VERSION=5 -DLIB=0 ../src"
|
|
sh "cd build && cmake --build ./ --target install -j${env.JOBS_COUNT}"
|
|
sh "cd build && cmake --build ./ --target deploy -j${env.JOBS_COUNT}"
|
|
archiveArtifacts 'release/Windows/*/*.zip*'
|
|
sh 'rm -rf ./build ./bin ./release ./builds'
|
|
}
|
|
}
|
|
stage('Windows x32') {
|
|
agent {
|
|
docker { image 'windows32-shstk' }
|
|
}
|
|
steps {
|
|
echo 'build Windows 32'
|
|
sh "rm -rf ./release"
|
|
sh "mkdir -p build"
|
|
sh "cd build && rm -rf ./* && cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Windows32.cmake -DBUILD_NUMBER=${env.BUILD_NUMBER} -DSHS_QT_VERSION=5 -DLIB=0 ../src"
|
|
sh "cd build && cmake --build ./ --target install -j${env.JOBS_COUNT}"
|
|
sh "cd build && cmake --build ./ --target deploy -j${env.JOBS_COUNT}"
|
|
archiveArtifacts 'release/Windows/*/*.zip*'
|
|
sh 'rm -rf ./build ./bin ./release ./builds'
|
|
}
|
|
}
|
|
|
|
/*stage('Android') {
|
|
matrix {
|
|
axes {
|
|
axis {
|
|
name 'ARCH'
|
|
values 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
|
}
|
|
}
|
|
stages {
|
|
stage('Android ${ARCH}') {
|
|
steps {
|
|
sh 'mkdir -p build/android'
|
|
echo "build Android ${ARCH}"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}*/
|
|
}
|
|
}
|