comaniac commented on a change in pull request #9823:
URL: https://github.com/apache/tvm/pull/9823#discussion_r778264177



##########
File path: Jenkinsfile
##########
@@ -255,221 +267,184 @@ stage('Build') {
     }
   },
   'BUILD: CPU': {
-    if (is_docs_only_build != 1) {
-      node('CPU') {
-        ws(per_exec_ws('tvm/build-cpu')) {
-          init_git()
+    run_or_skip_node('CPU', 'BUILD: CPU', is_docs_only_build) {
+      ws(per_exec_ws('tvm/build-cpu')) {
+        init_git()
+        sh (
+          script: "${docker_run} ${ci_cpu} 
./tests/scripts/task_config_build_cpu.sh",
+          label: "Create CPU cmake config",
+        )
+        make(ci_cpu, 'build', '-j2')
+        pack_lib('cpu', tvm_multilib_tsim)
+        timeout(time: max_time, unit: 'MINUTES') {
+          ci_setup(ci_cpu)
+          python_unittest(ci_cpu)
+          fsim_test(ci_cpu)
           sh (
-            script: "${docker_run} ${ci_cpu} 
./tests/scripts/task_config_build_cpu.sh",
-            label: "Create CPU cmake config",
+            script: "${docker_run} ${ci_cpu} 
./tests/scripts/task_python_vta_tsim.sh",
+            label: "Run VTA tests in TSIM",
           )
-          make(ci_cpu, 'build', '-j2')
-          pack_lib('cpu', tvm_multilib_tsim)
-          timeout(time: max_time, unit: 'MINUTES') {
-            ci_setup(ci_cpu)
-            python_unittest(ci_cpu)
-            fsim_test(ci_cpu)
-            sh (
-              script: "${docker_run} ${ci_cpu} 
./tests/scripts/task_python_vta_tsim.sh",
-              label: "Run VTA tests in TSIM",
-            )
-            // sh "${docker_run} ${ci_cpu} ./tests/scripts/task_golang.sh"
-            // TODO(@jroesch): need to resolve CI issue will turn back on in 
follow up patch
-            sh (script: "${docker_run} ${ci_cpu} 
./tests/scripts/task_rust.sh", label: "Rust build and test")
-            junit "build/pytest-results/*.xml"
-          }
+          // sh "${docker_run} ${ci_cpu} ./tests/scripts/task_golang.sh"
+          // TODO(@jroesch): need to resolve CI issue will turn back on in 
follow up patch
+          sh (script: "${docker_run} ${ci_cpu} ./tests/scripts/task_rust.sh", 
label: "Rust build and test")
+          junit "build/pytest-results/*.xml"
         }
       }
-    } else {
-      Utils.markStageSkippedForConditional('BUILD: CPU')
     }
   },
   'BUILD: WASM': {
-    if (is_docs_only_build != 1) {
-      node('CPU') {
-        ws(per_exec_ws('tvm/build-wasm')) {
-          init_git()
+    run_or_skip_node('CPU', 'BUILD: WASM', is_docs_only_build) {
+      ws(per_exec_ws('tvm/build-wasm')) {
+        init_git()
+        sh (
+          script: "${docker_run} ${ci_wasm} 
./tests/scripts/task_config_build_wasm.sh",
+          label: "Create WASM cmake config",
+        )
+        make(ci_wasm, 'build', '-j2')
+        timeout(time: max_time, unit: 'MINUTES') {
+          ci_setup(ci_wasm)
           sh (
-            script: "${docker_run} ${ci_wasm} 
./tests/scripts/task_config_build_wasm.sh",
-            label: "Create WASM cmake config",
+            script: "${docker_run} ${ci_wasm} 
./tests/scripts/task_web_wasm.sh",
+            label: "Run WASM lint and tests",
           )
-          make(ci_wasm, 'build', '-j2')
-          timeout(time: max_time, unit: 'MINUTES') {
-            ci_setup(ci_wasm)
-            sh (
-              script: "${docker_run} ${ci_wasm} 
./tests/scripts/task_web_wasm.sh",
-              label: "Run WASM lint and tests",
-            )
-          }
         }
       }
-    } else {
-      Utils.markStageSkippedForConditional('BUILD: WASM')
     }
   },
   'BUILD: i386': {
-    if ( is_docs_only_build != 1) {
-      node('CPU') {
-        ws(per_exec_ws('tvm/build-i386')) {
-          init_git()
-          sh (
-            script: "${docker_run} ${ci_i386} 
./tests/scripts/task_config_build_i386.sh",
-            label: "Create i386 cmake config",
-          )
-          make(ci_i386, 'build', '-j2')
-          pack_lib('i386', tvm_multilib_tsim)
-        }
+    run_or_skip_node('CPU', 'BUILD: i386', is_docs_only_build) {
+      ws(per_exec_ws('tvm/build-i386')) {
+        init_git()
+        sh (
+          script: "${docker_run} ${ci_i386} 
./tests/scripts/task_config_build_i386.sh",
+          label: "Create i386 cmake config",
+        )
+        make(ci_i386, 'build', '-j2')
+        pack_lib('i386', tvm_multilib_tsim)
       }
-    } else {
-      Utils.markStageSkippedForConditional('BUILD: i386')
     }
   },
   'BUILD: arm': {
-    if (is_docs_only_build != 1) {
-      node('ARM') {
-        ws(per_exec_ws('tvm/build-arm')) {
-          init_git()
-          sh (
-            script: "${docker_run} ${ci_arm} 
./tests/scripts/task_config_build_arm.sh",
-            label: "Create ARM cmake config",
-          )
-          make(ci_arm, 'build', '-j4')
-          pack_lib('arm', tvm_multilib)
-        }
+    run_or_skip_node('ARM', 'BUILD: arm', is_docs_only_build) {
+      ws(per_exec_ws('tvm/build-arm')) {
+        init_git()
+        sh (
+          script: "${docker_run} ${ci_arm} 
./tests/scripts/task_config_build_arm.sh",
+          label: "Create ARM cmake config",
+        )
+        make(ci_arm, 'build', '-j4')
+        pack_lib('arm', tvm_multilib)
       }
-     } else {
-      Utils.markStageSkippedForConditional('BUILD: arm')
     }
   },
   'BUILD: QEMU': {
-    if (is_docs_only_build != 1) {
-      node('CPU') {
-        ws(per_exec_ws('tvm/build-qemu')) {
-          init_git()
+    run_or_skip_node('CPU', 'BUILD: QEMU', is_docs_only_build) {
+      ws(per_exec_ws('tvm/build-qemu')) {
+        init_git()
+        sh (
+          script: "${docker_run} ${ci_qemu} 
./tests/scripts/task_config_build_qemu.sh",
+          label: "Create QEMU cmake config",
+        )
+        make(ci_qemu, 'build', '-j2')
+        timeout(time: max_time, unit: 'MINUTES') {
+          ci_setup(ci_qemu)
           sh (
-            script: "${docker_run} ${ci_qemu} 
./tests/scripts/task_config_build_qemu.sh",
-            label: "Create QEMU cmake config",
+            script: "${docker_run} ${ci_qemu} 
./tests/scripts/task_python_microtvm.sh",
+            label: "Run microTVM tests",
           )
-          make(ci_qemu, 'build', '-j2')
-          timeout(time: max_time, unit: 'MINUTES') {
-            ci_setup(ci_qemu)
-            sh (
-              script: "${docker_run} ${ci_qemu} 
./tests/scripts/task_python_microtvm.sh",
-              label: "Run microTVM tests",
-            )
-            junit "build/pytest-results/*.xml"
-          }
+          junit "build/pytest-results/*.xml"
         }
       }
-     } else {
-      Utils.markStageSkippedForConditional('BUILD: QEMU')
     }
   }
 }
 
 stage('Unit Test') {
     parallel 'python3: GPU': {
-      if (is_docs_only_build != 1) {
-        node('TensorCore') {
-          ws(per_exec_ws('tvm/ut-python-gpu')) {
-            init_git()
-            unpack_lib('gpu', tvm_multilib)
-            timeout(time: max_time, unit: 'MINUTES') {
-              ci_setup(ci_gpu)
-              sh (
-                script: "${docker_run} ${ci_gpu} 
./tests/scripts/task_sphinx_precheck.sh",
-                label: "Check Sphinx warnings in docs",
-              )
-              sh (
-                script: "${docker_run} ${ci_gpu} 
./tests/scripts/task_java_unittest.sh",
-                label: "Run Java unit tests",
-              )
-              sh (
-                script: "${docker_run} ${ci_gpu} 
./tests/scripts/task_python_unittest_gpuonly.sh",
-                label: "Run Python GPU unit tests",
-              )
-              sh (
-                script: "${docker_run} ${ci_gpu} 
./tests/scripts/task_python_integration_gpuonly.sh",
-                label: "Run Python GPU integration tests",
-              )
-              junit "build/pytest-results/*.xml"
-            }
+      run_or_skip_node('TensorCore', 'python3: GPU', is_docs_only_build) {
+        ws(per_exec_ws('tvm/ut-python-gpu')) {
+          init_git()
+          unpack_lib('gpu', tvm_multilib)
+          timeout(time: max_time, unit: 'MINUTES') {
+            ci_setup(ci_gpu)
+            sh (
+              script: "${docker_run} ${ci_gpu} 
./tests/scripts/task_sphinx_precheck.sh",
+              label: "Check Sphinx warnings in docs",
+            )
+            sh (
+              script: "${docker_run} ${ci_gpu} 
./tests/scripts/task_java_unittest.sh",
+              label: "Run Java unit tests",
+            )
+            sh (
+              script: "${docker_run} ${ci_gpu} 
./tests/scripts/task_python_unittest_gpuonly.sh",
+              label: "Run Python GPU unit tests",
+            )
+            sh (
+              script: "${docker_run} ${ci_gpu} 
./tests/scripts/task_python_integration_gpuonly.sh",
+              label: "Run Python GPU integration tests",
+            )
+            junit "build/pytest-results/*.xml"
           }
         }
-      } else {
-        Utils.markStageSkippedForConditional('python3: GPU')
       }
     },
     'python3: CPU': {
-      if (is_docs_only_build != 1) {
-        node('CPU') {
-          ws(per_exec_ws("tvm/ut-python-cpu")) {
-            init_git()
-            unpack_lib('cpu', tvm_multilib_tsim)
-            timeout(time: max_time, unit: 'MINUTES') {
-              ci_setup(ci_cpu)
-              sh (
-                script: "${docker_run} ${ci_cpu} 
./tests/scripts/task_python_integration.sh",
-                label: "Run CPU integration tests",
-              )
-              junit "build/pytest-results/*.xml"
-            }
+      run_or_skip_node('CPU', 'python3: CPU', is_docs_only_build) {
+        ws(per_exec_ws("tvm/ut-python-cpu")) {
+          init_git()
+          unpack_lib('cpu', tvm_multilib_tsim)
+          timeout(time: max_time, unit: 'MINUTES') {
+            ci_setup(ci_cpu)
+            sh (
+              script: "${docker_run} ${ci_cpu} 
./tests/scripts/task_python_integration.sh",
+              label: "Run CPU integration tests",
+            )
+            junit "build/pytest-results/*.xml"
           }
         }
-      } else {
-        Utils.markStageSkippedForConditional('python3: CPU')
       }
     },
     'python3: i386': {
-      if (is_docs_only_build != 1) {
-        node('CPU') {
-          ws(per_exec_ws('tvm/ut-python-i386')) {
-            init_git()
-            unpack_lib('i386', tvm_multilib)
-            timeout(time: max_time, unit: 'MINUTES') {
-              ci_setup(ci_i386)
-              python_unittest(ci_i386)
-              sh (
-                script: "${docker_run} ${ci_i386} 
./tests/scripts/task_python_integration_i386only.sh",
-                label: "Run i386 integration tests",
-              )
-              fsim_test(ci_i386)
-              junit "build/pytest-results/*.xml"
-            }
+      run_or_skip_node('CPU', 'python3: i386', is_docs_only_build) {
+        ws(per_exec_ws('tvm/ut-python-i386')) {
+          init_git()
+          unpack_lib('i386', tvm_multilib)
+          timeout(time: max_time, unit: 'MINUTES') {
+            ci_setup(ci_i386)
+            python_unittest(ci_i386)
+            sh (
+              script: "${docker_run} ${ci_i386} 
./tests/scripts/task_python_integration_i386only.sh",
+              label: "Run i386 integration tests",
+            )
+            fsim_test(ci_i386)
+            junit "build/pytest-results/*.xml"
           }
         }
-     } else {
-        Utils.markStageSkippedForConditional('python3: i386')
       }
     },
     'python3: arm': {
-      if (is_docs_only_build != 1) {
-        node('ARM') {
-          ws(per_exec_ws('tvm/ut-python-arm')) {
-            init_git()
-            unpack_lib('arm', tvm_multilib)
-            timeout(time: max_time, unit: 'MINUTES') {
-              ci_setup(ci_arm)
-              python_unittest(ci_arm)
-              sh (
-                script: "${docker_run} ${ci_arm} 
./tests/scripts/task_python_arm_compute_library.sh",
-                label: "Run test_arm_compute_lib test",
-              )
-              junit "build/pytest-results/*.xml"
-            // sh "${docker_run} ${ci_arm} 
./tests/scripts/task_python_integration.sh"
-            }
+      run_or_skip_node('ARM', 'python3: arm', is_docs_only_build) {
+        ws(per_exec_ws('tvm/ut-python-arm')) {
+          init_git()
+          unpack_lib('arm', tvm_multilib)
+          timeout(time: max_time, unit: 'MINUTES') {
+            ci_setup(ci_arm)
+            python_unittest(ci_arm)
+            sh (
+              script: "${docker_run} ${ci_arm} 
./tests/scripts/task_python_arm_compute_library.sh",
+              label: "Run test_arm_compute_lib test",
+            )
+            junit "build/pytest-results/*.xml"
+          // sh "${docker_run} ${ci_arm} 
./tests/scripts/task_python_integration.sh"

Review comment:
       ```suggestion
               // sh "${docker_run} ${ci_arm} 
./tests/scripts/task_python_integration.sh"
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to