From bd6c81a944f609b88908864827b7797c6b127c5b Mon Sep 17 00:00:00 2001 From: Davis Goodin Date: Fri, 20 Dec 2019 15:26:47 -0600 Subject: [PATCH] Publish the official build to blob storage (#1092) * Publish installers and checksums - Use the arcade publishing process to publish the installers and checksums - Remove old blob publishing - Calculate the product version using an always-suffixed version - Change the blob path that we should upload to to be Runtime/ instead of assets/core-setup/.. to line up with the desired paths. * Updates for dotnet/runtime Use InstallerTasksAssemblyPath. Fail fast on RuntimeNupkgFile item duplicates. Find some more symbol packages. AllConfigurations symbol nupkgs weren't detected due to different artifact arrangement. There may be more missing, however I did this to do unblock some quick local validation so I'm including it. Co-authored-by: Matt Mitchell --- eng/pipelines/official/stages/publish.yml | 2 + src/installer/Directory.Build.targets | 1 - src/installer/publish/Directory.Build.targets | 42 +++++++++++++-- src/installer/publish/prepare-artifacts.proj | 37 +++++++++++-- src/installer/publish/publish-blobs.proj | 75 --------------------------- 5 files changed, 71 insertions(+), 86 deletions(-) delete mode 100644 src/installer/publish/publish-blobs.proj diff --git a/eng/pipelines/official/stages/publish.yml b/eng/pipelines/official/stages/publish.yml index 654e429..6663be3 100644 --- a/eng/pipelines/official/stages/publish.yml +++ b/eng/pipelines/official/stages/publish.yml @@ -33,6 +33,8 @@ stages: # Allow symbol publish to emit expected warnings without failing the build. Include single # quotes inside the string so that it passes through to MSBuild without script interference. symbolPublishingAdditionalParameters: "'-warnAsError:$false'" + # Publish to blob storage. + publishInstallersAndChecksums: true # Enable SDL validation, passing through values from the 'core-setup-sdl-validation' group. SDLValidationParameters: enable: false # TODO: (Consolidation) Decide who owns SDL validation errors and enable. https://github.com/dotnet/runtime/issues/1027 diff --git a/src/installer/Directory.Build.targets b/src/installer/Directory.Build.targets index e31f535..687aebc 100644 --- a/src/installer/Directory.Build.targets +++ b/src/installer/Directory.Build.targets @@ -90,7 +90,6 @@ $(ProductVersion) 2.0.0 - Runtime/$(SharedFrameworkNugetVersion)/ Runtime/$(SharedFrameworkNugetVersion)/ diff --git a/src/installer/publish/Directory.Build.targets b/src/installer/publish/Directory.Build.targets index de17992..b33d0f1 100644 --- a/src/installer/publish/Directory.Build.targets +++ b/src/installer/publish/Directory.Build.targets @@ -33,15 +33,31 @@ are published from every job. RID-agnostic nupkgs are built with the same ID/version by every job, so one specific job's outputs must be picked to sign and publish. --> + + + + + + + + @@ -61,9 +77,15 @@ reasons, such as the VS insertion packages that transport MSIs. Symbol package validation will check for symbol completeness with file-by-file granularity rather than looking for missing symbols.nupkg files: https://github.com/dotnet/arcade/issues/2499. + + Handles several conventions: + * NonShipping packages have symbol nupkgs that are Shipping. + * Shipping packages have symbol packages in a "symbols" subdirectory. --> + Include=" + @(NupkgToPublishFile->Replace('\NonShipping\', '\Shipping\')->Replace('.nupkg', '.symbols.nupkg')); + @(NupkgToPublishFile->Replace('\Shipping\', '\Shipping\symbols\')->Replace('.nupkg', '.symbols.nupkg'))" /> + + + diff --git a/src/installer/publish/prepare-artifacts.proj b/src/installer/publish/prepare-artifacts.proj index 69e4aa8..582fffa 100644 --- a/src/installer/publish/prepare-artifacts.proj +++ b/src/installer/publish/prepare-artifacts.proj @@ -1,6 +1,24 @@ + + + + true + + + + + + + + + + + + @@ -13,12 +31,17 @@ + SignPackages; + CreateChecksums"> $(ArtifactsObjDir)PreparedFileUpload\ - + + + + + @@ -96,9 +119,13 @@ - - assets/core-setup/$(InstallersRelativePath)%(Filename)%(Extension) + Exclude="@(NupkgToPublishFile);@(SymbolNupkgToPublishFile)"> + $(InstallersRelativePath)%(Filename)%(Extension) + + + + $(InstallersRelativePath)%(Filename)%(Extension) + Checksum diff --git a/src/installer/publish/publish-blobs.proj b/src/installer/publish/publish-blobs.proj deleted file mode 100644 index 4622456..0000000 --- a/src/installer/publish/publish-blobs.proj +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- 2.7.4