Skip to content

Conversation

@elinor-fung
Copy link
Member

@elinor-fung elinor-fung commented Sep 9, 2021

The symbols for dotnet and hostpolicy are not being published to the public Microsoft symbol servers.

It looks like we are currently relying on the symbol packages for Microsoft.NETCore.DotNetHost and Microsoft.NETCore.DotNetHostPolicy to get symbols for dotnet and hostpolicy published.

The pkgproj projects in installer have a PackageReference to Microsoft.DotNet.Build.Tasks.Packaging:

<PackageReference Include="Microsoft.DotNet.Build.Tasks.Packaging" Version="$(MicrosoftDotNetBuildTasksPackagingVersion)" PrivateAssets="all" IsImplicitlyDefined="true" />

That package includes a target that sets the SymbolPackageOutputPath based on the PackageOutputPath.
https://github.com/dotnet/arcade/blob/main/src/Microsoft.DotNet.Build.Tasks.Packaging/src/build/Packaging.targets#L63

However, the targets of that package are imported before the project's Directory.Build.targets, which imports Arcade targets that set the default for PackageOutputPath:
https://github.com/dotnet/arcade/blob/main/src/Microsoft.DotNet.Arcade.Sdk/tools/ProjectDefaults.targets#L22

As a result, the symbol packages built by src/installer/pkg/projects/*.pkgproj end up in the wrong directory - For example, under artifacts\bin\<project_name>\Release instead of artifacts\packages\Release\Shipping - such that they do not get uploaded and published.

This was an unfortunate side effect of #57036.

This change goes back to having SymbolPackageOutputPath explicitly set. It is not really intuitive / great, but given the desire to stop having these packages (#35244, which will also need to make sure symbol publishing is covered by other things) and my expectation that we should backport to 6.0, I went with the simply bringing back the previous behaviour.

cc @dotnet/runtime-infrastructure @jkoritzinsky @vitek-karas

@ghost
Copy link

ghost commented Sep 9, 2021

Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov
See info in area-owners.md if you want to be subscribed.

Issue Details

The symbols for dotnet and hostpolicy are not being published to the public Microsoft symbol servers.

It looks like we are currently relying on the symbol packages for Microsoft.NETCore.DotNetHost and Microsoft.NETCore.DotNetHostPolicy to get symbols for dotnet and hostpolicy published.

The pkgproj projects in installer have a PackageReference to Microsoft.DotNet.Build.Tasks.Packaging:

<PackageReference Include="Microsoft.DotNet.Build.Tasks.Packaging" Version="$(MicrosoftDotNetBuildTasksPackagingVersion)" PrivateAssets="all" IsImplicitlyDefined="true" />

That package includes a target that sets the SymbolPackageOutputPath based on the PackageOutputPath.
https://github.com/dotnet/arcade/blob/main/src/Microsoft.DotNet.Build.Tasks.Packaging/src/build/Packaging.targets#L63

However, the targets of that package are imported before the project's Directory.Build.targets, which imports Arcade targets that set the default for PackageOutputPath:
https://github.com/dotnet/arcade/blob/main/src/Microsoft.DotNet.Arcade.Sdk/tools/ProjectDefaults.targets#L22

As a result, the symbol packages built by src/installer/pkg/projects/*.pkgproj end up in the wrong directory - For example, under artifacts\bin\<project_name>\Release instead of artifacts\packages\Release\Shipping - such that they do not get uploaded and published.

This was an unfortunate side effect of #57036.

This change goes back to having SymbolPackageOutputPath explicitly set. It is not really intuitive / great, but given the desire to stop having these packages (#35244, which will also need to make sure symbol publishing is covered by other things) and my expectation that we should backport to 6.0, I went with the simply bringing back the previous behaviour.

cc @jkoritzinsky @vitek-karas

Author: elinor-fung
Assignees: -
Labels:

area-Host

Milestone: -

@elinor-fung elinor-fung merged commit f6f398e into dotnet:main Sep 9, 2021
@elinor-fung elinor-fung deleted the missingHostSymbols branch September 9, 2021 19:06
@elinor-fung
Copy link
Member Author

/backport to release/6.0

@github-actions
Copy link
Contributor

github-actions bot commented Sep 9, 2021

@ghost ghost locked as resolved and limited conversation to collaborators Oct 9, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants