diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml index 755ffe182e035d5c5ba431c3ba69e4d69747ad91..900b033f831660ed46198c0423f1a1931446cafa 100644 --- a/.azure/pipelines/ci.yml +++ b/.azure/pipelines/ci.yml @@ -17,6 +17,10 @@ pr: include: - '*' +variables: +- name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE + value: true + jobs: - template: jobs/default-build.yml parameters: diff --git a/eng/PublishSymbols.proj b/eng/PublishSymbols.proj new file mode 100644 index 0000000000000000000000000000000000000000..dd2c968566f2003a61dcf63e264daa5ebb584ca3 --- /dev/null +++ b/eng/PublishSymbols.proj @@ -0,0 +1,62 @@ +<Project Sdk="Microsoft.NET.Sdk" DefaultTargets="RunPublishSymbols"> + <PropertyGroup> + <!-- TFM doesn't matter. These settings are required to make NuGet happy so we can restore required MSBuild packages. --> + <TargetFramework>netcoreapp3.0</TargetFramework> + <DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences> + <ManifestsPath>artifacts\manifests\</ManifestsPath> + <DisablePackageReferenceRestrictions>true</DisablePackageReferenceRestrictions> + + <!-- Expire symbols after 10 years (or so) by default. --> + <DotNetSymbolExpirationInDays Condition="'$(DotNetSymbolExpirationInDays)' == ''">3650</DotNetSymbolExpirationInDays> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="Microsoft.SymbolUploader.Build.Task" Version="$(MicrosoftSymbolUploaderBuildTaskPackageVersion)" /> + </ItemGroup> + + <!-- + Initially copied from + https://github.com/dotnet/core-setup/blob/19390ee14c2824c39db393aff75a95788ececebf/publish/publish.proj#L242-L286 + --> + <Target Name="RunPublishSymbols"> + <ItemGroup> + <SymbolServerConfig + Include="MSDL (public symbols server)" + Url="https://microsoftpublicsymbols.artifacts.visualstudio.com/DefaultCollection" + Pat="$(MicrosoftSymbolServerPAT)" /> + + <SymbolServerConfig + Include="SymWeb (internal symbols server)" + Url="https://microsoft.artifacts.visualstudio.com/DefaultCollection" + Pat="$(SymwebSymbolServerPAT)" /> + </ItemGroup> + + <Error + Condition="'%(SymbolServerConfig.Pat)' == ''" + Text="Missing symbol server publish PAT for '%(SymbolServerConfig.Identity)'" /> + + <!-- Could also set SymbolDryRun, SymbolExpirationInDays or SymbolVerboseLogging. --> + <ItemGroup> + <SymbolServerPublishProject + Include="$(MSBuildProjectFullPath)" + AdditionalProperties=" + SymbolServerDescription=%(SymbolServerConfig.Identity); + SymbolServerPath=%(SymbolServerConfig.Url); + SymbolServerPAT=%(SymbolServerConfig.Pat)" /> + </ItemGroup> + + <!-- Note: Can't run in parallel. Symbol publish opens the zips exclusively. --> + <MSBuild + Projects="@(SymbolServerPublishProject)" + Targets="SetupPublishSymbols;PublishSymbols" + Properties="SymbolDirectory=$(SymbolDirectory)" /> + </Target> + + <Target Name="SetupPublishSymbols"> + <ItemGroup> + <SymbolPackagesToPublish Include="$(SymbolDirectory)/**/*.symbols.nupkg" /> + </ItemGroup> + + <Message Importance="High" Text="Publishing symbol packages to '$(SymbolServerDescription)':%0A @(SymbolPackagesToPublish, '%0A ')"/> + </Target> +</Project> diff --git a/eng/Versions.props b/eng/Versions.props index 78e4d044b893974621f5fe016379b983aecced27..7fdd2d0d75b1fb3419990f4f00ae49bf702a9888 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -140,6 +140,7 @@ <MicrosoftNETTestSdkPackageVersion>15.9.0</MicrosoftNETTestSdkPackageVersion> <MicrosoftSourceLinkGitHubPackageVersion>1.0.0-beta2-18618-05</MicrosoftSourceLinkGitHubPackageVersion> <MicrosoftSourceLinkVstsGitPackageVersion>1.0.0-beta2-18618-05</MicrosoftSourceLinkVstsGitPackageVersion> + <MicrosoftSymbolUploaderBuildTaskPackageVersion>1.0.0-beta-64023-03</MicrosoftSymbolUploaderBuildTaskPackageVersion> <!-- Stable dotnet/corefx packages no longer updated for .NET Core 3 --> <SystemBuffersPackageVersion>4.5.0</SystemBuffersPackageVersion> <SystemCodeDomPackageVersion>4.4.0</SystemCodeDomPackageVersion>