Port release-index generators from distroessed#29
Merged
richlander merged 1 commit intomainfrom Mar 26, 2026
Merged
Conversation
Merge VersionIndex, ShipIndex, and LlmsIndex tools into dotnet-release as subcommands of 'generate': - version-index: root + major + patch version indexes, downloads - timeline-index: chronological year/month timeline indexes - llms-index: AI-optimized llms.json - indexes: runs all three New library: Dotnet.Release.IndexGenerator with all generator logic. Summary data layer added to Dotnet.Release (Summary/ namespace). Shared helpers deduplicated (HAL link generators, index helpers). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Ports the three release-index generator tools (VersionIndex, ShipIndex, LlmsIndex) from distroessed into this repo, merged as subcommands of
dotnet-release generate.New subcommands
generate version-index <dir> [out] [--url-root <url>]generate timeline-index <dir> [out] [--url-root <url>]generate llms-index <dir> [out] [--url-root <url>]llms.jsonfor LLM consumptiongenerate indexes <dir> [out] [--url-root <url>]Structure
Dotnet.Release.IndexGenerator— new library project with all generator logic (~3,200 lines across 13 files)Dotnet.Release/Summary/— data loading layer that reads release-notes directories intoMajorReleaseSummary/PatchReleaseSummary/ReleaseCalendarrecordsDotnet.Release/Location.cs— static URL root management for--url-rootsupportChanges to existing code
Lifecycle.ReleaseTypemade nullable (ReleaseType?) to match source dataLifecycle.Supportedmade settable (was computed from Phase)ReleaseStabilitygainedFindLatestVersion,FindLatestLtsVersion,DeterminePhaseFromVersionPatchReleaseOverviewgainedSdkspropertyHistoryYearIndex.csgainedHistoryMonthEntryrecordIndexTitles,LinkTitles, HAL helpers, manifest/LLMs typesTesting
Tested against
~/git/core/release-notes— generates 398 JSON files successfully including root index, per-version indexes, timeline hierarchy, downloads directories, and llms.json.