-
Notifications
You must be signed in to change notification settings - Fork 1.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
Switch from dependabot to renovate #10567
Conversation
(This PR is a competing PR to #8411 -- we should either do that PR or this one, but not both.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. Is there a way to test this or do we have to wait for next Monday?
If we merge this PR and enable the renovate bot, the bot will immediately do one of two things:
So we should get pretty quick feedback on any issues here if this is merged! |
Sounds good. Thanks. Let's give @zanieb some time to take a look at this PR. They set up the dependantbot configuration initially. |
.github/renovate.json5
Outdated
"ignoreDeps": [ | ||
// The latest versions of these are not compatible with our release workflow | ||
"actions/upload-artifact", | ||
"actions/download-artifact", | ||
], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we still doing things like @<bot> ignore this version
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think you can @
renovate in the same way you can with dependabot. It's possible to add config to this file specifying that it should permanently ignore certain versions (or version ranges), however. Additionally, if you close a renovate PR, it will generally assume that you don't want to see any future PRs updating the dependency to that version. Docs here: https://docs.renovatebot.com/key-concepts/pull-requests/#normal-prs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for doing this!
I installed the (setup-renovate)⚡ % npx --yes --package renovate -- renovate-config-validator ~/dev/ruff
(node:98623) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
INFO: Validating .github/renovate.json5
INFO: Config validated successfully |
Summary
This PR sets up a renovate config for updating our dependencies, and removes our dependabot config. Advantages of renovate over dependabot are:
Disadvantages are:
Note that this PR is necessary but not sufficient for enabling renovate on this repository, if we decide that this is the way we want to go. Renovate's Github.com app would also need to be enabled for this repository.
Configuration details
I've used renovate before in https://github.com/AlexWaygood/typeshed-stats and https://github.com/python/typeshed, so I'm pretty confident that this configuration file is basically correct. I've used a
.json5
file rather than a.json
file so that we can have comments in the file. (json5
is a supported file format for renovate configuration.) Some notes on the specific configuration options I've chosen:python/
andscripts/
, nor our npm dependencies inplayground/
. I've added those in this PR (renovate will look for PEP-621 dependencies only in thepython/
andscripts/
dependencies, and will look for npm dependencies only in theplayground/
directory), but I'm happy to take them out again if that's something we're not interested in.Test Plan
If the Renovate bot is enabled, it will validate this configuration file and open an issue for us if there are any errors.