"src/vscode:/vscode.git/clone" did not exist on "0ffda1dfccaa04c5a921e29d29ff392fb23fb4f9"
Jenkinsfile 18.6 KB
Newer Older
Lingfan Yu's avatar
Lingfan Yu committed
1
2
#!/usr/bin/env groovy

3
dgl_linux_libs = 'build/libdgl.so, build/runUnitTests, python/dgl/_ffi/_cy3/core.cpython-*-x86_64-linux-gnu.so, build/tensoradapter/pytorch/*.so'
Minjie Wang's avatar
Minjie Wang committed
4
// Currently DGL on Windows is not working with Cython yet
5
dgl_win64_libs = "build\\dgl.dll, build\\runUnitTests.exe, build\\tensoradapter\\pytorch\\*.dll"
Minjie Wang's avatar
Minjie Wang committed
6
7

def init_git() {
8
  sh 'rm -rf *'
Minjie Wang's avatar
Minjie Wang committed
9
  checkout scm
10
  sh 'git submodule update --recursive --init'
Lingfan Yu's avatar
Lingfan Yu committed
11
12
}

Minjie Wang's avatar
Minjie Wang committed
13
14
def init_git_win64() {
  checkout scm
15
  bat 'git submodule update --recursive --init'
Lingfan Yu's avatar
Lingfan Yu committed
16
17
}

Minjie Wang's avatar
Minjie Wang committed
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// pack libraries for later use
def pack_lib(name, libs) {
  echo "Packing ${libs} into ${name}"
  stash includes: libs, name: name
}

// unpack libraries saved before
def unpack_lib(name, libs) {
  unstash name
  echo "Unpacked ${libs} from ${name}"
}

def build_dgl_linux(dev) {
  init_git()
32
  sh "bash tests/scripts/build_dgl.sh ${dev}"
33
  sh 'ls -lh /usr/lib/x86_64-linux-gnu/'
Minjie Wang's avatar
Minjie Wang committed
34
  pack_lib("dgl-${dev}-linux", dgl_linux_libs)
Lingfan Yu's avatar
Lingfan Yu committed
35
36
}

Minjie Wang's avatar
Minjie Wang committed
37
def build_dgl_win64(dev) {
38
39
  /* Assuming that Windows slaves are already configured with MSBuild VS2017,
   * CMake and Python/pip/setuptools etc. */
Minjie Wang's avatar
Minjie Wang committed
40
  init_git_win64()
41
  bat "CALL tests\\scripts\\build_dgl.bat"
Minjie Wang's avatar
Minjie Wang committed
42
  pack_lib("dgl-${dev}-win64", dgl_win64_libs)
43
44
}

45
def cpp_unit_test_linux(dev) {
Minjie Wang's avatar
Minjie Wang committed
46
  init_git()
47
  unpack_lib("dgl-${dev}-linux", dgl_linux_libs)
48
  sh 'bash tests/scripts/task_cpp_unit_test.sh'
VoVAllen's avatar
VoVAllen committed
49
50
}

Minjie Wang's avatar
Minjie Wang committed
51
52
def cpp_unit_test_win64() {
  init_git_win64()
53
  unpack_lib('dgl-cpu-win64', dgl_win64_libs)
VoVAllen's avatar
VoVAllen committed
54
55
56
  bat "CALL tests\\scripts\\task_cpp_unit_test.bat"
}

Minjie Wang's avatar
Minjie Wang committed
57
def unit_test_linux(backend, dev) {
Minjie Wang's avatar
Minjie Wang committed
58
  init_git()
Minjie Wang's avatar
Minjie Wang committed
59
  unpack_lib("dgl-${dev}-linux", dgl_linux_libs)
60
  timeout(time: 30, unit: 'MINUTES') {
61
    sh "bash tests/scripts/task_unit_test.sh ${backend} ${dev}"
Minjie Wang's avatar
Minjie Wang committed
62
  }
Lingfan Yu's avatar
Lingfan Yu committed
63
64
}

65
66
67
68
69
70
71
72
def unit_distributed_linux(backend, dev) {
  init_git()
  unpack_lib("dgl-${dev}-linux", dgl_linux_libs)
  timeout(time: 30, unit: 'MINUTES') {
    sh "bash tests/scripts/task_distributed_test.sh ${backend} ${dev}"
  }
}

