Skip to content
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

Improve baselining #47700

Merged
merged 4 commits into from
Mar 19, 2025
Merged

Improve baselining #47700

merged 4 commits into from
Mar 19, 2025

Conversation

mmitche
Copy link
Member

@mmitche mmitche commented Mar 18, 2025

  • Add baseline entries for some typical cases
  • Add an option for the baseline entry to specify that assembly versions can vary by revision number. This allow for a generic match on file named with a specific check that major.minor.patch are the same
  • Fix up some comments
  • Add some more summary info

- Add baseline entries for some typical cases
- Add an option for the baseline entry to specify that assembly versions can vary by revision number. This allow for a generic match on file named with a specific check that major.minor.patch are the same
@Copilot Copilot bot review requested due to automatic review settings March 18, 2025 18:52
@mmitche mmitche requested review from a team as code owners March 18, 2025 18:52
@dotnet-issue-labeler dotnet-issue-labeler bot added Area-Infrastructure untriaged Request triage from a team member labels Mar 18, 2025
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR improves baselining by adding new baseline entries for typical cases and introducing an option to allow assembly version matches with revision-only variance. It also refines reporting details and updates comments for clarity.

  • Adds detailed issue count reporting in the comparison report.
  • Renames parameters for clarity in package comparison methods.
  • Introduces a new baseline property to specify revision-only variance matching.

Reviewed Changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 1 comment.

File Description
src/SourceBuild/content/eng/tools/BuildComparer/Program.cs Updates to console reporting and renaming of parameters for diff vs. baseline package readers; updated error messages in assembly version comparisons.
src/SourceBuild/content/eng/tools/BuildComparer/BaselineEntry.cs Introduces the AllowRevisionOnlyVariance property and associated regex-based matching logic for assembly version variance.
Files not reviewed (1)
  • eng/vmr-msft-comparison-baseline.json: Language not supported

Comment on lines +59 to +64
{
"issueType": "AssemblyVersionMismatch",
"descriptionMatch": "Microsoft\\.DotNet\\..*\\.dll",
"allowRevisionOnlyVariance": true,
"justification": "Arcade binaries vary build to build."
},
Copy link
Member

Choose a reason for hiding this comment

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

Not sure about this one. We have assemblies with that prefix in sdk and other repos as well.

Copy link
Member Author

Choose a reason for hiding this comment

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

Are you sure? I think those in SDK are all Microsoft.NET

Copy link
Member

Choose a reason for hiding this comment

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

yes. here's a current list:

Microsoft.DotNet.ApiCompat.Task.dll
Microsoft.DotNet.ApiCompat.Task.resources.dll
Microsoft.DotNet.ApiCompatibility.dll
Microsoft.DotNet.ApiCompatibility.resources.dll
Microsoft.DotNet.ApiSymbolExtensions.dll
Microsoft.DotNet.ApiSymbolExtensions.resources.dll
Microsoft.DotNet.Cli.Utils.dll
Microsoft.DotNet.Cli.Utils.resources.dll
Microsoft.DotNet.Configurer.dll
Microsoft.DotNet.Configurer.resources.dll
Microsoft.DotNet.InternalAbstractions.dll
Microsoft.DotNet.NativeWrapper.dll
Microsoft.DotNet.PackageValidation.dll
Microsoft.DotNet.PackageValidation.resources.dll
Microsoft.DotNet.SdkResolver.dll
Microsoft.DotNet.TemplateLocator.dll
Microsoft.DotNet.TemplateLocator.resources.dll

@mmitche
Copy link
Member Author

mmitche commented Mar 18, 2025

@ViktorHofer Added nuspec comparisons.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Infrastructure untriaged Request triage from a team member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants