-
-
Notifications
You must be signed in to change notification settings - Fork 293
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
Dependency updates with Renovate #780
Comments
I recommend use the official GitHub Dependabot: |
Would be useful to do something here. We used renovate in https://github.com/modernweb-dev/example-projects and that's working out well. Although it's quite a lot of noise, that's why we opted out of it in the past. Perhaps we can configure it to only do security updates. |
thx for the suggestion and now we should actually be able to do something for it... In the past, we opted out of it as every change to package.json would trigger a release... but now with changeset we can control this better... so yes we should set something up... renovate seemed to work fine in the past... but dependabot being there out of the box might be a "better/simpler" choice? let's evaluate |
I like the look of Renovate after researching it, and it would be good to be consistent between projects. I'll play around with Renovate this week and propose a config for this repo in a PR. |
Yeah, you have it in the same GitHub UI: https://github.com/modernweb-dev/web/network/updates And we just need one file: #801 |
I think we should use Renovate. One weakness of Dependabot is that it creates one PR for each sub-project for each dependency, which will be even more noise. Renovate will create one PR for each dependency that will update all the sub-projects. See dependabot/dependabot-core#1190 (comment) for an example. |
You are right about that! |
I created #804 to propose a Renovate config file. As a side note, we should fix the BrowserStack and Sauce Labs actions before moving forward with this. Renovate can automatically merge PRs that pass the test suite, and it looks like those tests are failing most of the time. |
Nowadays Dependabot also create one PR for each dependency that update all the packages in a monorepo. If that was the only reason I would bet on Dependabot. |
My status: I copied this repo to a test repo to try out Renovate. Based on @vlilloh's comment, I'll create a similar one for Dependabot so I can compare them. Another other thing I've seen as a recommendation for Renovate is that it will update all packages from known monorepos at the same time (for example, install all I've discovered that the tests are flaky. Renovate created a total of 81 update PRs on my copy of the repo. Out of the 72 PRs that passed tests, at least 12 of them failed with timeout errors and had to be recreated before they passed. I want to look into these tests and see if I can figure out how to make them more reliable. (Is it as simple as increasing the timeout?) Renovate test repo: |
One concern I have is that we will generate a lot of version bumps when our dependencies change. This will happen especially if we use locked versions. Are we able to keep using semver so that we get minor updates at least? |
The Renovate config I proposed will keep using semver. It'll bump the minimum version to whatever the latest is, but it won't pin exact versions. We also have the option to only update the You can see all our update strategy choices here: However, I think that with changeset, the dependency updates shouldn't trigger new versions unless you manually add a changeset entry to the PR, so even with the config I proposed we shouldn't be getting version bumps every time a dependency update happens. The workflow I imagine is:
|
That sounds like a good approach 👍 |
Re: @vlilloh and @abdonrd suggesting Dependabot While testing Dependabot, I discovered that the new Dependabot (native to GitHub) does not support automatically merging packages. I don't know how long the legacy version of Dependabot (which supports auto-merging) will still be around, so I wouldn't want to use it here. This is a huge strike against Dependabot, and I think we should move forward with using Renovate. |
Hi folks! I've noticed that several dependencies are out of date, sometimes causing warnings when running
npm install
.I noticed that you already use Snyk at
open-wc
. Snyk has the ability to automatically keep dependencies up-to-date. Can we use this to keep dependencies up-to-date inopen-wc/open-wc
andmodernweb-dev/web
?I don't see any documentation about whether Snyk works with monorepos. If Snyk doesn't work, Dependabot works with monorepos according to their website. I like Dependabot due to using it on a Ruby project I help maintain.
I think we should use something to keep dependencies up-to-date, and I would prefer it to be automated since there are so many individual packages.
updates available as of 2020-10-26
npm@7 output when running npm install
The text was updated successfully, but these errors were encountered: