Skip to content

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

Closed
wants to merge 2 commits into from

Conversation

dougbu
Copy link
Contributor

@dougbu dougbu commented Feb 24, 2019

No description provided.

@dougbu
Copy link
Contributor Author

dougbu commented Feb 24, 2019

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>
Copy link
Contributor

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

Copy link
Contributor Author

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?

/cc @mmitche @jcagme

Copy link
Member

@benaadams benaadams Feb 25, 2019

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?

Copy link
Member

@benaadams benaadams Feb 25, 2019

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?

Copy link
Contributor Author

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.

Copy link
Member

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.

@dougbu
Copy link
Contributor Author

dougbu commented Feb 25, 2019

@benaadams
Copy link
Member

Conflicting files

eng/Version.Details.xml
eng/Versions.props

@dougbu
Copy link
Contributor Author

dougbu commented Feb 25, 2019

FYI, despite our questions, the CI checks were successful.

@dougbu dougbu added the area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework label Feb 25, 2019
@benaadams
Copy link
Member

Looking good!

Windows.10.Amd64.ClientRS4.VS2 existing issue #7867 to be resolved by #7763

OSX.1012.Amd64.Open killed due to hitting test run timeout

Otherwise everything passes

@benaadams
Copy link
Member

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>
Copy link
Member

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.

Copy link
Contributor Author

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.

@dougbu
Copy link
Contributor Author

dougbu commented Feb 25, 2019

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

@dougbu dougbu closed this Feb 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants