提交 b11b2b96 编写于 作者: T tangfangzhi

add windows build test

上级 89895795
...@@ -8,135 +8,207 @@ def skipbuild=0 ...@@ -8,135 +8,207 @@ def skipbuild=0
def win_stop=0 def win_stop=0
def abortPreviousBuilds() { def abortPreviousBuilds() {
def currentJobName = env.JOB_NAME def currentJobName = env.JOB_NAME
def currentBuildNumber = env.BUILD_NUMBER.toInteger() def currentBuildNumber = env.BUILD_NUMBER.toInteger()
def jobs = Jenkins.instance.getItemByFullName(currentJobName) def jobs = Jenkins.instance.getItemByFullName(currentJobName)
def builds = jobs.getBuilds() def builds = jobs.getBuilds()
for (build in builds) { for (build in builds) {
if (!build.isBuilding()) { if (!build.isBuilding()) {
continue; continue;
} }
if (currentBuildNumber == build.getNumber().toInteger()) { if (currentBuildNumber == build.getNumber().toInteger()) {
continue; continue;
} }
build.doKill() //doTerm(),doKill(),doTerm() build.doKill() //doTerm(),doKill(),doTerm()
} }
} }
// abort previous build // abort previous build
abortPreviousBuilds() abortPreviousBuilds()
def abort_previous(){ def abort_previous(){
def buildNumber = env.BUILD_NUMBER as int def buildNumber = env.BUILD_NUMBER as int
if (buildNumber > 1) milestone(buildNumber - 1) if (buildNumber > 1) milestone(buildNumber - 1)
milestone(buildNumber) milestone(buildNumber)
} }
def pre_test(){ def pre_test(){
sh'hostname' sh 'hostname'
sh ''' sh '''
date date
sudo rmtaos || echo "taosd has not installed" sudo rmtaos || echo "taosd has not installed"
''' '''
sh ''' sh '''
killall -9 taosd ||echo "no taosd running" killall -9 taosd ||echo "no taosd running"
killall -9 gdb || echo "no gdb running" killall -9 gdb || echo "no gdb running"
killall -9 python3.8 || echo "no python program running" killall -9 python3.8 || echo "no python program running"
cd ${WKC} cd ${WKC}
''' '''
script { script {
if (env.CHANGE_TARGET == 'master') { if (env.CHANGE_TARGET == 'master') {
sh ''' sh '''
cd ${WKC} cd ${WKC}
git checkout master git checkout master
''' '''
} else if(env.CHANGE_TARGET == '2.0') {
sh '''
cd ${WKC}
git checkout 2.0
'''
} else if(env.CHANGE_TARGET == '3.0') {
sh '''
cd ${WKC}
git checkout 3.0
[ -d contrib/bdb ] && cd contrib/bdb && git clean -fxd && cd ../..
'''
} else {
sh '''
cd ${WKC}
git checkout develop
'''
} }
else if(env.CHANGE_TARGET == '2.0'){ }
sh ''' sh '''
cd ${WKC}
git checkout 2.0
'''
}
else if(env.CHANGE_TARGET == '3.0'){
sh '''
cd ${WKC} cd ${WKC}
git checkout 3.0 git pull >/dev/null
[ -d contrib/bdb ] && cd contrib/bdb && git clean -fxd && cd ../.. git fetch origin +refs/pull/${CHANGE_ID}/merge
''' git checkout -qf FETCH_HEAD
} git submodule update --init --recursive
else{ '''
sh ''' sh '''
cd ${WKC} cd ${WKC}
git checkout develop export TZ=Asia/Harbin
''' date
} rm -rf debug
} mkdir debug
sh''' cd debug
cd ${WKC} cmake .. > /dev/null
git pull >/dev/null make -j4> /dev/null
git fetch origin +refs/pull/${CHANGE_ID}/merge
git checkout -qf FETCH_HEAD
git submodule update --init --recursive
''' '''
sh''' sh '''
cd ${WKC} cd ${WKPY}
export TZ=Asia/Harbin git reset --hard
date git pull
rm -rf debug pip3 install .
mkdir debug
cd debug
cmake .. > /dev/null
make -j4> /dev/null
''' '''
sh''' return 1
cd ${WKPY} }
git reset --hard def pre_test_win(){
git pull bat '''
pip3 install . hostname
date /t
time /t
taskkill /f /t /im python.exe
taskkill /f /t /im bash.exe
cd C:\\workspace\\TDengine
rd /s /Q C:\\workspace\\TDengine\\debug
exit 0
'''
bat '''
cd C:\\workspace\\TDengine
git reset --hard
git fetch || git fetch
git checkout -f
'''
script {
if (env.CHANGE_TARGET == 'master') {
bat '''
cd C:\\workspace\\TDengine
git checkout master
'''
} else if(env.CHANGE_TARGET == '2.0') {
bat '''
cd C:\\workspace\\TDengine
git checkout 2.0
'''
} else if(env.CHANGE_TARGET == '3.0') {
bat '''
cd C:\\workspace\\TDengine
git checkout 3.0
'''
} else {
bat '''
cd C:\\workspace\\TDengine
git checkout develop
'''
}
}
bat '''
cd C:\\workspace\\TDengine
git branch
git pull || git pull
git clean -dfx
git fetch origin +refs/pull/%CHANGE_ID%/merge
git checkout -qf FETCH_HEAD
'''
}
def pre_test_build_win() {
bat '''
echo "building ..."
time /t
cd C:\\workspace\\TDengine
mkdir debug
cd debug
call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Auxiliary\\Build\\vcvarsall.bat" x64
set CL=/MP8
cmake ../ -G "NMake Makefiles"
nmake || exit 8
time /t
''' '''
return 1 return 1
} }
pipeline { pipeline {
agent none agent none
options { skipDefaultCheckout() } options { skipDefaultCheckout() }
environment{ environment{
WK = '/var/lib/jenkins/workspace/TDinternal' WK = '/var/lib/jenkins/workspace/TDinternal'
WKC= '/var/lib/jenkins/workspace/TDengine' WKC= '/var/lib/jenkins/workspace/TDengine'
WKPY= '/var/lib/jenkins/workspace/taos-connector-python' WKPY= '/var/lib/jenkins/workspace/taos-connector-python'
} }
stages { stages {
stage('pre_build'){ stage('run test') {
agent{label " slave3_0 || slave15 || slave16 || slave17 "} parallel {
options { skipDefaultCheckout() } stage('windows test') {
when { agent {label " windows11 "}
changeRequest() steps {
} pre_test_win()
steps { pre_test_build_win()
script{ }
abort_previous() }
abortPreviousBuilds() stage('linux test') {
} agent{label " slave3_0 || slave15 || slave16 || slave17 "}
timeout(time: 45, unit: 'MINUTES'){ options { skipDefaultCheckout() }
pre_test() when {
sh''' changeRequest()
cd ${WKC}/debug }
ctest -VV steps {
''' script {
sh''' abort_previous()
export LD_LIBRARY_PATH=${WKC}/debug/build/lib abortPreviousBuilds()
cd ${WKC}/tests/system-test }
./fulltest.sh timeout(time: 45, unit: 'MINUTES'){
''' pre_test()
sh''' sh '''
cd ${WKC}/tests cd ${WKC}/debug
./test-all.sh b1fq ctest -VV
''' '''
sh '''
export LD_LIBRARY_PATH=${WKC}/debug/build/lib
cd ${WKC}/tests/system-test
./fulltest.sh
'''
sh '''
cd ${WKC}/tests
./test-all.sh b1fq
'''
}
}
}
} }
} }
} }
} post {
post {
success { success {
emailext ( emailext (
subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' SUCCESS", subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' SUCCESS",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册