73
74
75
76
77
78
79
80
def unit_test_cugraph(backend, dev) {
  init_git()
  unpack_lib("dgl-${dev}-linux", dgl_linux_libs)
  timeout(time: 15, unit: 'MINUTES') {
    sh "bash tests/scripts/cugraph_unit_test.sh ${backend}"
  }
}

81
def unit_test_win64(backend, dev) {
Minjie Wang's avatar
Minjie Wang committed
82
  init_git_win64()
Minjie Wang's avatar
Minjie Wang committed
83
  unpack_lib("dgl-${dev}-win64", dgl_win64_libs)
84
  timeout(time: 30, unit: 'MINUTES') {
85
    bat "CALL tests\\scripts\\task_unit_test.bat ${backend}"
Minjie Wang's avatar
Minjie Wang committed
86
  }
Da Zheng's avatar
Da Zheng committed
87
88
}

Minjie Wang's avatar
Minjie Wang committed
89
def example_test_linux(backend, dev) {
Minjie Wang's avatar
Minjie Wang committed
90
  init_git()
Minjie Wang's avatar
Minjie Wang committed
91
  unpack_lib("dgl-${dev}-linux", dgl_linux_libs)
Minjie Wang's avatar
Minjie Wang committed
92
93
  timeout(time: 20, unit: 'MINUTES') {
    sh "bash tests/scripts/task_example_test.sh ${dev}"
Minjie Wang's avatar
Minjie Wang committed
94
95
96
  }
}

97
def example_test_win64(backend, dev) {
Minjie Wang's avatar
Minjie Wang committed
98
  init_git_win64()
Minjie Wang's avatar
Minjie Wang committed
99
  unpack_lib("dgl-${dev}-win64", dgl_win64_libs)
Minjie Wang's avatar
Minjie Wang committed
100
101
  timeout(time: 20, unit: 'MINUTES') {
    bat "CALL tests\\scripts\\task_example_test.bat ${dev}"
102
103
104
  }
}

Minjie Wang's avatar
Minjie Wang committed
105
def tutorial_test_linux(backend) {
Minjie Wang's avatar
Minjie Wang committed
106
  init_git()
107
  unpack_lib('dgl-cpu-linux', dgl_linux_libs)
Minjie Wang's avatar
Minjie Wang committed
108
109
  timeout(time: 20, unit: 'MINUTES') {
    sh "bash tests/scripts/task_${backend}_tutorial_test.sh"
Minjie Wang's avatar
Minjie Wang committed
110
  }
Lingfan Yu's avatar
Lingfan Yu committed
111
112
}

Mufei Li's avatar
Mufei Li committed
113
114
115
def go_test_linux() {
  init_git()
  unpack_lib('dgl-cpu-linux', dgl_linux_libs)
Minjie Wang's avatar
Minjie Wang committed
116
  timeout(time: 20, unit: 'MINUTES') {
Mufei Li's avatar
Mufei Li committed
117
118
119
120
    sh "bash tests/scripts/task_go_test.sh"
  }
}

121
def is_authorized(name) {
122
  def authorized_user = ['VoVAllen', 'BarclayII', 'jermainewang', 'zheng-da', 'mufeili', 'Rhett-Ying', 'isratnisa']
123
124
  return (name in authorized_user)
}
VoVAllen's avatar
VoVAllen committed
125

