diff --git a/scripts/build/Jenkins/Jenkinsfile b/scripts/build/Jenkins/Jenkinsfile index ffca69a14f..1388366661 100644 --- a/scripts/build/Jenkins/Jenkinsfile +++ b/scripts/build/Jenkins/Jenkinsfile @@ -416,16 +416,18 @@ def ExportTestResults(Map options, String platform, String type, String workspac } } -def ExportTestScreenshots(Map options, String workspace, String platformName, String jobName, Map params) { +def ExportTestScreenshots(Map options, String branchName, String platformName, String jobName, String workspace, Map params) { catchError(message: "Error exporting test screenshots (this won't fail the build)", buildResult: 'SUCCESS', stageResult: 'FAILURE') { - def screenshotsFolder = '${workspace}/${ENGINE_REPOSITORY_NAME}/AutomatedTesting/user/PythonTests/Automated/Screenshots' - def s3Uploader = '${workspace}/${ENGINE_REPOSITORY_NAME}/scripts/build/tools/upload_to_s3.py' - def command = '${options.PYTHON_DIR}/python.cmd -u ${s3Uploader} --base_dir ${screenshotsFolder} ' + - '--file_regex "(.*zip$)" --bucket ${env.TEST_SCREENSHOT_BUCKET} ' + - '--search_subdirectories True --key_prefix ${branchName}_${env.BUILD_NUMBER}' + - '--extra-args {"ACL": "bucket-owner-full-control"}' - bat label: "Uploading test screenshots for ${jobName}", - script: command + dir("${workspace}/${ENGINE_REPOSITORY_NAME}") { + def screenshotsFolder = "AutomatedTesting/user/PythonTests/Automated/Screenshots" + def s3Uploader = "scripts/build/tools/upload_to_s3.py" + def command = "${options.PYTHON_DIR}/python.cmd -u ${s3Uploader} --base_dir ${screenshotsFolder} " + + '--file_regex \\"(.*zip\$)\\" ' + + "--bucket ${env.TEST_SCREENSHOT_BUCKET} " + + "--search_subdirectories True --key_prefix ${branchName}_${env.BUILD_NUMBER} " + + '--extra_args {\\"ACL\\":\\"bucket-owner-full-control\\"}' + palSh(command, "Uploading test screenshots for ${jobName}") + } } } @@ -484,10 +486,10 @@ def CreateExportTestResultsStage(Map pipelineConfig, String platformName, String } } -def CreateExportTestScreenshotsStage(Map pipelineConfig, String platformName, String jobName, Map environmentVars, Map params) { +def CreateExportTestScreenshotsStage(Map pipelineConfig, String branchName, String platformName, String jobName, Map environmentVars, Map params) { return { stage("${jobName}_screenshots") { - ExportTestScreenshots(pipelineConfig, platformName, jobName, environmentVars['WORKSPACE'], params) + ExportTestScreenshots(pipelineConfig, branchName, platformName, jobName, environmentVars['WORKSPACE'], params) } } } @@ -553,10 +555,10 @@ def CreateSingleNode(Map pipelineConfig, def platform, def build_job, Map envVar CreateTestMetricsStage(pipelineConfig, branchName, envVars, build_job_name, output_directory, configuration).call() } if (params && params.containsKey('TEST_RESULTS') && params.TEST_RESULTS == 'True') { - CreateExportTestResultsStage(pipelineConfig, platform.key, build_job_name, envVars, params).call() + CreateExportTestResultsStage(pipelineConfig, platform.key, build_job_name, envVars, params).call() } if (params && params.containsKey('TEST_SCREENSHOTS') && params.TEST_SCREENSHOTS == 'True' && currentResult == 'FAILURE') { - CreateExportTestScreenshotsStage(pipelineConfig, platform.key, build_job_name, envVars, params).call() + CreateExportTestScreenshotsStage(pipelineConfig, branchName, platform.key, build_job_name, envVars, params).call() } CreateTeardownStage(envVars).call() }