diff --git a/jenkins/L0_MergeRequest.groovy b/jenkins/L0_MergeRequest.groovy index 0bb209f7c3..180537afd8 100644 --- a/jenkins/L0_MergeRequest.groovy +++ b/jenkins/L0_MergeRequest.groovy @@ -867,10 +867,11 @@ def collectTestResults(pipeline, testFilter) stage("Collect Perf Regression Result") { def yamlFiles = sh( returnStdout: true, - script: 'find . -type f -name "regression_data.yaml" \\( -path "*/aggr*/*" -o -path "*/disagg*/*" \\) 2>/dev/null || true' + script: 'find . -type f -name "regression_data.yaml" 2>/dev/null || true' ).trim() + echo "yamlFiles: ${yamlFiles}" if (yamlFiles) { - def yamlFileList = yamlFiles.split("\n").collect { it.trim() }.findAll { it }.join(",") + def yamlFileList = yamlFiles.split(/\s+/).collect { it.trim() }.findAll { it }.join(",") echo "Found regression data files: ${yamlFileList}" sh """ python3 llm/jenkins/scripts/perf/perf_regression.py \ diff --git a/jenkins/L0_Test.groovy b/jenkins/L0_Test.groovy index 7e5a0f7f2b..b0a7af1734 100644 --- a/jenkins/L0_Test.groovy +++ b/jenkins/L0_Test.groovy @@ -149,7 +149,16 @@ EOF_TIMEOUT_XML // Download perf test results def perfResultsBasePath = "/home/svc_tensorrt/bloom/scripts/${nodeName}" - downloadPerfResultSucceed = Utils.exec(pipeline, script: "sshpass -p '${remote.passwd}' scp -P ${remote.port} -r -p ${COMMON_SSH_OPTIONS} ${remote.user}@${remote.host}:'${perfResultsBasePath}/aggr*' ${remote.user}@${remote.host}:'${perfResultsBasePath}/disagg*' ${stageName}/", returnStatus: true, numRetries: 3) == 0 + def folderListCmd = "sshpass -p '${remote.passwd}' ssh -p ${remote.port} ${COMMON_SSH_OPTIONS} ${remote.user}@${remote.host} 'cd ${perfResultsBasePath} && ls -1d aggr*/ disagg*/ 2>/dev/null' || true" + def folderListOutput = Utils.exec(pipeline, script: folderListCmd, returnStdout: true, numRetries: 3)?.trim() ?: "" + echo "folderListOutput: ${folderListOutput}" + def perfFolders = folderListOutput.split(/\s+/).collect { it.trim().replaceAll('/\$', '') }.findAll { it } + for (folder in perfFolders) { + def scpSucceed = Utils.exec(pipeline, script: "sshpass -p '${remote.passwd}' scp -P ${remote.port} -r -p ${COMMON_SSH_OPTIONS} ${remote.user}@${remote.host}:${perfResultsBasePath}/${folder} ${stageName}/", returnStatus: true, numRetries: 3) == 0 + if (scpSucceed) { + downloadPerfResultSucceed = true + } + } echo "hasTimeoutTest: ${hasTimeoutTest}, downloadResultSucceed: ${downloadResultSucceed}, downloadPerfResultSucceed: ${downloadPerfResultSucceed}" if (hasTimeoutTest || downloadResultSucceed || downloadPerfResultSucceed) {