Jenkinsfile 21.1 KB
Newer Older
L
liuyq-617 已提交
1
import hudson.model.Result
L
liuyq-617 已提交
2
import hudson.model.*;
L
liuyq-617 已提交
3
import jenkins.model.CauseOfInterruption
4 5 6
node {
}

L
liuyq-617 已提交
7
def skipbuild=0
L
liuyq-617 已提交
8
def win_stop=0
L
liuyq-617 已提交
9

L
recover  
liuyq-617 已提交
10 11 12 13 14
def abortPreviousBuilds() {
  def currentJobName = env.JOB_NAME
  def currentBuildNumber = env.BUILD_NUMBER.toInteger()
  def jobs = Jenkins.instance.getItemByFullName(currentJobName)
  def builds = jobs.getBuilds()
15

L
recover  
liuyq-617 已提交
16 17 18 19
  for (build in builds) {
    if (!build.isBuilding()) {
      continue;
    }
L
liuyq-617 已提交
20

L
recover  
liuyq-617 已提交
21 22 23 24 25 26 27 28 29 30 31 32 33 34
    if (currentBuildNumber == build.getNumber().toInteger()) {
      continue;
    }

    build.doKill()    //doTerm(),doKill(),doTerm()
  }
}
//  abort previous build
abortPreviousBuilds()
def abort_previous(){
  def buildNumber = env.BUILD_NUMBER as int
  if (buildNumber > 1) milestone(buildNumber - 1)
  milestone(buildNumber)
}
35
def pre_test(){
L
liuyq-617 已提交
36
    sh'hostname'
L
liuyq-617 已提交
37 38 39
    sh '''
    sudo rmtaos || echo "taosd has not installed"
    '''
L
liuyq-617 已提交
40
    sh '''
L
fix  
liuyq-617 已提交
41 42
    killall -9 taosd ||echo "no taosd running"
    killall -9 gdb || echo "no gdb running"
L
liuyq-617 已提交
43
    killall -9 python3.8 || echo "no python program running"
44
    cd ${WKC}
L
fix  
liuyq-617 已提交
45 46 47 48
    git reset --hard HEAD~10 >/dev/null
    '''
    script {
      if (env.CHANGE_TARGET == 'master') {
L
fix  
liuyq-617 已提交
49 50 51 52
        sh '''
        cd ${WKC}
        git checkout master
        '''
L
fix  
liuyq-617 已提交
53
        }
54
      else if(env.CHANGE_TARGET == '2.0'){
L
fix  
liuyq-617 已提交
55 56
        sh '''
        cd ${WKC}
57
        git checkout 2.0
L
fix  
liuyq-617 已提交
58
        '''
L
fix  
liuyq-617 已提交
59
      } 
60 61 62 63 64 65
      else{
        sh '''
        cd ${WKC}
        git checkout develop
        '''
      }
L
fix  
liuyq-617 已提交
66 67
    }
    sh'''
L
fix  
liuyq-617 已提交
68
    cd ${WKC}
69
    [ -f src/connector/grafanaplugin/README.md ] && rm -f src/connector/grafanaplugin/README.md > /dev/null || echo "failed to remove grafanaplugin README.md"
L
liuyq-617 已提交
70
    git pull >/dev/null
L
liuyq-617 已提交
71
    git fetch origin +refs/pull/${CHANGE_ID}/merge
72
    git checkout -qf FETCH_HEAD
L
liuyq-617 已提交
73
    git clean -dfx
74
    git ls-files --stage   | grep 160000   | awk '{print $4}'   | xargs git rm --cached 
75
    git submodule update --init --recursive
76
    cd ${WK}
L
enhance  
liuyq-617 已提交
77
    git reset --hard HEAD~10
L
fix  
liuyq-617 已提交
78 79 80
    '''
    script {
      if (env.CHANGE_TARGET == 'master') {
L
fix  
liuyq-617 已提交
81
        sh '''
L
fix  
liuyq-617 已提交
82
        cd ${WK}
L
fix  
liuyq-617 已提交
83 84
        git checkout master
        '''
L
fix  
liuyq-617 已提交
85
        }
86 87 88 89 90 91 92
      else if(env.CHANGE_TARGET == '2.0'){
        sh '''
        cd ${WK}
        git checkout 2.0
        '''
      } 
      else{
L
fix  
liuyq-617 已提交
93
        sh '''
L
fix  
liuyq-617 已提交
94
        cd ${WK}
L
fix  
liuyq-617 已提交
95 96
        git checkout develop
        '''
L
fix  
liuyq-617 已提交
97 98 99
      } 
    }
    sh '''
100
    cd ${WK}
L
fix  
liuyq-617 已提交
101
    git pull >/dev/null 
102
    
103 104
    export TZ=Asia/Harbin
    date
L
liuyq-617 已提交
105
    git clean -dfx
106 107 108 109 110 111
    mkdir debug
    cd debug
    cmake .. > /dev/null
    make > /dev/null
    make install > /dev/null
    cd ${WKC}/tests
L
update  
liuyq-617 已提交
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
    pip3 install ${WKC}/src/connector/python/ 
    '''
    return 1
}
def pre_test_noinstall(){
    sh'hostname'
    sh'''
    cd ${WKC}
    git reset --hard HEAD~10 >/dev/null
    '''
    script {
      if (env.CHANGE_TARGET == 'master') {
        sh '''
        cd ${WKC}
        git checkout master
        '''
        }
      else if(env.CHANGE_TARGET == '2.0'){
        sh '''
        cd ${WKC}
        git checkout 2.0
        '''
      } 
      else{
        sh '''
        cd ${WKC}
        git checkout develop
        '''
      }
    }
    sh'''
    cd ${WKC}
144
    [ -f src/connector/grafanaplugin/README.md ] && rm -f src/connector/grafanaplugin/README.md > /dev/null || echo "failed to remove grafanaplugin README.md"
L
update  
liuyq-617 已提交
145 146 147 148
    git pull >/dev/null
    git fetch origin +refs/pull/${CHANGE_ID}/merge
    git checkout -qf FETCH_HEAD
    git clean -dfx
149
    git ls-files --stage   | grep 160000   | awk '{print $4}'   | xargs git rm --cached 
L
update  
liuyq-617 已提交
150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
    git submodule update --init --recursive
    cd ${WK}
    git reset --hard HEAD~10
    '''
    script {
      if (env.CHANGE_TARGET == 'master') {
        sh '''
        cd ${WK}
        git checkout master
        '''
        }
      else if(env.CHANGE_TARGET == '2.0'){
        sh '''
        cd ${WK}
        git checkout 2.0
        '''
      } 
      else{
        sh '''
        cd ${WK}
        git checkout develop
        '''
      } 
    }
    sh '''
    cd ${WK}
    git pull >/dev/null 
    
    export TZ=Asia/Harbin
    date
    git clean -dfx
    mkdir debug
    cd debug
    cmake .. > /dev/null
L
liuyq-617 已提交
184
    make
L
liuyq-617 已提交
185
    '''
186 187
    return 1
}
L
liuyq-617 已提交
188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215
def pre_test_mac(){
    sh'hostname'
    sh'''
    cd ${WKC}
    git reset --hard HEAD~10 >/dev/null
    '''
    script {
      if (env.CHANGE_TARGET == 'master') {
        sh '''
        cd ${WKC}
        git checkout master
        '''
        }
      else if(env.CHANGE_TARGET == '2.0'){
        sh '''
        cd ${WKC}
        git checkout 2.0
        '''
      } 
      else{
        sh '''
        cd ${WKC}
        git checkout develop
        '''
      }
    }
    sh'''
    cd ${WKC}
216
    [ -f src/connector/grafanaplugin/README.md ] && rm -f src/connector/grafanaplugin/README.md > /dev/null || echo "failed to remove grafanaplugin README.md"
L
liuyq-617 已提交
217 218 219 220
    git pull >/dev/null
    git fetch origin +refs/pull/${CHANGE_ID}/merge
    git checkout -qf FETCH_HEAD
    git clean -dfx
221
    git ls-files --stage   | grep 160000   | awk '{print $4}'   | xargs git rm --cached
L
liuyq-617 已提交
222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259
    git submodule update --init --recursive
    cd ${WK}
    git reset --hard HEAD~10
    '''
    script {
      if (env.CHANGE_TARGET == 'master') {
        sh '''
        cd ${WK}
        git checkout master
        '''
        }
      else if(env.CHANGE_TARGET == '2.0'){
        sh '''
        cd ${WK}
        git checkout 2.0
        '''
      } 
      else{
        sh '''
        cd ${WK}
        git checkout develop
        '''
      } 
    }
    sh '''
    cd ${WK}
    git pull >/dev/null 
    
    export TZ=Asia/Harbin
    date
    git clean -dfx
    mkdir debug
    cd debug
    cmake .. > /dev/null
    cmake --build .
    '''
    return 1
}
260 261
def pre_test_win(){
    bat '''
L
update  
liuyq-617 已提交
262
    taskkill /f /t /im python.exe
263 264 265 266 267
    cd C:\\
    rd /s /Q C:\\TDengine
    cd C:\\workspace\\TDinternal
    rd /s /Q C:\\workspace\\TDinternal\\debug
    cd C:\\workspace\\TDinternal\\community
L
liuyq-617 已提交
268
    git reset --hard HEAD~10 
269 270 271 272
    '''
    script {
      if (env.CHANGE_TARGET == 'master') {
        bat '''
L
liuyq-617 已提交
273
        cd C:\\workspace\\TDinternal\\community
274 275 276 277 278
        git checkout master
        '''
        }
      else if(env.CHANGE_TARGET == '2.0'){
        bat '''
L
liuyq-617 已提交
279
        cd C:\\workspace\\TDinternal\\community
280 281 282 283 284
        git checkout 2.0
        '''
      } 
      else{
        bat '''
L
liuyq-617 已提交
285
        cd C:\\workspace\\TDinternal\\community
286 287 288 289 290 291
        git checkout develop
        '''
      }
    }
    bat'''
    cd C:\\workspace\\TDinternal\\community
L
liuyq-617 已提交
292
    git pull 
L
liuyq-617 已提交
293
    git fetch origin +refs/pull/%CHANGE_ID%/merge
294 295
    git checkout -qf FETCH_HEAD
    git clean -dfx
296
    git submodule update --init --recursive
297 298 299 300 301 302
    cd C:\\workspace\\TDinternal
    git reset --hard HEAD~10
    '''
    script {
      if (env.CHANGE_TARGET == 'master') {
        bat '''
L
liuyq-617 已提交
303
        cd C:\\workspace\\TDinternal
304 305 306 307 308
        git checkout master
        '''
        }
      else if(env.CHANGE_TARGET == '2.0'){
        bat '''
L
liuyq-617 已提交
309
        cd C:\\workspace\\TDinternal
310 311 312 313 314
        git checkout 2.0
        '''
      } 
      else{
        bat '''
L
liuyq-617 已提交
315
        cd C:\\workspace\\TDinternal
316 317 318 319 320 321
        git checkout develop
        '''
      } 
    }
    bat '''
    cd C:\\workspace\\TDinternal
L
liuyq-617 已提交
322
    git pull 
L
liuyq-617 已提交
323

324 325 326 327
    date
    git clean -dfx
    mkdir debug
    cd debug
L
liuyq-617 已提交
328
    call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Auxiliary\\Build\\vcvarsall.bat" amd64
L
update  
liuyq-617 已提交
329
    cmake ../ -G "NMake Makefiles" 
L
liuyq-617 已提交
330
    set CL=/MP nmake nmake || exit 8
L
update  
liuyq-617 已提交
331
    nmake install || exit 8
L
liuyq-617 已提交
332
    xcopy /e/y/i/f C:\\workspace\\TDinternal\\debug\\build\\lib\\taos.dll C:\\Windows\\System32 || exit 8
333 334
    cd C:\\workspace\\TDinternal\\community\\src\\connector\\python
    python -m pip install .
L
liuyq-617 已提交
335
    
336 337 338
    '''
    return 1
}
Y
Yiqing Liu 已提交
339
pipeline {
L
liuyq-617 已提交
340
  agent none
Y
Yiqing Liu 已提交
341
  options { skipDefaultCheckout() } 
L
liuyq-617 已提交
342 343 344 345
  environment{
      WK = '/var/lib/jenkins/workspace/TDinternal'
      WKC= '/var/lib/jenkins/workspace/TDinternal/community'
  }
Y
Yiqing Liu 已提交
346
  stages {
L
change  
liuyq-617 已提交
347
      stage('pre_build'){
348
          agent{label 'master'}
Y
Yiqing Liu 已提交
349
          options { skipDefaultCheckout() } 
L
liuyq-617 已提交
350 351 352
          when {
              changeRequest()
          }
353
          steps {
L
change  
liuyq-617 已提交
354 355 356 357
            script{
              abort_previous()
              abortPreviousBuilds()
            }
Y
Yiqing Liu 已提交
358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384
          //   sh'''
          // rm -rf ${WORKSPACE}.tes
          // cp -r ${WORKSPACE} ${WORKSPACE}.tes
          // cd ${WORKSPACE}.tes
          // git fetch
          // '''
          // script {
          //   if (env.CHANGE_TARGET == 'master') {
          //     sh '''
          //     git checkout master
          //     '''
          //     }
          //   else if(env.CHANGE_TARGET == '2.0'){
          //     sh '''
          //     git checkout 2.0
          //     '''
          //   } 
          //   else{
          //     sh '''
          //     git checkout develop
          //     '''
          //   } 
          // }
          // sh'''
          // git fetch origin +refs/pull/${CHANGE_ID}/merge
          // git checkout -qf FETCH_HEAD
          // '''     
385

Y
Yiqing Liu 已提交
386 387 388 389 390 391 392 393 394
          // script{  
          //   skipbuild='2'     
          //   skipbuild=sh(script: "git log -2 --pretty=%B | fgrep -ie '[skip ci]' -e '[ci skip]' && echo 1 || echo 2", returnStdout:true)
          //   println skipbuild
          // }
          // sh'''
          // rm -rf ${WORKSPACE}.tes
          // '''
          // }       
395 396
          }
      }
L
change  
liuyq-617 已提交
397
      stage('Parallel test stage') {
L
liuyq-617 已提交
398
        //only build pr
Y
Yiqing Liu 已提交
399
        options { skipDefaultCheckout() } 
L
liuyq-617 已提交
400
        when {
L
liuyq-617 已提交
401
          allOf{
L
liuyq-617 已提交
402
              changeRequest()
403
              not{ expression { env.CHANGE_BRANCH =~ /docs\// }}
L
liuyq-617 已提交
404
            }
L
liuyq-617 已提交
405
          }
Y
Yiqing Liu 已提交
406
      parallel {
L
liuyq-617 已提交
407
        stage('python_1_s1') {
L
liuyq-617 已提交
408
          agent{label " slave1 || slave11 "}
L
liuyq-617 已提交
409
          steps {
410
            pre_test()
L
liuyq-617 已提交
411
            timeout(time: 55, unit: 'MINUTES'){
L
liuyq-617 已提交
412
              sh '''
L
liuyq-617 已提交
413
              date
L
liuyq-617 已提交
414 415 416 417 418
              cd ${WKC}/tests
              ./test-all.sh p1
              date'''
            }
            
L
liuyq-617 已提交
419 420
          }
        }
L
liuyq-617 已提交
421
        stage('python_2_s5') {
L
liuyq-617 已提交
422
          agent{label " slave5 || slave15 "}
L
liuyq-617 已提交
423 424 425
          steps {
            
            pre_test()
L
liuyq-617 已提交
426
            timeout(time: 55, unit: 'MINUTES'){
427 428 429 430 431
                sh '''
                date
                cd ${WKC}/tests
                ./test-all.sh p2
                date'''
L
liuyq-617 已提交
432 433 434 435
            }
          }
        }
        stage('python_3_s6') {
L
liuyq-617 已提交
436
          agent{label " slave6 || slave16 "}
L
liuyq-617 已提交
437
          steps {     
L
liuyq-617 已提交
438
            timeout(time: 55, unit: 'MINUTES'){       
L
liuyq-617 已提交
439 440 441 442 443 444 445
              pre_test()
              sh '''
              date
              cd ${WKC}/tests
              ./test-all.sh p3
              date'''
            }
L
liuyq-617 已提交
446 447
          }
        }
L
liuyq-617 已提交
448
        stage('test_b1_s2') {
L
liuyq-617 已提交
449
          agent{label " slave2 || slave12 "}
L
liuyq-617 已提交
450
          steps {     
L
liuyq-617 已提交
451
            timeout(time: 55, unit: 'MINUTES'){       
L
liuyq-617 已提交
452
              pre_test()
L
liuyq-617 已提交
453 454 455
              sh '''
                rm -rf /var/lib/taos/*
                rm -rf /var/log/taos/*
L
update  
liuyq-617 已提交
456
                nohup taosd >/dev/null &
L
liuyq-617 已提交
457 458 459 460
                sleep 10
              '''
              sh '''
              cd ${WKC}/tests/examples/nodejs
L
update  
liuyq-617 已提交
461
              npm install td2.0-connector > /dev/null 2>&1
L
liuyq-617 已提交
462
              node nodejsChecker.js host=localhost
R
root 已提交
463
              node test1970.js
464 465
              cd ${WKC}/tests/connectorTest/nodejsTest/nanosupport
              npm install td2.0-connector > /dev/null 2>&1
466 467
              node nanosecondTest.js

L
liuyq-617 已提交
468
              '''
469 470 471 472 473 474 475
              catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
                sh '''
                  cd ${WKC}/tests/examples/C#/taosdemo
                  mcs -out:taosdemo *.cs > /dev/null 2>&1
                  echo '' |./taosdemo -c /etc/taos
                '''
              } 
L
liuyq-617 已提交
476 477 478 479
              sh '''
                cd ${WKC}/tests/gotest
                bash batchtest.sh
              '''
L
liuyq-617 已提交
480 481 482 483 484
              sh '''
              cd ${WKC}/tests
              ./test-all.sh b1fq
              date'''
            }
Y
Yiqing Liu 已提交
485 486
          }
        }
L
liuyq-617 已提交
487
        stage('test_crash_gen_s3') {
L
liuyq-617 已提交
488
          agent{label " slave3 || slave13 "}
489
          
Y
Yiqing Liu 已提交
490
          steps {
491
            pre_test()
492 493 494
            timeout(time: 60, unit: 'MINUTES'){
              sh '''
              cd ${WKC}/tests/pytest
L
liuyq-617 已提交
495
              ./crash_gen.sh -a -p -t 4 -s 2000
496 497 498
              '''
            }
            timeout(time: 60, unit: 'MINUTES'){
P
Ping Xiao 已提交
499 500 501 502 503 504
              sh '''
              cd ${WKC}/tests/pytest
              rm -rf /var/lib/taos/*
              rm -rf /var/log/taos/*
              ./handle_crash_gen_val_log.sh
              '''
505 506 507 508 509 510
              sh '''
              cd ${WKC}/tests/pytest
              rm -rf /var/lib/taos/*
              rm -rf /var/log/taos/*
              ./handle_taosd_val_log.sh
              '''
L
liuyq-617 已提交
511
            }
L
liuyq-617 已提交
512
            timeout(time: 55, unit: 'MINUTES'){
513 514 515 516 517 518
                sh '''
                date
                cd ${WKC}/tests
                ./test-all.sh b2fq
                date
                '''
L
test  
liuyq-617 已提交
519
            }                     
Y
Yiqing Liu 已提交
520 521
          }
        }
L
liuyq-617 已提交
522
        stage('test_valgrind_s4') {
L
liuyq-617 已提交
523
          agent{label " slave4 || slave14 "}
L
liuyq-617 已提交
524

Y
Yiqing Liu 已提交
525
          steps {
526 527 528 529 530 531 532
            pre_test()
            catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
                sh '''
                cd ${WKC}/tests/pytest
                ./valgrind-test.sh 2>&1 > mem-error-out.log
                ./handle_val_log.sh
                '''
L
liuyq-617 已提交
533
            }     
L
liuyq-617 已提交
534
            timeout(time: 55, unit: 'MINUTES'){      
L
liuyq-617 已提交
535 536 537 538 539
              sh '''
              date
              cd ${WKC}/tests
              ./test-all.sh b3fq
              date'''
P
change  
Ping Xiao 已提交
540 541 542 543 544
              sh '''
              date
              cd ${WKC}/tests
              ./test-all.sh full example
              date'''
L
liuyq-617 已提交
545
            }
Y
Yiqing Liu 已提交
546 547
          }
        }
L
liuyq-617 已提交
548
        stage('test_b4_s7') {
L
liuyq-617 已提交
549
          agent{label " slave7 || slave17 "}
L
liuyq-617 已提交
550
          steps {     
L
liuyq-617 已提交
551
            timeout(time: 105, unit: 'MINUTES'){       
L
liuyq-617 已提交
552 553 554 555 556
              pre_test()
              sh '''
              date
              cd ${WKC}/tests
              ./test-all.sh b4fq
L
fix  
liuyq-617 已提交
557
              cd ${WKC}/tests
L
liuyq-617 已提交
558
              ./test-all.sh p4
L
liuyq-617 已提交
559
              '''
L
liuyq-617 已提交
560 561
              // cd ${WKC}/tests
              // ./test-all.sh full jdbc
L
liuyq-617 已提交
562 563 564
              // cd ${WKC}/tests
              // ./test-all.sh full unit
              
L
liuyq-617 已提交
565 566 567 568
            }
          }
        }
        stage('test_b5_s8') {
L
liuyq-617 已提交
569
          agent{label " slave8 || slave18 "}
L
liuyq-617 已提交
570
          steps {     
L
liuyq-617 已提交
571
            timeout(time: 55, unit: 'MINUTES'){       
L
liuyq-617 已提交
572 573 574 575 576 577 578 579 580 581
              pre_test()
              sh '''
              date
              cd ${WKC}/tests
              ./test-all.sh b5fq
              date'''
            }
          }
        }
        stage('test_b6_s9') {
L
liuyq-617 已提交
582
          agent{label " slave9 || slave19 "}
L
liuyq-617 已提交
583
          steps {     
L
liuyq-617 已提交
584
            timeout(time: 55, unit: 'MINUTES'){       
L
liuyq-617 已提交
585 586 587 588 589 590 591 592 593 594
              pre_test()
              sh '''
              date
              cd ${WKC}/tests
              ./test-all.sh b6fq
              date'''
            }
          }
        }
        stage('test_b7_s10') {
L
liuyq-617 已提交
595
          agent{label " slave10 || slave20 "}
L
liuyq-617 已提交
596
          steps {     
L
liuyq-617 已提交
597
            timeout(time: 55, unit: 'MINUTES'){       
L
liuyq-617 已提交
598 599 600 601 602
              pre_test()
              sh '''
              date
              cd ${WKC}/tests
              ./test-all.sh b7fq
P
change  
Ping Xiao 已提交
603
              date'''              
L
liuyq-617 已提交
604 605
            }
          }
606
        } 
L
liuyq-617 已提交
607 608 609
        stage('arm64centos7') {
          agent{label " arm64centos7 "}
          steps {     
L
update  
liuyq-617 已提交
610
              pre_test_noinstall()    
L
liuyq-617 已提交
611 612 613 614 615
            }
        }
        stage('arm64centos8') {
          agent{label " arm64centos8 "}
          steps {     
L
update  
liuyq-617 已提交
616
              pre_test_noinstall()    
L
liuyq-617 已提交
617 618 619 620 621
            }
        }
        stage('arm32bionic') {
          agent{label " arm32bionic "}
          steps {     
L
update  
liuyq-617 已提交
622
              pre_test_noinstall()    
L
liuyq-617 已提交
623 624 625 626 627
            }
        }
        stage('arm64bionic') {
          agent{label " arm64bionic "}
          steps {     
L
update  
liuyq-617 已提交
628
              pre_test_noinstall()    
L
liuyq-617 已提交
629 630 631 632 633
            }
        }
        stage('arm64focal') {
          agent{label " arm64focal "}
          steps {     
L
update  
liuyq-617 已提交
634
              pre_test_noinstall()    
L
liuyq-617 已提交
635 636
            }
        }
L
liuyq-617 已提交
637 638 639
        stage('centos7') {
          agent{label " centos7 "}
          steps {     
L
update  
liuyq-617 已提交
640
              pre_test_noinstall()    
L
liuyq-617 已提交
641 642 643 644 645
            }
        }
        stage('ubuntu:trusty') {
          agent{label " trusty "}
          steps {     
L
update  
liuyq-617 已提交
646
              pre_test_noinstall()    
L
liuyq-617 已提交
647 648 649 650 651
            }
        }
        stage('ubuntu:xenial') {
          agent{label " xenial "}
          steps {     
L
update  
liuyq-617 已提交
652
              pre_test_noinstall()    
L
liuyq-617 已提交
653 654 655 656 657
            }
        }
        stage('ubuntu:bionic') {
          agent{label " bionic "}
          steps {     
L
update  
liuyq-617 已提交
658
              pre_test_noinstall()    
L
liuyq-617 已提交
659 660
            }
        }
L
liuyq-617 已提交
661 662 663 664 665 666
        stage('Mac_build') {
          agent{label " catalina "}
          steps {     
              pre_test_mac()    
            }
        }
L
liuyq-617 已提交
667

L
liuyq-617 已提交
668 669 670 671 672 673 674 675 676 677 678 679 680 681
        stage('build'){
          agent{label " wintest "}
          steps {
            pre_test()
            script{             
                while(win_stop == 0){
                  sleep(1)
                  }
              }
            }
        }
        stage('test'){
          agent{label "win"}
          steps{
L
liuyq-617 已提交
682
            
L
liuyq-617 已提交
683 684 685 686 687 688 689 690 691 692 693 694 695 696
            catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
                pre_test_win()
                timeout(time: 20, unit: 'MINUTES'){
                bat'''
                cd C:\\workspace\\TDinternal\\community\\tests\\pytest
                .\\test-all.bat wintest
                '''
                }
            }     
            script{
              win_stop=1
            }
          }
        }
L
liuyq-617 已提交
697 698
          
               
Y
Yiqing Liu 已提交
699 700
    }
  }
L
liuyq-617 已提交
701
  }
