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

VMR Validation Proposal #15354

Merged
merged 5 commits into from
Jan 28, 2025
Merged

VMR Validation Proposal #15354

merged 5 commits into from
Jan 28, 2025

Conversation

mmitche
Copy link
Member

@mmitche mmitche commented Dec 19, 2024

To double check:


### VMR PR/CI builds a selected subset of verticals and scenarios

On insertion into a VMR, we will run a selected representative subset of scenarios. This representative subset may change over time as the product changes, however, a rough sketch may look like:
Copy link
Member

Choose a reason for hiding this comment

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

we will run a selected representative subset of scenarios.

How will these be defined? Or are these simply hand-picked legs from existing list?

Copy link
Member

Choose a reason for hiding this comment

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

I should have said "How are these defined?" given the Completed status.

Copy link
Member Author

Choose a reason for hiding this comment

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

These were hand-picked initially based on what we thought the right matrix is given the changes we are making. An x86, x64, and arm64 leg across various platforms, a few short stack legs, etc.


We will introduce the ability to trigger optional full VMR insertion validation on PRs. These will run a desired subset of the MSFT/source-only VMR builds and validation. We believe this is a net-net win overall for the product.

**Scheduling: Can be implemented now.**
Copy link
Member

Choose a reason for hiding this comment

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

Does this mean there will be a similar darc-powered VMR sync happening like it happens now in SDK PRs?
Because I don't think the tooling is quite ready (but not far neither).

What happens now in SDK PRs is sort of a "paste" where we take the current SHA1 of the repo in the VMR, the SHA2 of the PR branch and we create patch SHA1_SHA2 in the repo and apply it onto the VMR (plus some patch operations, cloaking..).
But this will differ when we have the flat flow. The forward flow logic does something different based on what the last flow between the repos was and whether there is conflicting content.

The result is that the current way basically inserts/overwrites the repo contents in the VMR, the latter pushes new changes to the VMR but might be based off of an older commit of the target branch when conflicts with the tip prevent to apply the changes on top of it.

Which behaviour do we want for this insertion? I'd say the both can have cases where the VMR has some updates you won't be able to possibly include in your PR build. I'd say the latter is better because it will mimic more what will happen on a subsequent forward flow.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah I think we want something closer to the forward flow in this case.

Copy link
Member

Choose a reason for hiding this comment

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

Okay, I will make this an item in the "Prepare tooling for flat flow" epic

ViktorHofer
ViktorHofer previously approved these changes Dec 20, 2024
Copy link
Member

@ViktorHofer ViktorHofer left a comment

Choose a reason for hiding this comment

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

This is very well written. Thanks for spending your time on this.

@ericstj ericstj self-requested a review January 7, 2025 16:49
mmitche and others added 2 commits January 10, 2025 09:32
Co-authored-by: Michael Simons <[email protected]>
Co-authored-by: Přemek Vysoký <[email protected]>
@mmitche mmitche enabled auto-merge (squash) January 16, 2025 19:19
@mmitche mmitche disabled auto-merge January 28, 2025 21:54
@mmitche mmitche enabled auto-merge (squash) January 28, 2025 21:54
@mmitche mmitche merged commit a0a5099 into dotnet:main Jan 28, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants