Skip to content
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

How does dependabot auto-resolve conflicts? #1722

Closed
GiriB opened this issue Mar 6, 2020 · 8 comments
Closed

How does dependabot auto-resolve conflicts? #1722

GiriB opened this issue Mar 6, 2020 · 8 comments

Comments

@GiriB
Copy link
Contributor

GiriB commented Mar 6, 2020

I see that when multiple PRs are open and I complete one by one - there are times when there is a conflict in package.json. I'm curious to know how these conflicts automatically? Does dependabot re-run the updates in background with the latest master? Does it rebase?

@GiriB GiriB changed the title How does dependabot fix merge issues? How does dependabot conflicts? Mar 6, 2020
@GiriB GiriB changed the title How does dependabot conflicts? How does dependabot auto-resolve conflicts? Mar 6, 2020
@feelepxyz
Copy link
Contributor

@GiriB dependabot re-runs the update with the latest master and force pushes over the existing PR

@GiriB GiriB closed this as completed Mar 8, 2020
@xh3b4sd
Copy link

xh3b4sd commented May 19, 2020

May I ask what the best practise in such cases looks like. When will dependabot rebuild the pull request having merge conflicts? It looks like it just happens after the usual interval which is a bit unfortunate. How should the workflow look like?

@feelepxyz
Copy link
Contributor

May I ask what the best practise in such cases looks like. When will dependabot rebuild the pull request having merge conflicts? It looks like it just happens after the usual interval which is a bit unfortunate. How should the workflow look like?

Unless you disable automatic rebases we try to do it every time your manifests change on your default branch, this will then kick of the rebase job but these can take some time as the update needs to be re-done from scratch. Not sure I follow what you mean by How should the workflow look like??

@xh3b4sd
Copy link

xh3b4sd commented May 29, 2020

My workflow question was directed towards the sequence of events depending on the configuration. I am not sure how long one is supposed to wait for the conflict resolution. So right now I just close PRs as soon as they have conflicts and wait for new PRs to get proposed again from scratch by Dependabot.

@feelepxyz
Copy link
Contributor

My workflow question was directed towards the sequence of events depending on the configuration. I am not sure how long one is supposed to wait for the conflict resolution. So right now I just close PRs as soon as they have conflicts and wait for new PRs to get proposed again from scratch by Dependabot.

Hm that sounds like a bug! It should be within minutes if you enable Automatically rebase Dependabot PRs when they have conflicts in your dependabot dashboard account settings page.

Screen Shot 2020-05-29 at 17 35 35

You can also trigger a rebase by commenting on the PR with @dependabot rebase. Once a rebase is kicked off there should be a message added to the PR body notifying you of this. Otherwise, could you send over the URL to the latest logs and I can take a look? You'll find the logs if you go the dependabot dashboard and click on last checked..

@xh3b4sd
Copy link

xh3b4sd commented May 29, 2020

Thank you for your support. I will try to get back to this here once I encounter the situation again. I cannot find the exact PR where I perceived the described behaviour as it was a couple of days ago and I did not write it down in the first place.

@xh3b4sd
Copy link

xh3b4sd commented Jun 4, 2020

I think I perceived the situation again and left it alone to see what actually happens. When I came back the other day I saw a new commit which was made by dependabot round about a minute later. So I guess there is no real problem. From my side there would only have been the expectation that this is way more snappy and quick or that this is at least explained somewhere where I could read how the behaviour was implemented. Anyway thanks a lot for checking in here.

@feelepxyz
Copy link
Contributor

@xh3b4sd that's fair, it's slow because we actually re-run the entire update against the head version of your manifests, so depends on the size of your project and the workload we're currently under where things can get stuck in queues if we're backed up. Will see if we can add this to our docs. We're moving it all to help.github.com at the moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants