Skip to content

Add baselining mechanism to the build comparison tool #47562

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

Merged
merged 1 commit into from
Mar 14, 2025

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 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 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.

3 participants