1
1
import hudson.model.Result
2
2
import hudson.model.*;
3
3
import jenkins.model.CauseOfInterruption
4
- docs_only=0
5
4
node {
6
5
}
6
+ file_zh_changed = ''
7
+ file_en_changed = ''
8
+ file_no_doc_changed = ''
7
9
def abortPreviousBuilds() {
8
10
def currentJobName = env.JOB_NAME
9
11
def currentBuildNumber = env.BUILD_NUMBER.toInteger()
@@ -29,7 +31,7 @@ def abort_previous(){
29
31
if (buildNumber > 1) milestone(buildNumber - 1)
30
32
milestone(buildNumber)
31
33
}
32
- def check_docs() {
34
+ def check_docs(){
33
35
if (env.CHANGE_URL =~ /\/TDengine\//) {
34
36
sh '''
35
37
hostname
@@ -40,39 +42,94 @@ def check_docs() {
40
42
cd ${WKC}
41
43
git reset --hard
42
44
git clean -f
43
- rm -rf examples/rust/
44
45
git remote prune origin
45
46
git fetch
46
- '''
47
- script {
48
- sh '''
49
- cd ${WKC}
50
- git checkout ''' + env.CHANGE_TARGET + '''
51
- '''
52
- }
53
- sh '''
54
- cd ${WKC}
55
- git remote prune origin
47
+ git checkout ''' + env.CHANGE_TARGET + '''
56
48
git pull >/dev/null
57
49
git fetch origin +refs/pull/${CHANGE_ID}/merge
58
- git checkout -qf FETCH_HEAD
50
+ git checkout -qf FETCH_HEAD
59
51
'''
60
- def file_changed = sh (
52
+
53
+ file_zh_changed = sh (
61
54
script: '''
62
55
cd ${WKC}
63
- git --no-pager diff --name-only FETCH_HEAD `git merge-base FETCH_HEAD ${CHANGE_TARGET}`|grep -v "^docs/en/"|grep -v "^docs/zh/" || :
56
+ git --no-pager diff --name-only FETCH_HEAD `git merge-base FETCH_HEAD ${CHANGE_TARGET}`|grep "^docs/zh/" || :
57
+ ''',
58
+ returnStdout: true
59
+ )
60
+
61
+ file_en_changed = sh (
62
+ script: '''
63
+ cd ${WKC}
64
+ git --no-pager diff --name-only FETCH_HEAD `git merge-base FETCH_HEAD ${CHANGE_TARGET}`|grep "^docs/en/" || :
65
+ ''',
66
+ returnStdout: true
67
+ )
68
+
69
+ file_no_doc_changed = sh (
70
+ script: '''
71
+ cd ${WKC}
72
+ 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" || :
64
73
''',
65
74
returnStdout: true
66
75
).trim()
67
- if (file_changed == '') {
68
- echo "docs PR"
69
- docs_only=1
70
- } else {
71
- echo file_changed
72
- }
73
- env.FILE_CHANGED = file_changed
76
+ echo "file_zh_changed: ${file_zh_changed}"
77
+ echo "file_en_changed: ${file_en_changed}"
78
+ echo "file_no_doc_changed: ${file_no_doc_changed}"
79
+ }
80
+ }
81
+
82
+ def build_pre_docs(){
83
+ if (env.CHANGE_URL =~ /\/TDengine\//) {
84
+ sh '''
85
+ hostname
86
+ date
87
+ env
88
+ '''
89
+
90
+ sh '''
91
+ cd ${DOC_WKC}/${td_repo}
92
+ git reset --hard
93
+ git clean -f
94
+ git remote prune origin
95
+ git fetch
96
+ git checkout ''' + env.CHANGE_TARGET + '''
97
+ git pull >/dev/null
98
+ git fetch origin +refs/pull/${CHANGE_ID}/merge
99
+ git checkout -qf FETCH_HEAD
100
+ '''
101
+
102
+ sh '''
103
+ cd ${DOC_WKC}/${tools_repo}
104
+ git reset --hard
105
+ git clean -f
106
+ git fetch
107
+ git remote prune origin
108
+ git checkout ''' + env.CHANGE_TARGET + '''
109
+ git pull >/dev/null
110
+ '''
74
111
}
75
112
}
113
+
114
+ def build_zh_docs(){
115
+ sh '''
116
+ cd ${DOC_WKC}/${zh_doc_repo}
117
+ # git pull
118
+ yarn ass local
119
+ yarn build
120
+ '''
121
+ }
122
+
123
+ def build_en_docs(){
124
+ sh '''
125
+ cd ${DOC_WKC}/${en_doc_repo}
126
+ # git pull
127
+ yarn ass local
128
+ yarn build
129
+ '''
130
+ }
131
+
132
+
76
133
def pre_test(){
77
134
sh '''
78
135
hostname
@@ -153,6 +210,7 @@ def pre_test(){
153
210
'''
154
211
return 1
155
212
}
213
+
156
214
def pre_test_build_mac() {
157
215
sh '''
158
216
hostname
@@ -173,6 +231,7 @@ def pre_test_build_mac() {
173
231
date
174
232
'''
175
233
}
234
+
176
235
def pre_test_win(){
177
236
bat '''
178
237
hostname
@@ -273,17 +332,8 @@ def pre_test_win(){
273
332
cd %WIN_COMMUNITY_ROOT%
274
333
git submodule update --init --recursive
275
334
'''
276
- bat '''
277
- cd %WIN_CONNECTOR_ROOT%
278
- git branch
279
- git reset --hard
280
- git pull
281
- '''
282
- bat '''
283
- cd %WIN_CONNECTOR_ROOT%
284
- git log -5
285
- '''
286
335
}
336
+
287
337
def pre_test_build_win() {
288
338
bat '''
289
339
echo "building ..."
@@ -303,16 +353,14 @@ def pre_test_build_win() {
303
353
time /t
304
354
'''
305
355
bat '''
306
- cd %WIN_CONNECTOR_ROOT%
307
- python.exe -m pip install --upgrade pip
308
- python -m pip uninstall taospy -y
309
- python -m pip install taospy==2.7.16
310
- python -m pip uninstall taos-ws-py -y
311
- python -m pip install taos-ws-py==0.3.3
356
+ cd %WIN_COMMUNITY_ROOT%/tests/ci
357
+ pip3 install taospy==2.7.16
358
+ pip3 install taos-ws-py==0.3.3
312
359
xcopy /e/y/i/f %WIN_INTERNAL_ROOT%\\debug\\build\\lib\\taos.dll C:\\Windows\\System32
313
360
'''
314
361
return 1
315
362
}
363
+
316
364
def run_win_ctest() {
317
365
bat '''
318
366
echo "windows ctest ..."
@@ -322,10 +370,10 @@ def run_win_ctest() {
322
370
time /t
323
371
'''
324
372
}
373
+
325
374
def run_win_test() {
326
375
bat '''
327
376
echo "windows test ..."
328
- cd %WIN_CONNECTOR_ROOT%
329
377
xcopy /e/y/i/f %WIN_INTERNAL_ROOT%\\debug\\build\\lib\\taos.dll C:\\Windows\\System32
330
378
ls -l C:\\Windows\\System32\\taos.dll
331
379
time /t
@@ -343,29 +391,67 @@ pipeline {
343
391
WKDIR = '/var/lib/jenkins/workspace'
344
392
WK = '/var/lib/jenkins/workspace/TDinternal'
345
393
WKC = '/var/lib/jenkins/workspace/TDinternal/community'
346
- WKPY = '/var/lib/jenkins/workspace/taos-connector-python'
394
+ DOC_WKC = '/root/doc_ci_work'
395
+ td_repo = 'TDengine'
396
+ zh_doc_repo = 'docs.taosdata.com'
397
+ en_doc_repo = 'docs.tdengine.com'
398
+ tools_repo = 'taos-tools'
347
399
}
348
400
stages {
349
- stage('check') {
401
+ stage ('check doc file changed') {
402
+ agent{label " slave1_47 || slave1_48 || slave1_49 || slave1_50 || slave1_52 || slave1_59 || slave1_63 || worker03 || slave215 || slave217 || slave219 || Mac_catalina "}
403
+ steps {
404
+ check_docs()
405
+ }
406
+ }
407
+
408
+ stage ('pre for build docs') {
350
409
when {
351
- allOf {
352
- not { expression { env.CHANGE_BRANCH =~ /docs\// }}
353
- }
410
+ beforeAgent true
411
+ expression { env.CHANGE_BRANCH =~ /(?i)doc.*/ || file_zh_changed != '' || file_en_changed != '' }
412
+ }
413
+ agent{label "doc_build_0_30"}
414
+ steps {
415
+ build_pre_docs()
416
+ }
417
+ }
418
+
419
+ stage('build Docs') {
420
+ when {
421
+ beforeAgent true
422
+ expression { env.CHANGE_BRANCH =~ /(?i)doc.*/ || file_zh_changed != '' || file_en_changed != '' }
354
423
}
355
424
parallel {
356
- stage('check docs') {
357
- agent{label " slave1_47 || slave1_48 || slave1_49 || slave1_50 || slave1_52 || slave1_59 || slave1_63 || worker03 || slave215 || slave217 || slave219 || Mac_catalina "}
425
+ stage('build zh docs') {
426
+ agent{label "doc_build_0_30"}
427
+ when {
428
+ expression { file_zh_changed != '' }
429
+ }
358
430
steps {
359
- check_docs ()
431
+ build_zh_docs ()
360
432
}
361
433
}
434
+ stage('build en docs') {
435
+ agent{label "doc_build_0_30"}
436
+ when {
437
+ expression { file_en_changed != '' }
438
+ }
439
+ steps {
440
+ build_en_docs()
441
+ }
442
+ }
443
+ }
444
+ post {
445
+ unsuccessful {
446
+ error('build docs stage failed, terminating pipeline.')
447
+ }
362
448
}
363
449
}
450
+
364
451
stage('run test') {
365
452
when {
366
453
allOf {
367
- not { expression { env.CHANGE_BRANCH =~ /docs\// }}
368
- expression { docs_only == 0 }
454
+ not { expression { file_no_doc_changed == '' }}
369
455
}
370
456
}
371
457
parallel {
@@ -375,7 +461,6 @@ pipeline {
375
461
WIN_INTERNAL_ROOT="C:\\workspace\\${env.EXECUTOR_NUMBER}\\TDinternal"
376
462
WIN_COMMUNITY_ROOT="C:\\workspace\\${env.EXECUTOR_NUMBER}\\TDinternal\\community"
377
463
WIN_SYSTEM_TEST_ROOT="C:\\workspace\\${env.EXECUTOR_NUMBER}\\TDinternal\\community\\tests\\system-test"
378
- WIN_CONNECTOR_ROOT="C:\\workspace\\${env.EXECUTOR_NUMBER}\\taos-connector-python"
379
464
}
380
465
steps {
381
466
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
@@ -420,7 +505,7 @@ pipeline {
420
505
script {
421
506
sh '''
422
507
mkdir -p ${WKDIR}/tmp/${BRANCH_NAME}_${BUILD_ID}
423
- echo "''' + env.FILE_CHANGED + '''" > ${WKDIR}/tmp/${BRANCH_NAME}_${BUILD_ID}/docs_changed.txt
508
+ echo "''' + file_no_doc_changed + '''" > ${WKDIR}/tmp/${BRANCH_NAME}_${BUILD_ID}/docs_changed.txt
424
509
'''
425
510
sh '''
426
511
cd ${WKC}/tests/parallel_test
@@ -570,4 +655,4 @@ pipeline {
570
655
)
571
656
}
572
657
}
573
- }
658
+ }
0 commit comments