uber / prototool

Your Swiss Army Knife for Protocol Buffers
MIT License
5.05k stars 345 forks source link

Break check failures persist on various tests #554

Closed jathu closed 4 years ago

jathu commented 4 years ago

Hello, I have a question about the break check and how it behaves with forced breaking changes.

To give some context, we currently run the break check in our CI with prototool break check protobuf --git-branch master for every pull request. Prior to running any test, we also ensure we have the latest master:

> git fetch origin master
> git merge $LATEST_MASTER_COMMIT

From time to time, a breaking protobuf change is force merged into master by passing the failing CI break check. Since we compare against mater, this shouldn't cause any problems for other PRs. However, in reality, the other PR's break check complains with the same issues from the original breaking PR. This problem persists even if we merge master into the new PR.

Any clue about what's going?

jathu commented 4 years ago

So I think I might know the issue: the local master branch is stale. git fetch origin master does not update the local master, where as git fetch origin master:master does. It seems prototool does a local clone, not a remote clone, so it kept comparing it against a stale master.

If the prototool creators can confirm this, I can close the ticket.