-
Notifications
You must be signed in to change notification settings - Fork 60
Treat Windows tags exactly like Linux tags in generated tags tables #1928
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
base: main
Are you sure you want to change the base?
Conversation
|
Thanks for working on this! The order in the tags table is slightly different than I was expecting and feels inconsistent with Linux. Is that an artifact of running these changes with the current sdk-tags.yml metadata template? I was expecting all 10.0 tags to be listed then 9.0, etc. I was expecting the sort order should be .NET version desc, OS variant asc, OS version desc. |
@MichaelSimons Yes. We control the sorting in the dotnet-docker repo. We can re-order them any way we'd like from the mcr-tags-metadata files. I agree that sorting by .NET and then by OS makes more sense and is more consistent with Linux tags tables. |
|
This still needs to be tested in https://github.com/microsoft/dotnet-framework-docker where there are multi-platform tags for Windows images. Or maybe even add a test case for that scenario. |
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.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
|
@mthalman @MichaelSimons Here is the .NET Framework Readme before/after. I think it is a significant improvement in readability. .NET Framework BeforeFull Tag ListingWindows Server Core 2025 amd64 Tags
Windows Server Core 2022 amd64 Tags
Windows Server Core 2019 amd64 Tags
Windows Server Core 2016 amd64 Tags
.NET Framework AfterFull Tag ListingWindows amd64 Tags
|
Fixes #1593.
Before/After
Example from
dotnet/dotnet-docker/nightly>README.runtime.md:Before
Nano Server 2025 amd64 Tags
.NET 11 Preview Tags
Windows Server Core 2025 amd64 Tags
.NET 11 Preview Tags
Nano Server 2022 amd64 Tags
Windows Server Core 2022 amd64 Tags
Nano Server, version 1809 amd64 Tags
Windows Server Core 2019 amd64 Tags
After
Windows amd64 Tags
.NET 11 Preview Tags
AI-generated summary:
This pull request refactors and improves the logic for generating README tag listing tables in the image builder. The main changes include moving the
McrTagsMetadataGeneratorto a new namespace, simplifying and restructuring the code for generating markdown tables from MCR tags metadata, and introducing extension methods for repo name parsing. These updates make the codebase more modular, readable, and easier to maintain, while also enhancing the clarity of the generated documentation.Refactoring and Code Organization:
McrTagsMetadataGeneratorto the new namespaceMicrosoft.DotNet.ImageBuilder.Mcr, updating all relevant imports across the codebase. [1] [2] [3] [4]Markdown Table Generation Improvements:
GenerateReadmesCommandto group tag metadata by OS and architecture, and to generate markdown tables with improved structure and readability. The new approach uses theTagsTablerecord for organizing tables and supports nested sub-tables for custom tag groups.Extension Methods for Repo Name Parsing:
GetParentRepoNameandGetShortNamefor parsing hierarchical repo names, improving code clarity and reuse.Documentation and Comments:
GenerateReadmesCommand, clarifying their responsibilities and usage. [1] [2] [3]Code Simplification and Cleanup: