From 818c7de89c4792df87fbefcf9c6ba5cea0970ec1 Mon Sep 17 00:00:00 2001 From: Aditya Patwardhan Date: Thu, 21 Mar 2019 10:24:49 -0700 Subject: [PATCH] Performance improvements for release build (#9179) This PR optimizes the download tasks to reduce build times. After the change we see a order of magnitude reduction in download times for Windows package signing and also the compliance tasks. In addition to that the PR also makes changes to organize the build artifacts in folders. --- tools/releaseBuild/azureDevOps/diagram.puml | 4 ++ tools/releaseBuild/azureDevOps/diagram.svg | 6 ++- .../releaseBuild/azureDevOps/releaseBuild.yml | 13 +++++ .../azureDevOps/templates/compliance.yml | 7 +-- .../templates/windows-package-signing.yml | 22 ++------ tools/releaseBuild/build.json | 54 ++++++++++++------- .../macOS/PowerShellPackageVsts.ps1 | 2 +- tools/releaseBuild/vstsbuild.ps1 | 3 +- 8 files changed, 70 insertions(+), 41 deletions(-) diff --git a/tools/releaseBuild/azureDevOps/diagram.puml b/tools/releaseBuild/azureDevOps/diagram.puml index acd56d0c20..b72312ae50 100644 --- a/tools/releaseBuild/azureDevOps/diagram.puml +++ b/tools/releaseBuild/azureDevOps/diagram.puml @@ -11,6 +11,8 @@ folder "Linux Builds" as LinuxBuilds { agent "macOS Build" as BuildMac +agent "Upload build metadata" as BuildMetadata + folder "Windows Builds" as WinBuilds { agent "x64" as BuildWinX64 agent "x86" as BuildWinX86 @@ -84,6 +86,7 @@ SignMac ~~ Finish BuildCG ~~ Finish BuildNuGet ~~ Finish TestArtifacts ~~ Finish +BuildMetadata ~~ Finish Start ~~ BuildDEB Start ~~ BuildRPM @@ -97,5 +100,6 @@ Start ~~ BuildWinArm32 Start ~~ BuildWinArm64 Start ~~ BuildCG Start ~~ TestArtifacts +Start ~~ BuildMetadata @enduml diff --git a/tools/releaseBuild/azureDevOps/diagram.svg b/tools/releaseBuild/azureDevOps/diagram.svg index ea15212419..5d1b162f1a 100644 --- a/tools/releaseBuild/azureDevOps/diagram.svg +++ b/tools/releaseBuild/azureDevOps/diagram.svg @@ -1,4 +1,4 @@ -Linux BuildsWindows BuildsLinux Package Scanning and UploadPackage Signing and UploadBuild Test ArtifactsDEBRPMAlpineLinux-FxDependentx64x86arm32arm64FxDependentDEBRPMAlpineLinux-FxDependentmacOSWindowsWindowsLinuxmacOS BuildComponentRegistrationComplianceCreate SDK and Global Tool and UploadFinishStartLinux BuildsWindows BuildsLinux Package Scanning and UploadPackage Signing and UploadBuild Test ArtifactsDEBRPMAlpineLinux-FxDependentx64x86arm32arm64FxDependentDEBRPMAlpineLinux-FxDependentmacOSWindowsWindowsLinuxmacOS BuildUpload build metadataComponentRegistrationComplianceCreate SDK and Global Tool and UploadFinishStart