Skip to content

Commit 7a08ae4

Browse files
authored
[CI] Split Integration tests out of first phase of pipeline (#9128)
* [CI] Split Integration tests out of first phase of pipeline I took a look at the time taken by each stage in the Jenkins pipeline and what comprises the 6 hour CI build time. CPU Integration tests took `65` minutes of the `100` minutes of `Build: CPU`. By adding `python3: CPU` with just those Integration tests, it lines up with `python3: GPU` and `python3: i386` which both take a similar amount of time and takes roughly 60 minutes off the overall run time. Numbers copied from sample successful run (final time approx: 358 minutes): |Phase|ID |Job |Minutes |Start| |-----|-----------------------------|------|---------------------------------------------|-----| |0 |0 |Sanity|3 |0 | |1 |0 |BUILD: arm|2 |3 | |1 |1 |BUILD: i386|33 |3 | |1 |2 |BUILD: CPU|100 |3 | |1 |3 |BUILD: GPU|25 |3 | |1 |4 |BUILD: QEMU|6 |3 | |1 |5 |BUILD: WASM|2 |3 | |2 |0 |java: GPU|1 |103 | |2 |1 |python3: GPU|66 |103 | |2 |2 |python3: arm|22 |103 | |2 |3 |python3: i386|70 |103 | |3 |0 |docs: GPU|3 |173 | |3 |1 |frontend: CPU|40 |173 | |3 |2 |frontend: GPU|185 |173 | |3 |3 |topi: GPU|110 |173 | | | | | | | Numbers predicted after change (final time approx: 293 minutes): |Phase|ID |Job |Minutes |Start| |-----|-----------------------------|------|---------------------------------------------|-----| |0 |0 |Sanity|3 |0 | |1 |0 |BUILD: arm|2 |3 | |1 |1 |BUILD: i386|33 |3 | |1 |2 |BUILD: CPU|35 |3 | |1 |3 |BUILD: GPU|25 |3 | |1 |4 |BUILD: QEMU|6 |3 | |1 |5 |BUILD: WASM|2 |3 | |2 |0 |java: GPU|1 |38 | |2 |1 |python3: GPU|66 |38 | |2 |2 |python3: arm|22 |38 | |2 |3 |python3: i386|70 |38 | |2 |4 |python3: CPU|60 |38 | |3 |0 |docs: GPU|3 |108 | |3 |1 |frontend: CPU|40 |108 | |3 |2 |frontend: GPU|185 |108 | |3 |3 |topi: GPU|110 |108 | * Fix typo in ci_cpu commands
1 parent f76e141 commit 7a08ae4

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

Jenkinsfile

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,6 @@ stage('Build') {
224224
timeout(time: max_time, unit: 'MINUTES') {
225225
sh "${docker_run} ${ci_cpu} ./tests/scripts/task_ci_setup.sh"
226226
sh "${docker_run} ${ci_cpu} ./tests/scripts/task_python_unittest.sh"
227-
sh "${docker_run} ${ci_cpu} ./tests/scripts/task_python_integration.sh"
228227
sh "${docker_run} ${ci_cpu} ./tests/scripts/task_python_vta_fsim.sh"
229228
sh "${docker_run} ${ci_cpu} ./tests/scripts/task_python_vta_tsim.sh"
230229
// sh "${docker_run} ${ci_cpu} ./tests/scripts/task_golang.sh"
@@ -300,6 +299,19 @@ stage('Unit Test') {
300299
}
301300
}
302301
},
302+
'python3: CPU': {
303+
node('CPU') {
304+
ws(per_exec_ws("tvm/ut-python-cpu")) {
305+
init_git()
306+
unpack_lib('cpu', tvm_multilib_tsim)
307+
timeout(time: max_time, unit: 'MINUTES') {
308+
sh "${docker_run} ${ci_cpu} ./tests/scripts/task_ci_setup.sh"
309+
sh "${docker_run} ${ci_cpu} ./tests/scripts/task_python_integration.sh"
310+
junit "build/pytest-results/*.xml"
311+
}
312+
}
313+
}
314+
},
303315
'python3: i386': {
304316
node('CPU') {
305317
ws(per_exec_ws("tvm/ut-python-i386")) {

0 commit comments

Comments
 (0)