1.6.7
This commit is contained in:
parent
806a371cb9
commit
5be74c5b06
272
Jenkinsfile
vendored
272
Jenkinsfile
vendored
@ -3,10 +3,7 @@ pipeline {
|
|||||||
|
|
||||||
parameters {
|
parameters {
|
||||||
booleanParam(defaultValue: true, description: 'Deploy this build', name: 'deploy_build')
|
booleanParam(defaultValue: true, description: 'Deploy this build', name: 'deploy_build')
|
||||||
booleanParam(name: 'build_amd64', defaultValue: false, description: 'Build for amd64')
|
choice(choices: ['none', 'x86_debug', 'x86_release', 'x86_stable', 'amd64_debug', 'amd64_release', 'amd64_stable', 'arm32v7_debug', 'arm32v7_release', 'arm32v7_stable'], description: 'Which target do you want to build?', name: 'target')
|
||||||
booleanParam(name: 'build_arm32v7', defaultValue: false, description: 'Build for arm32v7')
|
|
||||||
booleanParam(name: 'build_x86', defaultValue: false, description: 'Build for x86')
|
|
||||||
choice(choices: ['none', 'debug', 'optimized', 'stable'], description: 'What kind of build do you want to run?', name: 'build_type')
|
|
||||||
}
|
}
|
||||||
|
|
||||||
environment {
|
environment {
|
||||||
@ -16,6 +13,8 @@ pipeline {
|
|||||||
|
|
||||||
//Make specific flags
|
//Make specific flags
|
||||||
MAKE_OPTIONS = '-j32'
|
MAKE_OPTIONS = '-j32'
|
||||||
|
|
||||||
|
JENKINS_BUILD_TARGET="${params.target}"
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
@ -24,9 +23,8 @@ pipeline {
|
|||||||
agent {
|
agent {
|
||||||
label 'linux && amd64 && teaspeak'
|
label 'linux && amd64 && teaspeak'
|
||||||
}
|
}
|
||||||
|
|
||||||
when {
|
when {
|
||||||
expression { params.build_amd64 }
|
expression { params.target == "amd64_debug" || params.target == "amd64_release" || params.target == "amd64_stable" }
|
||||||
}
|
}
|
||||||
|
|
||||||
environment {
|
environment {
|
||||||
@ -47,19 +45,96 @@ pipeline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
stage ('build::amd64::build') {
|
stage ('build::amd64::debug') {
|
||||||
|
when {
|
||||||
|
expression { params.target == "amd64_debug" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::amd64::debug::build') {
|
||||||
|
environment {
|
||||||
|
TEASPEAK_BUILD_TYPE="Debug"
|
||||||
|
CMAKE_BUILD_TYPE="Debug"
|
||||||
|
|
||||||
|
TEASPEAK_DEPLOY_TYPE_SPECIFIER="-DBUILD_TYPE=1 -DBUILD_TYPE_NAME='beta'"
|
||||||
|
}
|
||||||
|
|
||||||
steps {
|
steps {
|
||||||
sh "./build_teaspeak.sh ${params.build_type}"
|
sh './build_teaspeak.sh'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage ('build::amd64::deploy') {
|
stage ('build::amd64::debug::deploy') {
|
||||||
when {
|
when {
|
||||||
expression { params.deploy_build }
|
expression { params.deploy_build }
|
||||||
}
|
}
|
||||||
|
|
||||||
steps {
|
steps {
|
||||||
sh "cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/amd64_${params.build_type}"
|
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/amd64_debug'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::amd64::release') {
|
||||||
|
when {
|
||||||
|
expression { params.target == "amd64_release" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::amd64::release::build') {
|
||||||
|
environment {
|
||||||
|
TEASPEAK_BUILD_TYPE="Release"
|
||||||
|
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||||
|
|
||||||
|
TEASPEAK_DEPLOY_TYPE_SPECIFIER="-DBUILD_TYPE=1 -DBUILD_TYPE_NAME='beta'"
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh './build_teaspeak.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::amd64::release::deploy') {
|
||||||
|
when {
|
||||||
|
expression { params.deploy_build }
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/amd64_optimized'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::amd64::stable') {
|
||||||
|
when {
|
||||||
|
expression { params.target == "amd64_stable" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::amd64::stable::build') {
|
||||||
|
environment {
|
||||||
|
TEASPEAK_BUILD_TYPE="Release"
|
||||||
|
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||||
|
|
||||||
|
TEASPEAK_DEPLOY_TYPE_SPECIFIER="-DBUILD_TYPE=0 -DBUILD_TYPE_NAME=''"
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh './build_teaspeak.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::amd64::stable::deploy') {
|
||||||
|
when {
|
||||||
|
expression { params.deploy_build }
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/amd64_stable'
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -70,9 +145,8 @@ pipeline {
|
|||||||
agent {
|
agent {
|
||||||
label 'linux && x86 && teaspeak'
|
label 'linux && x86 && teaspeak'
|
||||||
}
|
}
|
||||||
|
|
||||||
when {
|
when {
|
||||||
expression { params.build_x86 }
|
expression { params.target == "x86_debug" || params.target == "x86_release" || params.target == "x86_stable" }
|
||||||
}
|
}
|
||||||
|
|
||||||
environment {
|
environment {
|
||||||
@ -84,6 +158,7 @@ pipeline {
|
|||||||
stage ('build::x86::libraries') {
|
stage ('build::x86::libraries') {
|
||||||
environment {
|
environment {
|
||||||
CMAKE_BUILD_TYPE="RelWithDebInfo" /* we build out libraries every time in release mode! (Performance improve) */
|
CMAKE_BUILD_TYPE="RelWithDebInfo" /* we build out libraries every time in release mode! (Performance improve) */
|
||||||
|
BUILD_ARCH_TARGET="x86"
|
||||||
}
|
}
|
||||||
|
|
||||||
steps {
|
steps {
|
||||||
@ -93,19 +168,96 @@ pipeline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
stage ('build::x86::build') {
|
stage ('build::x86::debug') {
|
||||||
|
when {
|
||||||
|
expression { params.target == "x86_debug" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::x86::debug::build') {
|
||||||
|
environment {
|
||||||
|
TEASPEAK_BUILD_TYPE="Debug"
|
||||||
|
CMAKE_BUILD_TYPE="Debug"
|
||||||
|
|
||||||
|
TEASPEAK_DEPLOY_TYPE_SPECIFIER="-DBUILD_TYPE=1 -DBUILD_TYPE_NAME='beta'"
|
||||||
|
}
|
||||||
|
|
||||||
steps {
|
steps {
|
||||||
sh "./build_teaspeak.sh ${params.build_type}"
|
sh './build_teaspeak.sh'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage ('build::x86::deploy') {
|
stage ('build::x86::debug::deploy') {
|
||||||
when {
|
when {
|
||||||
expression { params.deploy_build }
|
expression { params.deploy_build }
|
||||||
}
|
}
|
||||||
|
|
||||||
steps {
|
steps {
|
||||||
sh "cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/x86_${BUILD_TYPE}"
|
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/x86_debug'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::x86::release') {
|
||||||
|
when {
|
||||||
|
expression { params.target == "x86_release" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::x86::release::build') {
|
||||||
|
environment {
|
||||||
|
TEASPEAK_BUILD_TYPE="Release"
|
||||||
|
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||||
|
|
||||||
|
TEASPEAK_DEPLOY_TYPE_SPECIFIER="-DBUILD_TYPE=1 -DBUILD_TYPE_NAME='beta'"
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh './build_teaspeak.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::x86::release::deploy') {
|
||||||
|
when {
|
||||||
|
expression { params.deploy_build }
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/x86_optimized'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::x86::stable') {
|
||||||
|
when {
|
||||||
|
expression { params.target == "x86_stable" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::x86::stable::build') {
|
||||||
|
environment {
|
||||||
|
TEASPEAK_BUILD_TYPE="Release"
|
||||||
|
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||||
|
|
||||||
|
TEASPEAK_DEPLOY_TYPE_SPECIFIER="-DBUILD_TYPE=0 -DBUILD_TYPE_NAME=''"
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh './build_teaspeak.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::x86::stable::deploy') {
|
||||||
|
when {
|
||||||
|
expression { params.deploy_build }
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/x86_stable'
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -116,9 +268,8 @@ pipeline {
|
|||||||
agent {
|
agent {
|
||||||
label 'linux && arm32v7 && teaspeak'
|
label 'linux && arm32v7 && teaspeak'
|
||||||
}
|
}
|
||||||
|
|
||||||
when {
|
when {
|
||||||
expression { params.build_arm32v7 }
|
expression { params.target == "arm32v7_debug" || params.target == "arm32v7_release" || params.target == "arm32v7_stable" }
|
||||||
}
|
}
|
||||||
|
|
||||||
environment {
|
environment {
|
||||||
@ -139,19 +290,96 @@ pipeline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
stage ('build::arm32v7::build') {
|
stage ('build::arm32v7::debug') {
|
||||||
|
when {
|
||||||
|
expression { params.target == "arm32v7_debug" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::amd64::debug::build') {
|
||||||
|
environment {
|
||||||
|
TEASPEAK_BUILD_TYPE="Debug"
|
||||||
|
CMAKE_BUILD_TYPE="Debug"
|
||||||
|
|
||||||
|
TEASPEAK_DEPLOY_TYPE_SPECIFIER="-DBUILD_TYPE=1 -DBUILD_TYPE_NAME='beta'"
|
||||||
|
}
|
||||||
|
|
||||||
steps {
|
steps {
|
||||||
sh "./build_teaspeak.sh ${params.build_type}"
|
sh './build_teaspeak.sh'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage ('build::arm32v7::deploy') {
|
stage ('build::amd64::debug::deploy') {
|
||||||
when {
|
when {
|
||||||
expression { params.deploy_build }
|
expression { params.deploy_build }
|
||||||
}
|
}
|
||||||
|
|
||||||
steps {
|
steps {
|
||||||
sh "cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/arm32v7_${BUILD_TYPE}"
|
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/arm32v7_debug'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::arm32v7::release') {
|
||||||
|
when {
|
||||||
|
expression { params.target == "arm32v7_release" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::arm32v7::release::build') {
|
||||||
|
environment {
|
||||||
|
TEASPEAK_BUILD_TYPE="Release"
|
||||||
|
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||||
|
|
||||||
|
TEASPEAK_DEPLOY_TYPE_SPECIFIER="-DBUILD_TYPE=1 -DBUILD_TYPE_NAME='beta'"
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh './build_teaspeak.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::arm32v7::release::deploy') {
|
||||||
|
when {
|
||||||
|
expression { params.deploy_build }
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/arm32v7_optimized'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::arm32v7::stable') {
|
||||||
|
when {
|
||||||
|
expression { params.target == "arm32v7_stable" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::arm32v7::stable::build') {
|
||||||
|
environment {
|
||||||
|
TEASPEAK_BUILD_TYPE="Release"
|
||||||
|
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||||
|
|
||||||
|
TEASPEAK_DEPLOY_TYPE_SPECIFIER="-DBUILD_TYPE=0 -DBUILD_TYPE_NAME=''"
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh './build_teaspeak.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::arm32v7::stable::deploy') {
|
||||||
|
when {
|
||||||
|
expression { params.deploy_build }
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/arm32v7_stable'
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
TeaSpeak
2
TeaSpeak
@ -1 +1 @@
|
|||||||
Subproject commit 2dc48747edd168f29412964870a1887a2a251396
|
Subproject commit aaea9b9339384350a1b53d966e0000e901444732
|
@ -1,33 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
_build_helper_dir="$(pwd)/build-helpers"
|
_build_helper_dir="$(pwd)/build-helpers"
|
||||||
|
|
||||||
_build_type="Debug"
|
|
||||||
if [[ -n "$1" ]]; then
|
|
||||||
echo "This is an automated jenkins build. Initializing variables."
|
|
||||||
|
|
||||||
if [[ "$1" == "debug" ]]; then
|
|
||||||
echo "Initializing debug session."
|
|
||||||
export _build_type="Debug"
|
|
||||||
# shellcheck disable=SC2089
|
|
||||||
export TEASPEAK_DEPLOY_TYPE_SPECIFIER="-DBUILD_TYPE=1 -DBUILD_TYPE_NAME=\"beta\""
|
|
||||||
elif [[ "$1" == "optimized" ]]; then
|
|
||||||
echo "Initializing optimized session."
|
|
||||||
export _build_type="RelWithDebInfo"
|
|
||||||
# shellcheck disable=SC2089
|
|
||||||
export TEASPEAK_DEPLOY_TYPE_SPECIFIER="-DBUILD_TYPE=1 -DBUILD_TYPE_NAME=\"beta\""
|
|
||||||
elif [[ "$1" == "stable" ]]; then
|
|
||||||
echo "Initializing stable session."
|
|
||||||
export _build_type="RelWithDebInfo"
|
|
||||||
# shellcheck disable=SC2089
|
|
||||||
export TEASPEAK_DEPLOY_TYPE_SPECIFIER="-DBUILD_TYPE=0 -DBUILD_TYPE_NAME=\"\""
|
|
||||||
|
|
||||||
else
|
|
||||||
echo "Unknown target build type: $1"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# shellcheck disable=SC2154
|
# shellcheck disable=SC2154
|
||||||
if [[ "$no_web" == "1" ]]; then
|
if [[ "$no_web" == "1" ]]; then
|
||||||
echo "Disabling web support"
|
echo "Disabling web support"
|
||||||
@ -37,14 +10,13 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
cd TeaSpeak || exit 1
|
cd TeaSpeak || exit 1
|
||||||
if [[ -d build ]]; then
|
if [ -d build ]; then
|
||||||
rm -r build
|
rm -r build
|
||||||
fi
|
fi
|
||||||
mkdir build || exit 1
|
mkdir build && cd build || exit 1
|
||||||
cd build || exit 1
|
|
||||||
|
|
||||||
echo "Build type: $_build_type"
|
echo "Build type: ${TEASPEAK_BUILD_TYPE}"
|
||||||
cmake .. -DCMAKE_BUILD_TYPE="$_build_type" -DCMAKE_CXX_FLAGS="${CXX_FLAGS}" -DBUILD_INCLUDE_FILE="$_build_helper_dir"/cmake/config/tearoot-server.cmake -DCMAKE_MODULE_PATH="$_build_helper_dir"/cmake/ -DDISABLE_QT=1 -DDISABLE_CUSTOM_OUTPUT=ON -DDISABLE_QT=ON -DCOMPILE_WEB_CLIENT="$_web_flag" $TEASPEAK_DEPLOY_TYPE_SPECIFIER
|
cmake .. -DCMAKE_BUILD_TYPE="${TEASPEAK_BUILD_TYPE}" -DCMAKE_CXX_FLAGS=" ${CXX_FLAGS}" -DBUILD_INCLUDE_FILE="$_build_helper_dir"/cmake/config/tearoot-server.cmake -DCMAKE_MODULE_PATH="$_build_helper_dir"/cmake/ -DDISABLE_QT=1 -DDISABLE_CUSTOM_OUTPUT=ON -DDISABLE_QT=ON -DCOMPILE_WEB_CLIENT="$_web_flag" $TEASPEAK_DEPLOY_TYPE_SPECIFIER
|
||||||
_code=$?
|
_code=$?
|
||||||
if [[ $_code -ne 0 ]]; then
|
if [[ $_code -ne 0 ]]; then
|
||||||
echo "Failed to run CMAKE project"
|
echo "Failed to run CMAKE project"
|
||||||
|
1
update_symbols.sh
Executable file
1
update_symbols.sh
Executable file
@ -0,0 +1 @@
|
|||||||
|
rsync -av --progress --delete -e "ssh -i ~/.ssh/id_rsa" root@symbols.teaspeak.de:/TeaSpeak/build/symbols/symbols/ ./symbols/
|
Loading…
Reference in New Issue
Block a user