-
Notifications
You must be signed in to change notification settings - Fork 10.4k
Bump versions using new (coherent) darc
tool
#7906
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
Conversation
CI checks are apparently failing because the latest Microsoft.EntityFrameworkCore.* dependencies aren't available where this repo is looking. Are we missing a '.NET Core 3 Dev' feed in https://github.com/aspnet/AspNetCore/blob/master/build/sources.props#L13-L24 ? |
</Dependency> | ||
<Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="3.0.0-preview3.19115.4"> | ||
<Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="3.0.0-preview4.19122.13"> | ||
<CoherentParentDependency>Microsoft.NETCore.App</CoherentParentDependency> |
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.
This presents a new challenge I didn't think much about till now.
If AspNetCore-Tooling depends on Extensions build N and EntityFrameworkCore depends on build N+1, which one should darc choose? N or N+1? What if there is no build of AspNetCore-Tooling and EFCore that both depend on the same version of Extensions?
cc @mmitche
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.
@natemcmaster if we need those two to depend on a coherent set of aspnet/Extensions packages, perhaps we need to be able to specify <CoherentParentDependency>Microsoft.NETCore.App;Microsoft.Extensions.Configuration</CoherentParentDependency>
or some such?
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.
The bot automerges EF dependencies without interaction; i.e. no review required (e.g. dotnet/efcore#14799); Extensions always requires an approval to merge, so its probably why EF is always getting ahead of Extensions with dependencies?
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.
e.g. either allow the bot to automerge Extensions (so they are both always on latest fairly close to each other); or require approval for EF so the merges can be manually coordinated?
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.
@benaadams I'm playing with a new version of the tool we hope the bot will use eventually. If the tool can't avoid inchorent dependencies, the bot will be worse.
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.
This presents a new challenge I didn't think much about till now.
If AspNetCore-Tooling depends on Extensions build N and EntityFrameworkCore depends on build N+1, which one should darc choose? N or N+1? What if there is no build of AspNetCore-Tooling and EFCore that both depend on the same version of Extensions?
cc @mmitche
The rule right now is that we choose a build that has the minimal graph depth. So if you say that some corefx dependency should be coherent with M.N.A, then it will find the corefx build producing the dependency with minimal depth to the current M.N.A version. Since, for instance, core-setup depeneds on coreclr which depends on corefx, that path to a corefx build will NOT get chosen because it is longer than M.N.A. to corefx. If no coherent build is possible (e.g. your dependency is on a new corefx binary who's build has not yet been pulled into core-setup) then the tool will error, as no coherent build is possible. In this case, you can either remove the attribute, or set the dependency to pinned.
Let's whiteboard this in the morning so I can get a better picture of what needs to happen.
@natemcmaster @mmitche @jcagme
|
Conflicting files
|
FYI, despite our questions, the CI checks were successful. |
OSX.1012.Amd64.Open is timing out in corefx also; so I think that's unrelated |
@@ -9,51 +9,61 @@ | |||
--> | |||
<Dependencies> | |||
<ProductDependencies> | |||
<Dependency Name="Microsoft.AspNetCore.Razor.Language" Version="3.0.0-preview4.19123.2"> | |||
<Dependency Name="Microsoft.AspNetCore.Razor.Language" Version="3.0.0-preview4.19124.1"> | |||
<CoherentParentDependency>Microsoft.NETCore.App</CoherentParentDependency> |
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.
As currently implemented, these should be attributes on Dependency, not child elements.
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.
@mmitche 🆗 Guess I thought this file was more like a MSBuild .props
file.
Closing this. I'm going to redo this using the correct syntax and whatever @mmitche comes up with for our second diamond dependencies (w/ Extensions). |
No description provided.