Merge pull request #28747 from taosdata/test/main-chr-TD14758
test:add docs ci in jenkinsfile2
This commit is contained in:
commit
5cdeadee38
169
Jenkinsfile2
169
Jenkinsfile2
|
@ -1,9 +1,11 @@
|
||||||
import hudson.model.Result
|
import hudson.model.Result
|
||||||
import hudson.model.*;
|
import hudson.model.*;
|
||||||
import jenkins.model.CauseOfInterruption
|
import jenkins.model.CauseOfInterruption
|
||||||
docs_only=0
|
|
||||||
node {
|
node {
|
||||||
}
|
}
|
||||||
|
file_zh_changed = ''
|
||||||
|
file_en_changed = ''
|
||||||
|
file_no_doc_changed = ''
|
||||||
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()
|
||||||
|
@ -29,7 +31,7 @@ def abort_previous(){
|
||||||
if (buildNumber > 1) milestone(buildNumber - 1)
|
if (buildNumber > 1) milestone(buildNumber - 1)
|
||||||
milestone(buildNumber)
|
milestone(buildNumber)
|
||||||
}
|
}
|
||||||
def check_docs() {
|
def check_docs(){
|
||||||
if (env.CHANGE_URL =~ /\/TDengine\//) {
|
if (env.CHANGE_URL =~ /\/TDengine\//) {
|
||||||
sh '''
|
sh '''
|
||||||
hostname
|
hostname
|
||||||
|
@ -40,39 +42,94 @@ def check_docs() {
|
||||||
cd ${WKC}
|
cd ${WKC}
|
||||||
git reset --hard
|
git reset --hard
|
||||||
git clean -f
|
git clean -f
|
||||||
rm -rf examples/rust/
|
|
||||||
git remote prune origin
|
git remote prune origin
|
||||||
git fetch
|
git fetch
|
||||||
'''
|
git checkout ''' + env.CHANGE_TARGET + '''
|
||||||
script {
|
|
||||||
sh '''
|
|
||||||
cd ${WKC}
|
|
||||||
git checkout ''' + env.CHANGE_TARGET + '''
|
|
||||||
'''
|
|
||||||
}
|
|
||||||
sh '''
|
|
||||||
cd ${WKC}
|
|
||||||
git remote prune origin
|
|
||||||
git pull >/dev/null
|
git pull >/dev/null
|
||||||
git fetch origin +refs/pull/${CHANGE_ID}/merge
|
git fetch origin +refs/pull/${CHANGE_ID}/merge
|
||||||
git checkout -qf FETCH_HEAD
|
git checkout -qf FETCH_HEAD
|
||||||
'''
|
'''
|
||||||
def file_changed = sh (
|
|
||||||
|
file_zh_changed = sh (
|
||||||
script: '''
|
script: '''
|
||||||
cd ${WKC}
|
cd ${WKC}
|
||||||
git --no-pager diff --name-only FETCH_HEAD `git merge-base FETCH_HEAD ${CHANGE_TARGET}`|grep -v "^docs/en/"|grep -v "^docs/zh/" || :
|
git --no-pager diff --name-only FETCH_HEAD `git merge-base FETCH_HEAD ${CHANGE_TARGET}`|grep "^docs/zh/" || :
|
||||||
|
''',
|
||||||
|
returnStdout: true
|
||||||
|
)
|
||||||
|
|
||||||
|
file_en_changed = sh (
|
||||||
|
script: '''
|
||||||
|
cd ${WKC}
|
||||||
|
git --no-pager diff --name-only FETCH_HEAD `git merge-base FETCH_HEAD ${CHANGE_TARGET}`|grep "^docs/en/" || :
|
||||||
|
''',
|
||||||
|
returnStdout: true
|
||||||
|
)
|
||||||
|
|
||||||
|
file_no_doc_changed = sh (
|
||||||
|
script: '''
|
||||||
|
cd ${WKC}
|
||||||
|
git --no-pager diff --name-only FETCH_HEAD `git merge-base FETCH_HEAD ${CHANGE_TARGET}`|grep -v "^docs/en/"|grep -v "^docs/zh/"|grep -v "*.md" || :
|
||||||
''',
|
''',
|
||||||
returnStdout: true
|
returnStdout: true
|
||||||
).trim()
|
).trim()
|
||||||
if (file_changed == '') {
|
echo "file_zh_changed: ${file_zh_changed}"
|
||||||
echo "docs PR"
|
echo "file_en_changed: ${file_en_changed}"
|
||||||
docs_only=1
|
echo "file_no_doc_changed: ${file_no_doc_changed}"
|
||||||
} else {
|
|
||||||
echo file_changed
|
|
||||||
}
|
|
||||||
env.FILE_CHANGED = file_changed
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def build_pre_docs(){
|
||||||
|
if (env.CHANGE_URL =~ /\/TDengine\//) {
|
||||||
|
sh '''
|
||||||
|
hostname
|
||||||
|
date
|
||||||
|
env
|
||||||
|
'''
|
||||||
|
|
||||||
|
sh '''
|
||||||
|
cd ${DOC_WKC}/${td_repo}
|
||||||
|
git reset --hard
|
||||||
|
git clean -f
|
||||||
|
git remote prune origin
|
||||||
|
git fetch
|
||||||
|
git checkout ''' + env.CHANGE_TARGET + '''
|
||||||
|
git pull >/dev/null
|
||||||
|
git fetch origin +refs/pull/${CHANGE_ID}/merge
|
||||||
|
git checkout -qf FETCH_HEAD
|
||||||
|
'''
|
||||||
|
|
||||||
|
sh '''
|
||||||
|
cd ${DOC_WKC}/${tools_repo}
|
||||||
|
git reset --hard
|
||||||
|
git clean -f
|
||||||
|
git fetch
|
||||||
|
git remote prune origin
|
||||||
|
git checkout ''' + env.CHANGE_TARGET + '''
|
||||||
|
git pull >/dev/null
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def build_zh_docs(){
|
||||||
|
sh '''
|
||||||
|
cd ${DOC_WKC}/${zh_doc_repo}
|
||||||
|
# git pull
|
||||||
|
yarn ass local
|
||||||
|
yarn build
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
|
||||||
|
def build_en_docs(){
|
||||||
|
sh '''
|
||||||
|
cd ${DOC_WKC}/${en_doc_repo}
|
||||||
|
# git pull
|
||||||
|
yarn ass local
|
||||||
|
yarn build
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def pre_test(){
|
def pre_test(){
|
||||||
sh '''
|
sh '''
|
||||||
hostname
|
hostname
|
||||||
|
@ -153,6 +210,7 @@ def pre_test(){
|
||||||
'''
|
'''
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
def pre_test_build_mac() {
|
def pre_test_build_mac() {
|
||||||
sh '''
|
sh '''
|
||||||
hostname
|
hostname
|
||||||
|
@ -173,6 +231,7 @@ def pre_test_build_mac() {
|
||||||
date
|
date
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
|
|
||||||
def pre_test_win(){
|
def pre_test_win(){
|
||||||
bat '''
|
bat '''
|
||||||
hostname
|
hostname
|
||||||
|
@ -284,6 +343,7 @@ def pre_test_win(){
|
||||||
git log -5
|
git log -5
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
|
|
||||||
def pre_test_build_win() {
|
def pre_test_build_win() {
|
||||||
bat '''
|
bat '''
|
||||||
echo "building ..."
|
echo "building ..."
|
||||||
|
@ -313,6 +373,7 @@ def pre_test_build_win() {
|
||||||
'''
|
'''
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
def run_win_ctest() {
|
def run_win_ctest() {
|
||||||
bat '''
|
bat '''
|
||||||
echo "windows ctest ..."
|
echo "windows ctest ..."
|
||||||
|
@ -322,6 +383,7 @@ def run_win_ctest() {
|
||||||
time /t
|
time /t
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
|
|
||||||
def run_win_test() {
|
def run_win_test() {
|
||||||
bat '''
|
bat '''
|
||||||
echo "windows test ..."
|
echo "windows test ..."
|
||||||
|
@ -344,28 +406,67 @@ pipeline {
|
||||||
WK = '/var/lib/jenkins/workspace/TDinternal'
|
WK = '/var/lib/jenkins/workspace/TDinternal'
|
||||||
WKC = '/var/lib/jenkins/workspace/TDinternal/community'
|
WKC = '/var/lib/jenkins/workspace/TDinternal/community'
|
||||||
WKPY = '/var/lib/jenkins/workspace/taos-connector-python'
|
WKPY = '/var/lib/jenkins/workspace/taos-connector-python'
|
||||||
|
DOC_WKC = '/root/doc_ci_work'
|
||||||
|
td_repo = 'TDengine'
|
||||||
|
zh_doc_repo = 'docs.taosdata.com'
|
||||||
|
en_doc_repo = 'docs.tdengine.com'
|
||||||
|
tools_repo = 'taos-tools'
|
||||||
}
|
}
|
||||||
stages {
|
stages {
|
||||||
stage('check') {
|
stage ('check doc file changed') {
|
||||||
|
agent{label " slave1_47 || slave1_48 || slave1_49 || slave1_50 || slave1_52 || slave1_59 || slave1_63 || worker03 || slave215 || slave217 || slave219 || Mac_catalina "}
|
||||||
|
steps {
|
||||||
|
check_docs()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('pre for build docs') {
|
||||||
when {
|
when {
|
||||||
allOf {
|
beforeAgent true
|
||||||
not { expression { env.CHANGE_BRANCH =~ /docs\// }}
|
expression { env.CHANGE_BRANCH =~ /(?i)doc.*/ || file_zh_changed != '' || file_en_changed != '' }
|
||||||
}
|
}
|
||||||
|
agent{label "doc_build_0_30"}
|
||||||
|
steps {
|
||||||
|
build_pre_docs()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage('build Docs') {
|
||||||
|
when {
|
||||||
|
beforeAgent true
|
||||||
|
expression { env.CHANGE_BRANCH =~ /(?i)doc.*/ || file_zh_changed != '' || file_en_changed != '' }
|
||||||
}
|
}
|
||||||
parallel {
|
parallel {
|
||||||
stage('check docs') {
|
stage('build zh docs') {
|
||||||
agent{label " slave1_47 || slave1_48 || slave1_49 || slave1_50 || slave1_52 || slave1_59 || slave1_63 || worker03 || slave215 || slave217 || slave219 || Mac_catalina "}
|
agent{label "doc_build_0_30"}
|
||||||
|
when {
|
||||||
|
expression { file_zh_changed != '' }
|
||||||
|
}
|
||||||
steps {
|
steps {
|
||||||
check_docs()
|
build_zh_docs()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('build en docs') {
|
||||||
|
agent{label "doc_build_0_30"}
|
||||||
|
when {
|
||||||
|
expression { file_en_changed != '' }
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
build_en_docs()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
post {
|
||||||
|
unsuccessful {
|
||||||
|
error('build docs stage failed, terminating pipeline.')
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('run test') {
|
stage('run test') {
|
||||||
when {
|
when {
|
||||||
allOf {
|
allOf {
|
||||||
not { expression { env.CHANGE_BRANCH =~ /docs\// }}
|
not { expression { file_no_doc_changed == '' }}
|
||||||
expression { docs_only == 0 }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
parallel {
|
parallel {
|
||||||
|
@ -420,7 +521,7 @@ pipeline {
|
||||||
script {
|
script {
|
||||||
sh '''
|
sh '''
|
||||||
mkdir -p ${WKDIR}/tmp/${BRANCH_NAME}_${BUILD_ID}
|
mkdir -p ${WKDIR}/tmp/${BRANCH_NAME}_${BUILD_ID}
|
||||||
echo "''' + env.FILE_CHANGED + '''" > ${WKDIR}/tmp/${BRANCH_NAME}_${BUILD_ID}/docs_changed.txt
|
echo "''' + file_no_doc_changed + '''" > ${WKDIR}/tmp/${BRANCH_NAME}_${BUILD_ID}/docs_changed.txt
|
||||||
'''
|
'''
|
||||||
sh '''
|
sh '''
|
||||||
cd ${WKC}/tests/parallel_test
|
cd ${WKC}/tests/parallel_test
|
||||||
|
@ -570,4 +671,4 @@ pipeline {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue