Skip to content

Share diagnostics release tool across repositories - #5988

Open
hoyosjs wants to merge 3 commits into
dotnet:mainfrom
hoyosjs:juhoyosa/share-release-tool
Open

Share diagnostics release tool across repositories#5988
hoyosjs wants to merge 3 commits into
dotnet:mainfrom
hoyosjs:juhoyosa/share-release-tool

Conversation

@hoyosjs

@hoyosjs hoyosjs commented Aug 31, 2026

Copy link
Copy Markdown
Member

Summary

  • package DiagnosticsReleaseTool as Microsoft.Diagnostics.ReleaseTool
  • support public and internal-only release assets through IsAssetForPublicRelease
  • move repository-specific release constants into tool-list.json
  • gather non-shipping assets and skip MergedManifest.xml during release preparation

Validation

  • built and packed DiagnosticsReleaseTool in Release configuration
  • installed the generated .NET tool package and exercised its command-line help
  • completed independent correctness review

Copilot AI lite review requested due to automatic review settings August 31, 2026 22:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR refactors the repo’s release-preparation tooling so it can be packaged and reused across repositories, while expanding processing to include both shipping and non-shipping drop assets and adding pipeline-driven filtering (e.g., skipping specific files during release preparation).

Changes:

  • Package DiagnosticsReleaseTool as a .NET tool (Microsoft.Diagnostics.ReleaseTool) and wire it into the repo build.
  • Extend drop acquisition and release processing to include non-shipping assets, and propagate a “public vs internal-only” designation via IsAssetForPublicRelease.
  • Move repo-specific constants into tool-list.json and add skip-file support (used to skip MergedManifest.xml in pipelines).
File summaries
File Description
eng/release/tool-list.json Adds ReleaseToolConstants to centralize repo-specific release constants.
eng/release/Scripts/AcquireBuild.ps1 Adds -IncludeNonShipping and passes --non-shipping to darc gather-drop.
eng/release/DiagnosticsReleaseTool/README.md Updates docs to describe shipping + non-shipping processing and public-release marking.
eng/release/DiagnosticsReleaseTool/DiagnosticsRepoHelpers.cs Loads constants from tool manifest and uses them for bundle identification/metadata.
eng/release/DiagnosticsReleaseTool/DiagnosticsReleaseTool.csproj Enables packing as a .NET tool (Microsoft.Diagnostics.ReleaseTool) and includes README/3rd-party notices.
eng/release/DiagnosticsReleaseTool/DiagnosticsReleaseRunner.cs Uses manifest-driven helpers, processes shipping + non-shipping roots, adds shouldSkipFile, and improves logging config base path.
eng/release/DiagnosticsReleaseTool/DiagnosticsReleaseCommandLine.cs Adds --skip-files option and threads it into configuration.
eng/release/DiagnosticsReleaseTool/DiagnosticsManifestGenerator.cs Adds IsAssetForPublicRelease into manifest sections and decouples bundled-tools category naming.
eng/release/DiagnosticsReleaseTool/DarcHelpers.cs Returns both shipping and derived non-shipping directories from the darc drop.
eng/release/DiagnosticsReleaseTool/Core/Release.cs Extends release processing to handle public + internal-only roots and supports file skipping.
eng/release/DiagnosticsReleaseTool/Core/FileReleaseData.cs Adds IsAssetForPublicRelease to file-release records.
eng/release/DiagnosticsReleaseTool/Config.cs Stores skip-file list as a case-insensitive FrozenSet.
eng/pipelines/prepare-release.yml Enables non-shipping acquisition and forwards skip-file list into the tool invocation.
diagnostics.yml Supplies default skipFileList: MergedManifest.xml to the prepare-release pipeline.
build.proj Adds the release tool project to the repo build graph.
Review details
  • Files reviewed: 15/15 changed files
  • Comments generated: 6
  • Review effort level: Lite

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment thread eng/release/DiagnosticsReleaseTool/DarcHelpers.cs
Comment thread eng/release/DiagnosticsReleaseTool/DiagnosticsRepoHelpers.cs Outdated
Comment thread eng/release/DiagnosticsReleaseTool/DiagnosticsManifestGenerator.cs
Comment thread eng/release/DiagnosticsReleaseTool/Core/Release.cs Outdated
Comment thread eng/release/DiagnosticsReleaseTool/DiagnosticsReleaseCommandLine.cs Outdated
Comment thread eng/release/DiagnosticsReleaseTool/DiagnosticsRepoHelpers.cs Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants