Skip to content

Add baselining mechanism to the build comparison tool#47562

Merged
mmitche merged 1 commit intodotnet:mainfrom
mmitche:asset-comparison-baseline
Mar 14, 2025
Merged

Add baselining mechanism to the build comparison tool#47562
mmitche merged 1 commit intodotnet:mainfrom
mmitche:asset-comparison-baseline

Conversation

@mmitche
Copy link
Member

@mmitche mmitche commented Mar 13, 2025

Accepts an optiona; json file with a list of baseline entries. Baseline a few well known items.

Accepts an optiona; json file with a list of baseline entries. Baseline a few well known items.
Copilot AI review requested due to automatic review settings March 13, 2025 21:51
@mmitche mmitche requested review from a team as code owners March 13, 2025 21:51
@ghost ghost added Area-Infrastructure untriaged Request triage from a team member labels Mar 13, 2025
Copy link
Contributor

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 introduces a baselining mechanism to the build comparison tool. Key changes include:

  • Adding new types (BaselineEntry, Baseline, and associated JSON converter) to support baseline configuration.
  • Updating the CLI options and Program.cs to load and apply baselines during asset evaluation.
  • Updating the pipeline YAML to pass the baseline file path.

Reviewed Changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/SourceBuild/content/eng/tools/BuildComparer/AssetType.cs New enum for asset types.
src/SourceBuild/content/eng/tools/BuildComparer/Issue.cs New class representing asset issues with baseline support.
src/SourceBuild/content/eng/tools/BuildComparer/AssetMapping.cs New class for mapping asset details and tracking issues.
src/SourceBuild/content/eng/tools/BuildComparer/ComparisonReport.cs New report class summarizing issues, errors, and baselined items.
src/SourceBuild/content/eng/tools/BuildComparer/BaselineEntry.cs New baseline classes and a regex JSON converter for baseline configuration.
src/SourceBuild/content/eng/tools/BuildComparer/IssueType.cs New enum for issue types.
src/SourceBuild/content/eng/tools/BuildComparer/Program.cs Updated to add CLI options, load baseline file, apply baselining, and update reporting.
eng/pipelines/templates/steps/vmr-validate-asset-baseline.yml Pipeline template updated to include the baseline argument.
Comments suppressed due to low confidence (1)

src/SourceBuild/content/eng/tools/BuildComparer/Program.cs:50

  • The baseline CLI option is marked as required, but the PR description indicates that the baseline file should be optional. Consider setting Required = false.
var baselineArgument = new CliOption<string>("-baseline") { Description = "Path to the baseline build manifest.", Required = true };

@mmitche mmitche enabled auto-merge (squash) March 13, 2025 22:31
@mmitche mmitche disabled auto-merge March 14, 2025 14:39
@mmitche mmitche merged commit a71cd17 into dotnet:main Mar 14, 2025
38 of 41 checks passed
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.

4 participants