Minjie Wang's avatar
Minjie Wang committed
126
pipeline {
Jinjing Zhou's avatar
Jinjing Zhou committed
127
  agent any
128
129
130
  triggers {
        issueCommentTrigger('@dgl-bot .*')
  }
Minjie Wang's avatar
Minjie Wang committed
131
  stages {
132
133
    stage('Regression Test Trigger') {
      agent {
Jinjing Zhou's avatar
Jinjing Zhou committed
134
135
136
137
        docker {
            label 'linux-benchmark-node'
            image 'dgllib/dgl-ci-lint'
            alwaysPull true
Jinjing Zhou's avatar
Jinjing Zhou committed
138
        }
VoVAllen's avatar
VoVAllen committed
139
      }
140
      when { triggeredBy 'IssueCommentCause' }
Minjie Wang's avatar
Minjie Wang committed
141
      steps {
Jinjing Zhou's avatar
Jinjing Zhou committed
142
143
144
        // container('dgl-ci-lint') {
          checkout scm
          script {
145
146
              def comment = env.GITHUB_COMMENT
              def author = env.GITHUB_COMMENT_AUTHOR
147
148
              echo("${env.GIT_URL}")
              echo("${env}")
149
              if (!is_authorized(author)) {
150
                error('Not authorized to launch regression tests')
151
152
              }
              dir('benchmark_scripts_repo') {
Jinjing Zhou's avatar
Jinjing Zhou committed
153
154
                checkout([$class: 'GitSCM', branches: [[name: '*/master']],
                        userRemoteConfigs: [[credentialsId: 'github', url: 'https://github.com/dglai/DGL_scripts.git']]])
155
156
157
158
159
              }
              sh('cp benchmark_scripts_repo/benchmark/* benchmarks/scripts/')
              def command_lists = comment.split(' ')
              def instance_type = command_lists[2].replace('.', '')
              if (command_lists.size() != 5) {
Jinjing Zhou's avatar
Jinjing Zhou committed
160
161
              pullRequest.comment('Cannot run the regression test due to unknown command')
              error('Unknown command')
162
              } else {
Jinjing Zhou's avatar
Jinjing Zhou committed
163
              pullRequest.comment("Start the Regression test. View at ${RUN_DISPLAY_URL}")
164
              }
165
              def prNumber = env.BRANCH_NAME.replace('PR-', '')
166
167
              dir('benchmarks/scripts') {
                sh('python3 -m pip install boto3')
168
                sh("PYTHONUNBUFFERED=1 GIT_PR_ID=${prNumber} GIT_URL=${env.GIT_URL} GIT_BRANCH=${env.CHANGE_BRANCH} python3 run_reg_test.py --data-folder ${env.GIT_COMMIT}_${instance_type} --run-cmd '${comment}'")
169
170
171
172
              }
              pullRequest.comment("Finished the Regression test. Result table is at https://dgl-asv-data.s3-us-west-2.amazonaws.com/${env.GIT_COMMIT}_${instance_type}/results/result.csv. Jenkins job link is ${RUN_DISPLAY_URL}. ")
              currentBuild.result = 'SUCCESS'
              return
Jinjing Zhou's avatar
Jinjing Zhou committed
173
174
          }
        // }
175
      }
Minjie Wang's avatar
Minjie Wang committed
176
    }
177
178
    stage('Bot Instruction') {
      agent {
Jinjing Zhou's avatar
Jinjing Zhou committed
179
180
181
182
        docker {
            label 'linux-benchmark-node'
            image 'dgllib/dgl-ci-lint'
            alwaysPull true
Minjie Wang's avatar
Minjie Wang committed
183
        }
184
185
186
187
188
189
190
      }
      steps {
        script {
          def prOpenTriggerCause = currentBuild.getBuildCauses('jenkins.branch.BranchEventCause')
          if (prOpenTriggerCause) {
            if (env.BUILD_ID == '1') {
              pullRequest.comment('To trigger regression tests: \n - `@dgl-bot run [instance-type] [which tests] [compare-with-branch]`; \n For example: `@dgl-bot run g4dn.4xlarge all dmlc/master` or `@dgl-bot run c5.9xlarge kernel,api dmlc/master`')
191
192
            }
          }
193
          echo('Not the first build')
194
        }
Minjie Wang's avatar
Minjie Wang committed
195
196
      }
    }
Jinjing Zhou's avatar
Jinjing Zhou committed
197
198
199
    stage('CI') {
      when { not { triggeredBy 'IssueCommentCause' } }
      stages {
200
201
        stage('Lint Check') {
          agent {
Jinjing Zhou's avatar
Jinjing Zhou committed
202
203
            docker {
              label "linux-cpu-node"
Mufei Li's avatar
Mufei Li committed
204
              image "dgllib/dgl-ci-lint"
Jinjing Zhou's avatar
Jinjing Zhou committed
205
              alwaysPull true
VoVAllen's avatar
VoVAllen committed
206
207
            }
          }
Minjie Wang's avatar
Minjie Wang committed
208
          steps {
209
210
            init_git()
            sh 'bash tests/scripts/task_lint.sh'
VoVAllen's avatar
VoVAllen committed
211
          }
212
213
214
215
216
          post {
            always {
              cleanWs disableDeferredWipeout: true, deleteDirs: true
            }
          }
VoVAllen's avatar
VoVAllen committed
217
        }
Mufei Li's avatar
Mufei Li committed
218

219
220
221
222
        stage('Build') {
          parallel {
            stage('CPU Build') {
              agent {
Jinjing Zhou's avatar
Jinjing Zhou committed
223
224
                docker {
                  label "linux-cpu-node"
225
                  image "dgllib/dgl-ci-cpu:cu101_v220629"
Jinjing Zhou's avatar
Jinjing Zhou committed
226
227
                  args "-u root"
                  alwaysPull true
228
                }
Jinjing Zhou's avatar
Jinjing Zhou committed
229
230
              }
              steps {
231
                build_dgl_linux('cpu')
Jinjing Zhou's avatar
Jinjing Zhou committed
232
              }
233
234
235
236
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
Minjie Wang's avatar
Minjie Wang committed
237
              }
Lingfan Yu's avatar
Lingfan Yu committed
238
            }
239
240
            stage('GPU Build') {
              agent {
Jinjing Zhou's avatar
Jinjing Zhou committed
241
242
                docker {
                  label "linux-cpu-node"
243
                  image "dgllib/dgl-ci-gpu:cu101_v220629"
Jinjing Zhou's avatar
Jinjing Zhou committed
244
245
                  args "-u root"
                  alwaysPull true
246
                }
Minjie Wang's avatar
Minjie Wang committed
247
248
              }
              steps {
249
250
                // sh "nvidia-smi"
                build_dgl_linux('gpu')
Minjie Wang's avatar
Minjie Wang committed
251
              }
252
253
254
255
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
Minjie Wang's avatar
Minjie Wang committed
256
              }
257
            }
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
            stage('PyTorch Cugraph GPU Build') {
              agent {
                docker {
                  label "linux-cpu-node"
                  image "nvcr.io/nvidia/pytorch:22.04-py3"
                  args "-u root"
                  alwaysPull false
                }
              }
              steps {
                build_dgl_linux('cugraph')
              }
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
              }
            }
276
277
278
279
            stage('CPU Build (Win64)') {
              // Windows build machines are manually added to Jenkins master with
              // "windows" label as permanent agents.
              agent { label 'windows' }
Minjie Wang's avatar
Minjie Wang committed
280
              steps {
281
282
283
284
285
286
                build_dgl_win64('cpu')
              }
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
Minjie Wang's avatar
Minjie Wang committed
287
              }
Lingfan Yu's avatar
Lingfan Yu committed
288
            }
289
          // Currently we don't have Windows GPU build machines
290
          }
Lingfan Yu's avatar
Lingfan Yu committed
291
        }
