dotnet / buildtools

Build tools that are necessary for building the .NET Core projects
477 stars 240 forks source link

Retry updating build info on NotFastForwardUpdateException #2265

Closed dibarbet closed 5 years ago

dibarbet commented 5 years ago

See https://github.com/dotnet/buildtools/issues/2221 We hit this issue semi-regularly in our CI pipeline https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=3173501

dibarbet commented 5 years ago

@dagood Do you have a good way of running the tool locally (without actually making updates to dotnet/versions) to test? I couldn't find anything obvious

dagood commented 5 years ago

Well, this is the wrong repo. 😛 This lib is now built over in dotnet/arcade: https://github.com/dotnet/arcade/tree/master/src/Microsoft.DotNet.VersionTools/lib

I generally run through changes with the MSBuild task, UpdatePublishedVersions, pointing at my own fork of dotnet/versions and my bot account (to reduce permission set).

I use Fiddler to test things like this where I need to precisely control the order of HTTP calls. (Run the task twice at the same time and manually let HTTP requests through in a way that triggers the problem.)

You could write unit tests by mocking out the IGitHubClient interface and adding a place to inject your own client, but I think manual testing is fine to get this merged.

(Link to Roslyn issue for reference: https://github.com/dotnet/roslyn/issues/39308.)

dibarbet commented 5 years ago

Well, this is the wrong repo. 😛 This lib is now built over in dotnet/arcade: https://github.com/dotnet/arcade/tree/master/src/Microsoft.DotNet.VersionTools/lib

Ahh! I'll close this and open a new one to arcade.