Skip to content

Commit 71191ff

Browse files
committed
[ci] Add local test re-run info
This adds a note about `ci.py` with relevant tests when failures are detected. This should help advertise `ci.py` and make it more clear how to reproduce failures locally. This also adds a long link that makes it a short process to report a test on a build as flaky.
1 parent 876e253 commit 71191ff

File tree

5 files changed

+299
-80
lines changed

5 files changed

+299
-80
lines changed

Jenkinsfile

Lines changed: 85 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
// 'python3 jenkins/generate.py'
4646
// Note: This timestamp is here to ensure that updates to the Jenkinsfile are
4747
// always rebased on main before merging:
48-
// Generated at 2022-04-21T08:18:57.400427
48+
// Generated at 2022-04-21T11:59:11.983392
4949

5050
import org.jenkinsci.plugins.pipeline.modeldefinition.Utils
5151
// NOTE: these lines are scanned by docker/dev_common.sh. Please update the regex as needed. -->
@@ -89,7 +89,7 @@ microtvm_lib = 'build/microtvm_template_projects.tar.gz, ' + tvm_lib
8989
upstream_revision = null
9090

9191
// command to start a docker container
92-
docker_run = 'docker/bash.sh --env CI --env TVM_SHARD_INDEX --env TVM_NUM_SHARDS'
92+
docker_run = 'docker/bash.sh --env CI --env TVM_SHARD_INDEX --env TVM_NUM_SHARDS --env RUN_DISPLAY_URL --env PLATFORM'
9393
docker_build = 'docker/build.sh'
9494
// timeout in minutes
9595
max_time = 240
@@ -623,6 +623,7 @@ stage('Test') {
623623
init_git()
624624
timeout(time: max_time, unit: 'MINUTES') {
625625
withEnv([
626+
'PLATFORM=gpu',
626627
'TVM_NUM_SHARDS=2',
627628
'TVM_SHARD_INDEX=0'], {
628629
unpack_lib('gpu2', tvm_multilib)
@@ -662,6 +663,7 @@ stage('Test') {
662663
init_git()
663664
timeout(time: max_time, unit: 'MINUTES') {
664665
withEnv([
666+
'PLATFORM=gpu',
665667
'TVM_NUM_SHARDS=2',
666668
'TVM_SHARD_INDEX=1'], {
667669
unpack_lib('gpu2', tvm_multilib)
@@ -701,6 +703,7 @@ stage('Test') {
701703
init_git()
702704
timeout(time: max_time, unit: 'MINUTES') {
703705
withEnv([
706+
'PLATFORM=cpu',
704707
'TVM_NUM_SHARDS=2',
705708
'TVM_SHARD_INDEX=0'], {
706709
unpack_lib('cpu', tvm_multilib_tsim)
@@ -728,6 +731,7 @@ stage('Test') {
728731
init_git()
729732
timeout(time: max_time, unit: 'MINUTES') {
730733
withEnv([
734+
'PLATFORM=cpu',
731735
'TVM_NUM_SHARDS=2',
732736
'TVM_SHARD_INDEX=1'], {
733737
unpack_lib('cpu', tvm_multilib_tsim)
@@ -754,15 +758,17 @@ stage('Test') {
754758
timeout(time: max_time, unit: 'MINUTES') {
755759
try {
756760
init_git()
757-
unpack_lib('cpu', tvm_multilib_tsim)
758-
ci_setup(ci_cpu)
759-
cpp_unittest(ci_cpu)
760-
python_unittest(ci_cpu)
761-
fsim_test(ci_cpu)
762-
sh (
763-
script: "${docker_run} ${ci_cpu} ./tests/scripts/task_python_vta_tsim.sh",
764-
label: 'Run VTA tests in TSIM',
765-
)
761+
withEnv(['PLATFORM=cpu'], {
762+
unpack_lib('cpu', tvm_multilib_tsim)
763+
ci_setup(ci_cpu)
764+
cpp_unittest(ci_cpu)
765+
python_unittest(ci_cpu)
766+
fsim_test(ci_cpu)
767+
sh (
768+
script: "${docker_run} ${ci_cpu} ./tests/scripts/task_python_vta_tsim.sh",
769+
label: 'Run VTA tests in TSIM',
770+
)
771+
})
766772
} finally {
767773
junit 'build/pytest-results/*.xml'
768774
}
@@ -781,6 +787,7 @@ stage('Test') {
781787
init_git()
782788
timeout(time: max_time, unit: 'MINUTES') {
783789
withEnv([
790+
'PLATFORM=i386',
784791
'TVM_NUM_SHARDS=2',
785792
'TVM_SHARD_INDEX=0'], {
786793
unpack_lib('i386', tvm_multilib)
@@ -811,6 +818,7 @@ stage('Test') {
811818
init_git()
812819
timeout(time: max_time, unit: 'MINUTES') {
813820
withEnv([
821+
'PLATFORM=i386',
814822
'TVM_NUM_SHARDS=2',
815823
'TVM_SHARD_INDEX=1'], {
816824
unpack_lib('i386', tvm_multilib)
@@ -840,17 +848,19 @@ stage('Test') {
840848
timeout(time: max_time, unit: 'MINUTES') {
841849
try {
842850
init_git()
843-
unpack_lib('hexagon', tvm_lib)
844-
ci_setup(ci_hexagon)
845-
cpp_unittest(ci_hexagon)
846-
sh (
847-
script: "${docker_run} ${ci_hexagon} ./tests/scripts/task_build_hexagon_api.sh",
848-
label: 'Build Hexagon API',
849-
)
850-
sh (
851-
script: "${docker_run} ${ci_hexagon} ./tests/scripts/task_python_hexagon.sh",
852-
label: 'Run Hexagon tests',
853-
)
851+
withEnv(['PLATFORM=hexagon'], {
852+
unpack_lib('hexagon', tvm_lib)
853+
ci_setup(ci_hexagon)
854+
cpp_unittest(ci_hexagon)
855+
sh (
856+
script: "${docker_run} ${ci_hexagon} ./tests/scripts/task_build_hexagon_api.sh",
857+
label: 'Build Hexagon API',
858+
)
859+
sh (
860+
script: "${docker_run} ${ci_hexagon} ./tests/scripts/task_python_hexagon.sh",
861+
label: 'Run Hexagon tests',
862+
)
863+
})
854864
} finally {
855865
junit 'build/pytest-results/*.xml'
856866
}
@@ -868,21 +878,23 @@ stage('Test') {
868878
timeout(time: max_time, unit: 'MINUTES') {
869879
try {
870880
init_git()
871-
unpack_lib('qemu', microtvm_lib)
872-
sh(
873-
script: 'cd build && tar -xzvf microtvm_template_projects.tar.gz',
874-
label: 'Unpack microtvm_template_projects'
875-
)
876-
ci_setup(ci_qemu)
877-
cpp_unittest(ci_qemu)
878-
sh (
879-
script: "${docker_run} ${ci_qemu} ./tests/scripts/task_python_microtvm.sh",
880-
label: 'Run microTVM tests',
881-
)
882-
sh (
883-
script: "${docker_run} ${ci_qemu} ./tests/scripts/task_demo_microtvm.sh",
884-
label: 'Run microTVM demos',
885-
)
881+
withEnv(['PLATFORM=qemu'], {
882+
unpack_lib('qemu', microtvm_lib)
883+
sh(
884+
script: 'cd build && tar -xzvf microtvm_template_projects.tar.gz',
885+
label: 'Unpack microtvm_template_projects'
886+
)
887+
ci_setup(ci_qemu)
888+
cpp_unittest(ci_qemu)
889+
sh (
890+
script: "${docker_run} ${ci_qemu} ./tests/scripts/task_python_microtvm.sh",
891+
label: 'Run microTVM tests',
892+
)
893+
sh (
894+
script: "${docker_run} ${ci_qemu} ./tests/scripts/task_demo_microtvm.sh",
895+
label: 'Run microTVM demos',
896+
)
897+
})
886898
} finally {
887899
junit 'build/pytest-results/*.xml'
888900
}
@@ -900,17 +912,19 @@ stage('Test') {
900912
timeout(time: max_time, unit: 'MINUTES') {
901913
try {
902914
init_git()
903-
unpack_lib('arm', tvm_multilib)
904-
ci_setup(ci_arm)
905-
cpp_unittest(ci_arm)
906-
sh (
907-
script: "${docker_run} ${ci_arm} ./tests/scripts/task_python_arm_compute_library.sh",
908-
label: 'Run test_arm_compute_lib test',
909-
)
910-
sh (
911-
script: "${docker_run} ${ci_arm} ./tests/scripts/task_python_topi.sh",
912-
label: 'Run TOPI tests',
913-
)
915+
withEnv(['PLATFORM=arm'], {
916+
unpack_lib('arm', tvm_multilib)
917+
ci_setup(ci_arm)
918+
cpp_unittest(ci_arm)
919+
sh (
920+
script: "${docker_run} ${ci_arm} ./tests/scripts/task_python_arm_compute_library.sh",
921+
label: 'Run test_arm_compute_lib test',
922+
)
923+
sh (
924+
script: "${docker_run} ${ci_arm} ./tests/scripts/task_python_topi.sh",
925+
label: 'Run TOPI tests',
926+
)
927+
})
914928
} finally {
915929
junit 'build/pytest-results/*.xml'
916930
}
@@ -929,6 +943,7 @@ stage('Test') {
929943
init_git()
930944
timeout(time: max_time, unit: 'MINUTES') {
931945
withEnv([
946+
'PLATFORM=arm',
932947
'TVM_NUM_SHARDS=2',
933948
'TVM_SHARD_INDEX=0'], {
934949
unpack_lib('arm', tvm_multilib)
@@ -957,6 +972,7 @@ stage('Test') {
957972
init_git()
958973
timeout(time: max_time, unit: 'MINUTES') {
959974
withEnv([
975+
'PLATFORM=arm',
960976
'TVM_NUM_SHARDS=2',
961977
'TVM_SHARD_INDEX=1'], {
962978
unpack_lib('arm', tvm_multilib)
@@ -985,6 +1001,7 @@ stage('Test') {
9851001
init_git()
9861002
timeout(time: max_time, unit: 'MINUTES') {
9871003
withEnv([
1004+
'PLATFORM=gpu',
9881005
'TVM_NUM_SHARDS=2',
9891006
'TVM_SHARD_INDEX=0'], {
9901007
unpack_lib('gpu', tvm_multilib)
@@ -1012,6 +1029,7 @@ stage('Test') {
10121029
init_git()
10131030
timeout(time: max_time, unit: 'MINUTES') {
10141031
withEnv([
1032+
'PLATFORM=gpu',
10151033
'TVM_NUM_SHARDS=2',
10161034
'TVM_SHARD_INDEX=1'], {
10171035
unpack_lib('gpu', tvm_multilib)
@@ -1039,6 +1057,7 @@ stage('Test') {
10391057
init_git()
10401058
timeout(time: max_time, unit: 'MINUTES') {
10411059
withEnv([
1060+
'PLATFORM=gpu',
10421061
'TVM_NUM_SHARDS=3',
10431062
'TVM_SHARD_INDEX=0'], {
10441063
unpack_lib('gpu', tvm_multilib)
@@ -1066,6 +1085,7 @@ stage('Test') {
10661085
init_git()
10671086
timeout(time: max_time, unit: 'MINUTES') {
10681087
withEnv([
1088+
'PLATFORM=gpu',
10691089
'TVM_NUM_SHARDS=3',
10701090
'TVM_SHARD_INDEX=1'], {
10711091
unpack_lib('gpu', tvm_multilib)
@@ -1093,6 +1113,7 @@ stage('Test') {
10931113
init_git()
10941114
timeout(time: max_time, unit: 'MINUTES') {
10951115
withEnv([
1116+
'PLATFORM=gpu',
10961117
'TVM_NUM_SHARDS=3',
10971118
'TVM_SHARD_INDEX=2'], {
10981119
unpack_lib('gpu', tvm_multilib)
@@ -1119,12 +1140,14 @@ stage('Test') {
11191140
timeout(time: max_time, unit: 'MINUTES') {
11201141
try {
11211142
init_git()
1122-
unpack_lib('cpu', tvm_multilib)
1123-
ci_setup(ci_cpu)
1124-
sh (
1125-
script: "${docker_run} ${ci_cpu} ./tests/scripts/task_python_frontend_cpu.sh",
1126-
label: 'Run Python frontend tests',
1127-
)
1143+
withEnv(['PLATFORM=cpu'], {
1144+
unpack_lib('cpu', tvm_multilib)
1145+
ci_setup(ci_cpu)
1146+
sh (
1147+
script: "${docker_run} ${ci_cpu} ./tests/scripts/task_python_frontend_cpu.sh",
1148+
label: 'Run Python frontend tests',
1149+
)
1150+
})
11281151
} finally {
11291152
junit 'build/pytest-results/*.xml'
11301153
}
@@ -1142,12 +1165,14 @@ stage('Test') {
11421165
timeout(time: max_time, unit: 'MINUTES') {
11431166
try {
11441167
init_git()
1145-
unpack_lib('arm', tvm_multilib)
1146-
ci_setup(ci_arm)
1147-
sh (
1148-
script: "${docker_run} ${ci_arm} ./tests/scripts/task_python_frontend_cpu.sh",
1149-
label: 'Run Python frontend tests',
1150-
)
1168+
withEnv(['PLATFORM=arm'], {
1169+
unpack_lib('arm', tvm_multilib)
1170+
ci_setup(ci_arm)
1171+
sh (
1172+
script: "${docker_run} ${ci_arm} ./tests/scripts/task_python_frontend_cpu.sh",
1173+
label: 'Run Python frontend tests',
1174+
)
1175+
})
11511176
} finally {
11521177
junit 'build/pytest-results/*.xml'
11531178
}

0 commit comments

Comments
 (0)