From b50709a1ab8fa1dd12663e74aea426440f329998 Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Thu, 19 Dec 2019 13:19:13 -0600 Subject: [PATCH 1/2] 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. --- eng/pipelines/official/stages/publish.yml | 2 + src/installer/Directory.Build.targets | 1 - src/installer/publish/prepare-artifacts.proj | 37 ++++++++-- src/installer/publish/publish-blobs.proj | 75 -------------------- 4 files changed, 34 insertions(+), 81 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 654e42921b0a68..6663be377359f6 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 e31f535a7b4beb..687aebcad6bacb 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/prepare-artifacts.proj b/src/installer/publish/prepare-artifacts.proj index 69e4aa8d9d1a66..ae03e70c920636 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 46224565582b85..00000000000000 --- a/src/installer/publish/publish-blobs.proj +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 5453c0e391d35947d73f6f0279f051a2c83cb4cb Mon Sep 17 00:00:00 2001 From: Davis Goodin Date: Thu, 19 Dec 2019 16:34:17 -0600 Subject: [PATCH 2/2] 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. --- src/installer/publish/Directory.Build.targets | 42 ++++++++++++++++--- src/installer/publish/prepare-artifacts.proj | 2 +- 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/src/installer/publish/Directory.Build.targets b/src/installer/publish/Directory.Build.targets index de179928200186..b33d0f19f4b067 100644 --- a/src/installer/publish/Directory.Build.targets +++ b/src/installer/publish/Directory.Build.targets @@ -33,14 +33,30 @@ 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. --> + + + + + + + + + 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 ae03e70c920636..582fffa756307e 100644 --- a/src/installer/publish/prepare-artifacts.proj +++ b/src/installer/publish/prepare-artifacts.proj @@ -1,7 +1,7 @@ - + true