fix(build): skip symbols packages during NuGet publish#268
Merged
Conversation
Release workflow: - Filter signed publish inputs so legacy *.symbols.nupkg artifacts are not pushed to NuGet as primary packages. - Add --skip-duplicate so reruns after partial publishes continue with remaining packages. Validation: - Simulated the publish package selection with primary and symbols packages. - Ran git diff --check.
Release packaging: - Remove the shared IncludeSymbols property that caused legacy *.symbols.nupkg packages to be emitted by dotnet pack. - Exclude legacy symbols packages from unsigned and signed release artifacts before the signing and publishing jobs. - Simplify the NuGet publish loop now that signed artifacts contain only primary .nupkg files. Validation: - Packed Extensions.Hosting.Avalonia for net8.0 and confirmed only the primary .nupkg was produced. - Checked effective MSBuild properties for IncludeSymbols, SymbolPackageFormat, DebugType, and EmbedUntrackedSources. - Ran git diff --check.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What kind of change does this PR introduce?
CI/release workflow bug fix for NuGet package publishing and release artifact preparation.
What is the new behavior?
Directory.Build.propsno longer requests legacy*.symbols.nupkggeneration for every package. The release workflow also excludes*.symbols.nupkgfrom the unsigned and signed NuGet artifacts before the signing job and before release/publish handoff.The NuGet publish job now receives only primary signed
.nupkgpackages and still uses--skip-duplicateso reruns continue when a prior attempt already published one or more packages.What is the current behavior?
The release pack step generated legacy
.symbols.nupkgpackages because the shared props setIncludeSymbols=truewithout a sharedSymbolPackageFormat. The original signing job downloaded allpackages/*.nupkgartifacts and signed everysigned/*.nupkg, including legacy symbols packages. The publish job then attempted to push those symbols packages as normal packages, causing NuGet HTTP 409 duplicate ID/version failures after the primary package had already been published.Checklist
Additional information
Failed run: https://github.com/reactivemarbles/Extensions.Hosting/actions/runs/29130836781/job/86549119186
Validation:
Extensions.Hosting.Avaloniafornet8.0and confirmed only the primary.nupkgwas produced.IncludeSymbols,SymbolPackageFormat,DebugType, andEmbedUntrackedSources.git diff --check.