292
293
294
295
        stage('Test') {
          parallel {
            stage('C++ CPU') {
              agent {
Jinjing Zhou's avatar
Jinjing Zhou committed
296
297
                docker {
                  label "linux-cpu-node"
298
                  image "dgllib/dgl-ci-cpu:cu101_v220629"
Jinjing Zhou's avatar
Jinjing Zhou committed
299
                  alwaysPull true
300
301
                }
              }
Minjie Wang's avatar
Minjie Wang committed
302
              steps {
303
304
305
306
307
308
309
310
311
312
                cpp_unit_test_linux('cpu')
              }
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
              }
            }
            stage('C++ GPU') {
              agent {
Jinjing Zhou's avatar
Jinjing Zhou committed
313
314
                docker {
                  label "linux-gpu-node"
315
                  image "dgllib/dgl-ci-gpu:cu101_v220629"
Jinjing Zhou's avatar
Jinjing Zhou committed
316
317
                  args "--runtime nvidia"
                  alwaysPull true
318
319
320
321
                }
              }
              steps {
                cpp_unit_test_linux('gpu')
322
323
324
325
326
              }
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
Minjie Wang's avatar
Minjie Wang committed
327
328
              }
            }
329
330
            stage('C++ CPU (Win64)') {
              agent { label 'windows' }
Minjie Wang's avatar
Minjie Wang committed
331
              steps {
332
333
334
335
336
337
                cpp_unit_test_win64()
              }
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
Minjie Wang's avatar
Minjie Wang committed
338
              }
Minjie Wang's avatar
Minjie Wang committed
339
            }