L
liuyq-617 已提交
702
  post {  
703 704
        success {
            emailext (
705 706
                subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' SUCCESS",
                body: """<!DOCTYPE html>
707 708 709 710 711 712 713 714 715 716 717 718 719 720 721
                <html>
                <head>
                <meta charset="UTF-8">
                </head>
                <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
                    <table width="95%" cellpadding="0" cellspacing="0" style="font-size: 16pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
                        <tr>
                            <td><br />
                                <b><font color="#0B610B"><font size="6">构建信息</font></font></b>
                                <hr size="2" width="100%" align="center" /></td>
                        </tr>
                        <tr>
                            <td>
                                <ul>
                                <div style="font-size:18px">
722
                                    <li>构建名称>>分支:${env.BRANCH_NAME}</li>
723 724
                                    <li>构建结果:<span style="color:green"> Successful </span></li>
                                    <li>构建编号:${BUILD_NUMBER}</li>
725
                                    <li>触发用户:${env.CHANGE_AUTHOR}</li>
L
fix  
liuyq-617 已提交
726
                                    <li>提交信息:${env.CHANGE_TITLE}</li>
727 728
                                    <li>构建地址:<a href=${BUILD_URL}>${BUILD_URL}</a></li>
                                    <li>构建日志:<a href=${BUILD_URL}console>${BUILD_URL}console</a></li>
729
                                    
730 731 732 733 734 735
                                </div>
                                </ul>
                            </td>
                        </tr>
                    </table></font>
                </body>
736
                </html>""",
L
liuyq-617 已提交
737
                to: "${env.CHANGE_AUTHOR_EMAIL}",
738 739 740 741 742
                from: "support@taosdata.com"
            )
        }
        failure {
            emailext (
743 744
                subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' FAIL",
                body: """<!DOCTYPE html>
745 746 747 748 749 750 751 752 753 754 755 756 757 758 759
                <html>
                <head>
                <meta charset="UTF-8">
                </head>
                <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
                    <table width="95%" cellpadding="0" cellspacing="0" style="font-size: 16pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
                        <tr>
                            <td><br />
                                <b><font color="#0B610B"><font size="6">构建信息</font></font></b>
                                <hr size="2" width="100%" align="center" /></td>
                        </tr>
                        <tr>
                            <td>
                                <ul>
                                <div style="font-size:18px">
760
                                    <li>构建名称>>分支:${env.BRANCH_NAME}</li>
L
liuyq-617 已提交
761
                                    <li>构建结果:<span style="color:red"> Failure </span></li>
762
                                    <li>构建编号:${BUILD_NUMBER}</li>
763
                                    <li>触发用户:${env.CHANGE_AUTHOR}</li>
L
fix  
liuyq-617 已提交
764
                                    <li>提交信息:${env.CHANGE_TITLE}</li>
765 766
                                    <li>构建地址:<a href=${BUILD_URL}>${BUILD_URL}</a></li>
                                    <li>构建日志:<a href=${BUILD_URL}console>${BUILD_URL}console</a></li>
767
                                    
768 769 770 771 772 773
                                </div>
                                </ul>
                            </td>
                        </tr>
                    </table></font>
                </body>
774
                </html>""",
L
liuyq-617 已提交
775
                to: "${env.CHANGE_AUTHOR_EMAIL}",
776 777 778
                from: "support@taosdata.com"
            )
        }
L
liuyq-617 已提交
779
    } 
X
xiaolei li 已提交
780
}