-
Notifications
You must be signed in to change notification settings - Fork 370
Add Flat flow preview flow script #15841
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
I don't think this PR is good to merge yet, it's missing some information, mostly about which branches and channels tooling repos should use, and also branches that currently have @ViktorHofer, @mmitche could you provide me with this info? |
@dkurepa brings up an interesting question about what to do for repos that do not branch for a preview. There are many of these. Do we add backflow? We can't really add backflow because flowchart LR
roslyn["roslyn main"]
VMRmain["VMR main"]
VMRp5["VMR preview 5"]
roslyn--FF-->VMRmain
roslyn--FF-->VMRp5
VMRmain--BF-->roslyn
VMRp5 -. BF?? .-> roslyn
My sense is that repos that do not branch should not get backflow. Repos may choose not to branch if
This pretty much directly maps to what happens in normal dependency flow today. roslyn can flow to multiple output SDK branches, but couldn't take updates from multiple SDK branches. I think we will need validation of the second point. I think in an ideal world, you could set up backflow from two branches to one branch. Flow would normally go from vmr main -> roslyn main. But, if someone makes a change in VMR p5 and it flows to roslyn main, we need to examine the change and decide what the state of the world needs to be. /cc @premun |
- Move changes to the original create preview flow script - Only add backflow for repos that branch for a release. - Add a dry-run switch
No need to merge this immediately. Just a review. I'll use it to create the preview flow tomorrow and then we can merge after a day or so once we see it's working as expected. |
May need an excludeAssets * on templating, depending on the outcome of dotnet/templating#9060 |
Can we copy the excludeAssets metadata from the corresponding main subscriptions to avoid another source of truth? |
@mmitche FYI I just found out all the tooling repos have their forward flow subscriptions created without the |
I just went through all of the |
scripts/create-preview-flow.ps1
Outdated
Write-Host "Adding VMR->repo backflow." | ||
# Only repos that branch for a release get backflow | ||
AddBackwardsFlow $publicVMR $SdkChannel https://github.com/dotnet/runtime runtime $RuntimeBranch EveryBuild | ||
AddBackwardsFlow $publicVMR $SdkChannel https://github.com/dotnet/aspnetcore aspnetcore $RuntimeBranch EveryBuild -excludedAssets "Microsoft.CodeAnalysis.Common;Microsoft.CodeAnalysis.CSharp;Microsoft.CodeAnalysis.CSharp.Workspaces;Microsoft.CodeAnalysis.ExternalAccess.AspNetCore" |
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.
What I meant earlier was whether we can fetch the list of excluded assets from the main subscription so that we don't need to hardcode them here. Otherwise we would need to keep this list up-to-date.
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.
ahh, right, good idea, will add that instead
{ | ||
# Update splatting: use an array for extra arguments | ||
$mainSubscriptionObject = & darc get-subscriptions --source-repo "$sourceVmr" --channel ".NET 10.0.1xx SDK" --target-repo "$targetRepo" --output-format json | ConvertFrom-Json |
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.
Now I wonder if we would want a a darc copy-subscription --id X
command that would allow overriding parameters.
To double check:
dotnet/arcade-services#4533