340
341
            stage('Tensorflow CPU') {
              agent {
Jinjing Zhou's avatar
Jinjing Zhou committed
342
343
                docker {
                  label "linux-cpu-node"
344
                  image "dgllib/dgl-ci-cpu:cu101_v220629"
Jinjing Zhou's avatar
Jinjing Zhou committed
345
                  alwaysPull true
346
347
348
                }
              }
              stages {
349
                stage('Tensorflow CPU Unit test') {
350
351
352
353
354
355
356
357
358
359
                  steps {
                    unit_test_linux('tensorflow', 'cpu')
                  }
                }
              }
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
              }
360
            }
361
362
            stage('Tensorflow GPU') {
              agent {
Jinjing Zhou's avatar
Jinjing Zhou committed
363
364
                docker {
                  label "linux-gpu-node"
365
                  image "dgllib/dgl-ci-gpu:cu101_v220629"
Jinjing Zhou's avatar
Jinjing Zhou committed
366
367
                  args "--runtime nvidia"
                  alwaysPull true
368
369
370
                }
              }
              stages {
371
                stage('Tensorflow GPU Unit test') {
372
373
374
375
376
377
378
379
380
381
                  steps {
                    unit_test_linux('tensorflow', 'gpu')
                  }
                }
              }
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
              }
VoVAllen's avatar
VoVAllen committed
382
            }
383
384
            stage('Torch CPU') {
              agent {
Jinjing Zhou's avatar
Jinjing Zhou committed
385
386
                docker {
                  label "linux-cpu-node"
387
                  image "dgllib/dgl-ci-cpu:cu101_v220629"
Jinjing Zhou's avatar
Jinjing Zhou committed
388
389
                  args "--shm-size=4gb"
                  alwaysPull true
390
391
392
                }
              }
              stages {
393
                stage('Torch CPU Unit test') {
394
395
396
397
                  steps {
                    unit_test_linux('pytorch', 'cpu')
                  }
                }
398
                stage('Torch CPU Example test') {
399
400
401
402
                  steps {
                    example_test_linux('pytorch', 'cpu')
                  }
                }
403
                stage('Torch CPU Tutorial test') {
404
405
406
407
408
409
410
411
412
                  steps {
                    tutorial_test_linux('pytorch')
                  }
                }
              }
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
VoVAllen's avatar
VoVAllen committed
413
              }
Da Zheng's avatar
Da Zheng committed
414
            }
415
416
417
            stage('Torch CPU (Win64)') {
              agent { label 'windows' }
              stages {
418
                stage('Torch CPU (Win64) Unit test') {
419
420
421
422
                  steps {
                    unit_test_win64('pytorch', 'cpu')
                  }
                }
423
                stage('Torch CPU (Win64) Example test') {
424
425
426
427
428
429
430
431
432
433
                  steps {
                    example_test_win64('pytorch', 'cpu')
                  }
                }
              }
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
              }
434
            }
435
436
            stage('Torch GPU') {
              agent {
Jinjing Zhou's avatar
Jinjing Zhou committed
437
438
                docker {
                  label "linux-gpu-node"
439
                  image "dgllib/dgl-ci-gpu:cu101_v220629"
Jinjing Zhou's avatar
Jinjing Zhou committed
440
441
                  args "--runtime nvidia --shm-size=8gb"
                  alwaysPull true
442
443
444
                }
              }
              stages {
445
                stage('Torch GPU Unit test') {
446
447
448
449
450
                  steps {
                    sh 'nvidia-smi'
                    unit_test_linux('pytorch', 'gpu')
                  }
                }
451
                stage('Torch GPU Example test') {
452
453
454
455
456
457
458
459
460
461
                  steps {
                    example_test_linux('pytorch', 'gpu')
                  }
                }
              }
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
              }
462
            }
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
            stage('Distributed') {
              agent {
                docker {
                  label "linux-cpu-node"
                  image "dgllib/dgl-ci-cpu:cu101_v220629"
                  args "--shm-size=4gb"
                  alwaysPull true
                }
              }
              stages {
                stage('Distributed Torch CPU Unit test') {
                  steps {
                    unit_distributed_linux('pytorch', 'cpu')
                  }
                }
              }
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
              }
            }
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
            stage('PyTorch Cugraph GPU') {
              agent {
                docker {
                  label "linux-gpu-node"
                  image "nvcr.io/nvidia/pytorch:22.04-py3"
                  args "--runtime nvidia --shm-size=8gb"
                  alwaysPull false
                }
              }
              stages {
                stage('PyTorch Cugraph GPU Unit test') {
                  steps {
                    sh 'nvidia-smi'
                    unit_test_cugraph('pytorch', 'cugraph')
                  }
                }
              }
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
              }
            }
508
509
            stage('MXNet CPU') {
              agent {
Jinjing Zhou's avatar
Jinjing Zhou committed
510
511
                docker {
                  label "linux-cpu-node"
512
                  image "dgllib/dgl-ci-cpu:cu101_v220629"
Jinjing Zhou's avatar
Jinjing Zhou committed
513
                  alwaysPull true
514
515
516
                }
              }
              stages {
517
                stage('MXNet CPU Unit test') {
518
519
520
521
522
523
524
525
526
                  steps {
                    unit_test_linux('mxnet', 'cpu')
                  }
                }
              }
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
527
528
              }
            }
529
530
            stage('MXNet GPU') {
              agent {
Jinjing Zhou's avatar
Jinjing Zhou committed
531
532
                docker {
                  label "linux-gpu-node"
533
                  image "dgllib/dgl-ci-gpu:cu101_v220629"
Jinjing Zhou's avatar
Jinjing Zhou committed
534
535
                  args "--runtime nvidia"
                  alwaysPull true
536
537
538
                }
              }
              stages {
539
                stage('MXNet GPU Unit test') {
540
541
542
543
544
545
546
547
548
549
550
                  steps {
                    sh 'nvidia-smi'
                    unit_test_linux('mxnet', 'gpu')
                  }
                }
              }
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
              }
551
            }
Minjie Wang's avatar
Minjie Wang committed
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
            stage('DGL-Go') {
              agent {
                docker {
                  label "linux-cpu-node"
                  image "dgllib/dgl-ci-cpu:cu101_v220629"
                  alwaysPull true
                }
              }
              stages {
                stage('DGL-Go CPU test') {
                  steps {
                    go_test_linux()
                  }
                }
              }
              post {
                always {
                  cleanWs disableDeferredWipeout: true, deleteDirs: true
                }
              }
            }
573
574
          }
        }
Minjie Wang's avatar
Minjie Wang committed
575
      }
Minjie Wang's avatar
Minjie Wang committed
576
    }
Minjie Wang's avatar
Minjie Wang committed
577
  }
578
579
  post {
    always {
580
      script {
581
        node("dglci-post-linux") {
582
583
584
585
          docker.image('dgllib/dgl-ci-awscli:v220418').inside("--pull always --entrypoint=''") {
            sh("rm -rf ci_tmp")
            dir('ci_tmp') {
              sh("curl -o cireport.log ${BUILD_URL}consoleText")
Rhett Ying's avatar
Rhett Ying committed
586
587
              sh("curl -o report.py https://raw.githubusercontent.com/dmlc/dgl/master/tests/scripts/ci_report/report.py")
              sh("curl -o status.py https://raw.githubusercontent.com/dmlc/dgl/master/tests/scripts/ci_report/status.py")
588
589
590
591
592
593
594
595
              sh("curl -L ${BUILD_URL}wfapi")
              sh("cat status.py")
              sh("pytest --html=report.html --self-contained-html report.py || true")
              sh("aws s3 sync ./ s3://dgl-ci-result/${JOB_NAME}/${BUILD_NUMBER}/${BUILD_ID}/logs/  --exclude '*' --include '*.log' --acl public-read --content-type text/plain")
              sh("aws s3 sync ./ s3://dgl-ci-result/${JOB_NAME}/${BUILD_NUMBER}/${BUILD_ID}/logs/  --exclude '*.log' --acl public-read")

              def comment = sh(returnStdout: true, script: "python3 status.py").trim()
              echo(comment)
596
597
598
              if ((env.BRANCH_NAME).startsWith('PR-')) {
                pullRequest.comment(comment)
              }
599
600
601
602
603
604
            }
          }
        }
        node('windows') {
            bat(script: "rmvirtualenv ${BUILD_TAG}", returnStatus: true)
        }
605
606
607
      }
    }
  }
Minjie Wang's avatar
Minjie Wang committed
608
}