-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Dependabot takes hours for a common dependency upgrade in a mono repo. #4288
Comments
Hey @AlekhyaYalla, thanks for looking into this. Yes, monorepo support in Dependabot is currently not great, and I believe you are right that we will perform a separate update for every package in the repo.
If there is a single lockfile, and there can be no conflicting (transitive) dependencies, we may be able to do this yeah. There might be some edgecases here that I am missing though.
There likely are, but nothing we have identified/tracked currently.
Nothing tracked currently, but we have been aware of it and would welcome fixes around this!
Maybe? To be honest it's been some time since I've looked into this, and I don't have a good sense of where the bottlenecks and opportunities for improvements are, but relying on workspaces, which I believe is natively a part of yarn, sounds like a very promising direction. I wish I could provide more guidance/insights into this, but the team has been heads down on other projects recently. PS: Most of the methods you tried linking to link to the file instead of a specific line, so I wasn't able to figure out which methods you were looking at. |
Hey @jurre Thanks a lot for replying impromptly. My bad, I missed the links to the methods, Please find them below Thanks for your insights. I'll spend some time on this and will be updating the same thread if there is any workaround for this in a monorepo. |
Below are the conclusions. Please comment/correct me if any of these have different evaluations or If I missed any edge cases.
Here is the PR with proposed changes. |
I did not read this in detail, but since the linked PR was closed I guess this was fixed? Please reopen if not! |
Issue:
One of the issues we observed in dependency updates, is Dependabot taking a very huge amount of time in a mono repo for updating a dependency which is populated in more no of packages. In our case, we have a mono repo with yarn as a package manager and ~600 packages in it. React is one of the commonly added dependency in ~350 packages in this repo (both dependency & devDependency). While we try to update react using dependabot in this repo, it is taking nearly ~4hrs to finish the update task. The usual time by dependabot for doing an update of an irregular dependency in this repo is ~15-20min. The below are the observations from the investigation we did for common dependency.
Observations:
Wanted to know:
@jurre @hmarr @feelepxyz Please share your thoughts on this
The text was updated successfully, but these errors were encountered: