diff --git a/ci/Jenkinsfile_utils.groovy b/ci/Jenkinsfile_utils.groovy index bf6c2d740b14..709af8a90d51 100644 --- a/ci/Jenkinsfile_utils.groovy +++ b/ci/Jenkinsfile_utils.groovy @@ -134,11 +134,13 @@ def collect_test_results_unix(original_file_name, new_file_name) { // Thus, we have to pick a name manually and rename the files so that they can be stored separately. sh 'cp ' + original_file_name + ' ' + new_file_name archiveArtifacts artifacts: new_file_name - try { - s3Upload(file:new_file_name, bucket:env.MXNET_CI_UNITTEST_ARTIFACT_BUCKET, path:env.JOB_NAME+"/"+env.BUILD_NUMBER+"/"+new_file_name) - } catch (Exception e) { - echo "S3 Upload failed ${e}" - throw new Exception("S3 upload failed", e) + retry(3) { + try { + s3Upload(file:new_file_name, bucket:env.MXNET_CI_UNITTEST_ARTIFACT_BUCKET, path:env.JOB_NAME+"/"+env.BUILD_NUMBER+"/"+new_file_name) + } catch (Exception e) { + echo "S3 Upload failed ${e}" + throw new Exception("S3 upload failed", e) + } } } } @@ -149,11 +151,13 @@ def collect_test_results_windows(original_file_name, new_file_name) { if (fileExists(original_file_name)) { bat 'xcopy ' + original_file_name + ' ' + new_file_name + '*' archiveArtifacts artifacts: new_file_name - try { - s3Upload(file:new_file_name, bucket:env.MXNET_CI_UNITTEST_ARTIFACT_BUCKET, path:env.JOB_NAME+"/"+env.BUILD_NUMBER+"/"+new_file_name) - } catch (Exception e) { - echo "S3 Upload failed ${e}" - throw new Exception("S3 upload failed", e) + retry(3) { + try { + s3Upload(file:new_file_name, bucket:env.MXNET_CI_UNITTEST_ARTIFACT_BUCKET, path:env.JOB_NAME+"/"+env.BUILD_NUMBER+"/"+new_file_name) + } catch (Exception e) { + echo "S3 Upload failed ${e}" + throw new Exception("S3 upload failed", e) + } } } }