-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Use versions repo tooling from BuildTools #6664
Conversation
@@ -47,8 +47,40 @@ | |||
<CoreClrPackageVersion>1.0.4-beta-24325-02</CoreClrPackageVersion> | |||
|
|||
<CoreFxVersionsIdentityRegex>^(?i)((System\..*)|(Microsoft\.CSharp)|(Microsoft\.NETCore.*)|(Microsoft\.Win32\..*)|(Microsoft\.VisualBasic))(?<!TestData)$</CoreFxVersionsIdentityRegex> | |||
|
|||
<BaseDotNetBuildInfoUrl>https://raw.githubusercontent.com/dotnet/versions/master/build-info/dotnet/</BaseDotNetBuildInfoUrl> | |||
<DependencyBranch>master</DependencyBranch> |
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.
Would this need to be updated when the change is moved to release branch in future? If so, can we set it only if not already set, enabling it to be set via build system too?
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.
It would, but I don't see the value in setting it via the build system:
- The plan is to use this for dependency validation, so everyone working on the branch needs the same value. (And I don't think there's a reliable way for dev builds to determine "current branch" without checking something into source.)
- Even before that goes into action, currently the value is only used to upgrade dependencies, and it isn't used during builds.
- The logic below is simply
$(BaseDotNetBuildInfoUrl)[...]/$(DependencyBranch)
in this PR, but it will be customized for different branches. E.g.dev/api
would still depend onmaster
for External, butdev/api
for corefx and coreclr. (On the corefx side, once coreclr starts buildingdev/api
, the corefxdev/api
branch needs to start using that as its dependency. (If that's actually planned.))
I can't think of an alternative that doesn't require some property checked into source that is different based on branch.
Awesome! Are there other places that invoke UpdateDependencies.ps1 that we'd need to modify to account for removing it? |
The only place that should be using it is the Maestro subscription, which I'll change like I did for corefx in dotnet/versions#48. If I remember correctly I may have to be more creative with how I invoke it in coreclr because of the different run commands. I'll make sure I have a workable PR up on the versions repo before merging this into coreclr. |
e8d807d
to
7e14bcb
Compare
I added changes from dotnet/corefx#10868 so this uses full-version verification now, as well as full-version upgrade. I'm working on a decent command to add to the versions repo subscription. @gkhanna79 Could you take a look at my response on the thread about setting dependency branch in the build system? In short, I don't see a reason to set it with a build parameter. |
@dagood Sounds good to me. |
86b20f5
to
13271d3
Compare
@dotnet-bot test this please |
Sets up dependencies.props config. Removes UpdateDependencies powershell script, to be replaced by a call into VersionTools in Maestro automation. Changes UpdatePublishedVersions to pass through to VersionTools for backward compatibility.
13271d3
to
5a63fd8
Compare
I'd thought those CI errors were because of a buildtools upgrade, but merging to a point where someone else has already upgraded, the errors are still happening. They look like this:
http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/x86_lb_checked_windows_nt_prtest/3172/ It looks like other PRs haven't had this issue, but it's happened twice here with the same affected builds each time. Any ideas on this, or who would know what to look for? |
'lxwmyqzb.dll' seems kinda suspect, is that a real thing? |
@mmitche Does this sound like the CodeFactory infra issue you were investigating? |
Yes |
Whats the workaround/solution that @dagood could use? |
For now, rerunning the legs: @dotnet-bot test Windows_NT x86 legacy_backend Checked Build and Test |
Third time's the charm! Thanks, merging. |
Use versions repo tooling from BuildTools Commit migrated from dotnet/coreclr@3bb39a5
This changes the auto-upgrades to use a single PR for all dependency upgrades (per branch), updating an already-opened PR when possible. (For more info see dotnet/corefx#10602.)
Here's an example upgrade: dagood#2.
This should let us enable auto-upgrade without dealing with PR spam.
/cc @wtgodbe @gkhanna79
Edit: This also adds full-version package dependency verification, so there are no more regexes. Check dotnet/corefx#10868 for some details on that. I've let the tool update dagood#2 to show how it changes the new file.