-
Notifications
You must be signed in to change notification settings - Fork 483
Enable SourceLink #524
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable SourceLink #524
Conversation
|
Hi again @JTOne123, I think it would be good to enable SourceLink. I'd like to leave the final decision to @jonorossi however. If we decide to go ahead with SourceLink here, I think the following changes will be additionally needed:
|
|
A small P.S. question @JTOne123: this page on docs.microsoft.com suggests enabling deterministic builds in conjunction with SourceLink. Do you know more about this? Should we do this here, too? |
|
@stakx I have no objection to adding SourceLink support, we did talk about it a while back but the situation with symbols was a bit all over the place. I had a very quick look at this yesterday but didn't comment. In addition to your comments, I think the properties probably belong in the next |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In addition to the review comments below, please also make the following changes:
-
*.snupkgmust get published to NuGet, so you'll need to add a few additional commands toappveyor.ymlhere:Lines 67 to 70 in a7454e5
nuget push ".\build\Castle.Core.${env:APPVEYOR_BUILD_VERSION}.nupkg" -ApiKey $env:NUGET_API_KEY -Source https://api.nuget.org/v3/index.json nuget push ".\build\Castle.Core-log4net.${env:APPVEYOR_BUILD_VERSION}.nupkg" -ApiKey $env:NUGET_API_KEY -Source https://api.nuget.org/v3/index.json nuget push ".\build\Castle.Core-NLog.${env:APPVEYOR_BUILD_VERSION}.nupkg" -ApiKey $env:NUGET_API_KEY -Source https://api.nuget.org/v3/index.json nuget push ".\build\Castle.Core-Serilog.${env:APPVEYOR_BUILD_VERSION}.nupkg" -ApiKey $env:NUGET_API_KEY -Source https://api.nuget.org/v3/index.json -
For completeness, you should perhaps add
*.snupkgas artifacts at the end ofappveyor.yml, something like this:artifacts: - path: build\*.nupkg name: core + - path: build\*.snupkg + name: symbols -
Please update the paragraph in the Releases section of the
README.mdthat explains where to get debugging symbols from / how to use them. For example:-Debugging symbols are available in symbol packages in the AppVeyor build artifacts since version 4.1.0. For example, [...] +SourceLink-enabled symbol packages (`.snupkg`) are published to NuGet. [This document](https://devblogs.microsoft.com/nuget/improved-package-debugging-experience-with-the-nuget-org-symbol-server/#:~:text=Consume+snupkg+from+NuGet) has instructions for configuring the Visual Studio debugger to use those. For versions 4.4.1 down to 4.1.0, symbol packages are available in the AppVeyor build artifacts. For example, [...]
Thanks!
| <PublishRepositoryUrl>true</PublishRepositoryUrl> | ||
| <IncludeSymbols>true</IncludeSymbols> | ||
| <SymbolPackageFormat>snupkg</SymbolPackageFormat> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please move these properties to the following location (and make sure to use tabs for indentation, not spaces):
Core/buildscripts/common.props
Line 27 in a7454e5
| <IncludeSymbols>true</IncludeSymbols> |
| </PropertyGroup> | ||
|
|
||
| <ItemGroup> | ||
| <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please move this <PackageReference> into this item group (and again, please use tabs for indentation):
Core/buildscripts/common.props
Lines 41 to 43 in a7454e5
| <ItemGroup> | |
| <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All" /> | |
| </ItemGroup> |
CSProj files have been updated to enable SourceLink in your nuget
[This pull request was created with an automated workflow]
I noticed that your repository and Nuget package are important for our .NET community, but you still haven't enabled SourceLink.
We have to take 2 steps:
You can find more information about SourceLine at the following links
https://github.com/dotnet/sourcelink
https://www.hanselman.com/blog/ExploringNETCoresSourceLinkSteppingIntoTheSourceCodeOfNuGetPackagesYouDontOwn.aspx
If you are interesting about this automated workflow and how it works
https://github.com/JTOne123/GitHubMassUpdater
If you notice any flaws, please comment and I will try to make fixes manually