Publish Checksums to dotnetclichecksums storage account (#19038)

* Update dependencies from Arcade

* Try publishing checksums

* Fix some errors

* Set RelativeBlobPath

* Fix publish location

* Centralize ChecksumExtension

* Fix use of ChecksumExtension in publishing.props
This commit is contained in:
William Godbe 2020-02-14 15:28:30 -08:00 committed by GitHub
parent 7fc314f73b
commit bdb6a38c47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 24 additions and 5 deletions

View File

@ -173,6 +173,7 @@
<ArchiveExtension>.tar.gz</ArchiveExtension>
<ArchiveExtension Condition="'$(TargetOsName)' == 'win'">.zip</ArchiveExtension>
<ChecksumExtension>.sha512</ChecksumExtension>
</PropertyGroup>
<Import Project="eng\Workarounds.props" />

View File

@ -3,17 +3,17 @@
<!-- The one use of ArtifactsDir in Publish.proj adds an additional slash, confusing itself. -->
<ArtifactsDir>$(ArtifactsDir.Substring(0, $([MSBuild]::Subtract($(ArtifactsDir.Length), 1))))</ArtifactsDir>
<PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishInstallers</PublishDependsOnTargets>
<PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishInstallersAndChecksums</PublishDependsOnTargets>
<_UploadPathRoot>aspnetcore</_UploadPathRoot>
</PropertyGroup>
<!-- $(InstallersOutputPath) and $(SymbolsOutputPath) are not defined. Root Directory.Build.props is not imported. -->
<!-- $(InstallersOutputPath), $(SymbolsOutputPath), and $(ChecksumExtensions) are not defined. Root Directory.Build.props is not imported. -->
<ItemGroup>
<!-- Include our "loose" PDBs when publishing symbols. -->
<FilesToPublishToSymbolServer Include="$(ArtifactsDir)\symbols\**\*.pdb" />
<!-- Prepare for _PublishInstallers target. -->
<!-- Prepare for _PublishInstallersAndChecksums target. -->
<_InstallersToPublish Remove="@(_InstallersToPublish)" />
<_InstallersToPublish Include="$(ArtifactsDir)\packages\**\*.jar" UploadPathSegment="jar" />
<_InstallersToPublish Include="$(ArtifactsDir)\packages\**\*.pom" UploadPathSegment="jar" />
@ -27,9 +27,10 @@
Condition=" '$(PublishInstallerBaseVersion)' == 'true' " />
<_InstallersToPublish Include="$(ArtifactsDir)\installers\**\*.wixlib" UploadPathSegment="Runtime" />
<_InstallersToPublish Include="$(ArtifactsDir)\installers\**\*.zip" UploadPathSegment="Runtime" />
<_ChecksumsToPublish Include="$(ArtifactsDir)\**\*.sha512" />
</ItemGroup>
<Target Name="_PublishInstallers">
<Target Name="_PublishInstallersAndChecksums">
<!--
This target is defined in eng/targets/Packaging.targets and included in every C# and F# project.
We use Microsoft.AspNetCore.DeveloperCertificates.XPlat because it is a nonshipping package, and we need a non-stable version string to use as our publish location.
@ -48,6 +49,11 @@
<!-- Do not push .nupkg files from Linux and macOS builds. They'll be packed up separately and signed on Windows. -->
<ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT'" />
<ItemsToPushToBlobFeed Include="@(_ChecksumsToPublish)">
<PublishFlatContainer>true</PublishFlatContainer>
<RelativeBlobPath>$(_UploadPathRoot)/Runtime/$(_PackageVersion)/%(Filename)%(Extension)</RelativeBlobPath>
</ItemsToPushToBlobFeed>
<ItemsToPushToBlobFeed Include="@(_InstallersToPublish)">
<IsShipping>true</IsShipping>
<ManifestArtifactData>ShipInstaller=dotnetcli</ManifestArtifactData>

View File

@ -154,6 +154,12 @@ This package is an internal implementation of the .NET Core SDK and is not meant
<RedistArchiveOutputPath>$(InstallersOutputPath)$(RedistArchiveOutputFileName)</RedistArchiveOutputPath>
</PropertyGroup>
<ItemGroup Condition="'$(DotNetBuildFromSource)' != 'true'">
<GenerateChecksumItems Include="$(RedistArchiveOutputPath)">
<DestinationPath>$(RedistArchiveOutputPath)$(ChecksumExtension)</DestinationPath>
</GenerateChecksumItems>
</ItemGroup>
<!-- Target chain -->
<PropertyGroup>
<ResolveReferencesDependsOn>

View File

@ -64,7 +64,7 @@
<Target Name="CopyToArtifactsDirectory"
Condition=" '$(IsShipping)' == 'true' AND '$(SkipCopyToArtifactsDirectory)' != 'true' "
AfterTargets="Build">
AfterTargets="Build" BeforeTargets="GenerateChecksums">
<Copy SourceFiles="$(TargetPath)" DestinationFiles="$(InstallersOutputPath)$(PackageFileName)" />
<ItemGroup>
<_cabs Include="$(TargetDir)**/*.cab" />
@ -72,4 +72,10 @@
<Copy SourceFiles="@(_cabs)" DestinationFolder="$(InstallersOutputPath)" />
</Target>
<ItemGroup Condition=" '$(IsShipping)' == 'true' AND '$(SkipCopyToArtifactsDirectory)' != 'true' ">
<GenerateChecksumItems Include="$(InstallersOutputPath)$(PackageFileName)">
<DestinationPath>$(InstallersOutputPath)$(PackageFileName)$(ChecksumExtension)</DestinationPath>
</GenerateChecksumItems>
</ItemGroup>
</Project>