@@ -950,21 +950,21 @@ def launchStages(pipeline, reuseBuild, testFilter, enableFailFast, globalVars)
950
950
}
951
951
}
952
952
953
- def requireMultiGpuTesting = currentBuild. description?. contains(" Require Multi-GPU Testing" ) ?: false
953
+ def requireMultiGpuTesting = currentBuild. description?. contains(" Require x86_64 Multi-GPU Testing" ) ?: false
954
954
echo " requireMultiGpuTesting: ${ requireMultiGpuTesting} "
955
955
if (! requireMultiGpuTesting) {
956
956
if (singleGpuTestFailed) {
957
- error " Single -GPU test failed"
957
+ error " x86_64 single -GPU test failed"
958
958
}
959
959
return
960
960
}
961
961
962
962
if (singleGpuTestFailed) {
963
963
if (env. JOB_NAME ==~ / .*PostMerge.*/ ) {
964
- echo " In the official post-merge pipeline, single-GPU test failed, whereas multi-GPU test is still kept running."
964
+ echo " In the official post-merge pipeline, x86_64 single-GPU test failed, whereas multi-GPU test is still kept running."
965
965
} else {
966
966
stage(" [Test-x86_64-Multi-GPU] Blocked" ) {
967
- error " This pipeline requires running multi-GPU test, but single-GPU test has failed."
967
+ error " This pipeline requires running multi-GPU test, but x86_64 single-GPU test has failed."
968
968
}
969
969
return
970
970
}
@@ -1007,10 +1007,8 @@ def launchStages(pipeline, reuseBuild, testFilter, enableFailFast, globalVars)
1007
1007
script {
1008
1008
def jenkinsUrl = " "
1009
1009
def credentials = " "
1010
- def testStageName = " [Test-SBSA] Run"
1011
- if (env. localJobCredentials) {
1012
- testStageName = " [Test-SBSA] Remote Run"
1013
- }
1010
+ def testStageName = " [Test-SBSA-Single-GPU] ${ env.localJobCredentials ? "Remote Run" : "Run"} "
1011
+ def singleGpuTestFailed = false
1014
1012
1015
1013
if (testFilter[(ONLY_ONE_GROUP_CHANGED )] == " Docs" ) {
1016
1014
echo " SBSA build job is skipped due to Jenkins configuration or conditional pipeline run"
@@ -1023,6 +1021,60 @@ def launchStages(pipeline, reuseBuild, testFilter, enableFailFast, globalVars)
1023
1021
]
1024
1022
launchJob(" /LLM/helpers/Build-SBSA" , reuseBuild, enableFailFast, globalVars, " SBSA" , additionalParameters)
1025
1023
}
1024
+ stage(testStageName) {
1025
+ if (SBSA_TEST_CHOICE == STAGE_CHOICE_SKIP ) {
1026
+ echo " SBSA test job is skipped due to Jenkins configuration"
1027
+ return
1028
+ }
1029
+ try {
1030
+ String testFilterJson = writeJSON returnText : true , json : testFilter
1031
+ def additionalParameters = [
1032
+ ' testFilter' : testFilterJson,
1033
+ " dockerImage" : globalVars[" LLM_SBSA_DOCKER_IMAGE" ],
1034
+ ]
1035
+
1036
+ launchJob(" L0_Test-SBSA-Single-GPU" , false , enableFailFast, globalVars, " SBSA" , additionalParameters)
1037
+ } catch (InterruptedException e) {
1038
+ throw e
1039
+ } catch (Exception e) {
1040
+ if (SBSA_TEST_CHOICE == STAGE_CHOICE_IGNORE ) {
1041
+ catchError(
1042
+ buildResult : ' SUCCESS' ,
1043
+ stageResult : ' FAILURE' ) {
1044
+ error " SBSA test failed but ignored due to Jenkins configuration"
1045
+ }
1046
+ } else {
1047
+ catchError(
1048
+ buildResult : ' FAILURE' ,
1049
+ stageResult : ' FAILURE' ) {
1050
+ error " SBSA single-GPU test failed"
1051
+ }
1052
+ singleGpuTestFailed = true
1053
+ }
1054
+ }
1055
+ }
1056
+
1057
+ def requireMultiGpuTesting = currentBuild. description?. contains(" Require SBSA Multi-GPU Testing" ) ?: false
1058
+ echo " requireMultiGpuTesting: ${ requireMultiGpuTesting} "
1059
+ if (! requireMultiGpuTesting) {
1060
+ if (singleGpuTestFailed) {
1061
+ error " SBSA single-GPU test failed"
1062
+ }
1063
+ return
1064
+ }
1065
+
1066
+ if (singleGpuTestFailed) {
1067
+ if (env. JOB_NAME ==~ / .*PostMerge.*/ ) {
1068
+ echo " In the official post-merge pipeline, SBSA single-GPU test failed, whereas multi-GPU test is still kept running."
1069
+ } else {
1070
+ stage(" [Test-SBSA-Multi-GPU] Blocked" ) {
1071
+ error " This pipeline requires running SBSA multi-GPU test, but SBSA single-GPU test has failed."
1072
+ }
1073
+ return
1074
+ }
1075
+ }
1076
+
1077
+ testStageName = " [Test-SBSA-Multi-GPU] ${ env.localJobCredentials ? "Remote Run" : "Run"} "
1026
1078
stage(testStageName) {
1027
1079
if (SBSA_TEST_CHOICE == STAGE_CHOICE_SKIP ) {
1028
1080
echo " SBSA test job is skipped due to Jenkins configuration"
@@ -1035,7 +1087,7 @@ def launchStages(pipeline, reuseBuild, testFilter, enableFailFast, globalVars)
1035
1087
" dockerImage" : globalVars[" LLM_SBSA_DOCKER_IMAGE" ],
1036
1088
]
1037
1089
1038
- launchJob(" L0_Test-SBSA" , false , enableFailFast, globalVars, " SBSA" , additionalParameters)
1090
+ launchJob(" L0_Test-SBSA-Multi-GPU " , false , enableFailFast, globalVars, " SBSA" , additionalParameters)
1039
1091
1040
1092
} catch (InterruptedException e) {
1041
1093
throw e
0 commit comments