-
Notifications
You must be signed in to change notification settings - Fork 16
How to consolidate all update PRs into one PR? #938
Comments
Also, is there a way I could delay PR creation until the tests have succeeded? |
How did you enabled renovate? Normally renovate would add a onboarding pr before opening other pr's. Also i can't see a renovate.json config in your repo. So how do you configured renovate? Why don't you have filled out issue template? There are essential questions you need to answer. Without them we aren't able to help you more. |
The onboarding PR is great for giving a preview of this. Also, if you were using the default settings in
See ignorePaths The app by default proposes the
Yes, any grouping can be configured manually, and there are a few presets available too. I don't recommend grouping unrelated major updates though. Try the preset group:allNonMajor |
Sou really should have enabled onboarding. You can use organization level config to use a custom default onboarding config. See https://docs.renovatebot.com/config-presets/#organization-level-presets |
I'm sure there's many things in my config that I'm missing, that I should have :-) I generally prefer to explicitly define everything instead of relying on a preset, but I'll look into those, thanks. If I update my Re |
I'm fine with an onboarding PR; how do i enable that? |
At the end of each run, Renovate looks for any branches/PRs that shouldn't be there anymore. It then:
It's been implemented this way so that if 90% of the time you ignore |
Onboarding PRs were disabled in our backend as requested in #816, so I'd need to change that for you. However one challenge is that onboarding is normally accompanied with the requirement for a
In other words, any of your other existing repos may trigger an onboarding PR if we were to enable it, because they don't have a config file. |
gotcha; sounds like that's not the path for me then, thanks. I'll explore how to use the builtin presets. Would this: {
"extends": ["github>ljharb/.github"],
"ignorePaths": "whatever"
} be what i need, or is there a simpler/more concise approach? i couldn't quickly find examples in the docs. |
Your repos already extend your preset by default, so you don't need to explicitly add |
My recommendation is to add a good You also may want to add |
I did a push to my |
Yes, you will need a master commit to flush renovate cache, so it will reevaluate the whole config |
FYI the extract cache invalidates itself if the resolved repository config changes (e.g. |
How would it normally work when a repo’s local config never changes, but the upstream config it extends changes? |
Actually, turns out it's not cache-related and will need a code fix so that we do an extra "resolve" step for the preset which is implicitly added. Working on it and will update you here once it's ready. |
@ljharb I think it's now working as intended. Please see ljharb/list-exports#40 There's now just one update pending and it requires dashboard approval first |
Thanks! I'll leave that pending until renovatebot/renovate#4826 is implemented, since based on all of my projects' "engines" field, none of them should ever be prompted to update to rimraf 3 (or semver 7, or nyc > 11, or mocha > 3, etc). |
That feature request is still in "needs requirements" stage because I don't think we really nailed down how it would work including edge cases. If you can help move it forward in that aspect, please feel free to comment |
Thanks, I've commented - hopefully that helps. |
The same thing has happened again, despite a dependency dashboard existing, and despite the config theoretically now ignoring, via preset, everything in "tests" directories. |
@ljharb are you able to point me to the repo/PR? And you clarify what "same thing" means exactly, because this issue took on a few topics |
https://github.com/ljharb/list-exports. I mean that I again received 30+ PRs to update dependencies in |
Never mind, I see you @'d me in a different repo. Picking one PR at random, here's the files diff: |
|
It's also notable that these PRs a) aren't mentioned in the dependency dashboard, and b) more of them were opened at once than my config's PR threshold should allow. |
There's nothing recently changed to my knowledge, and Renovate has cared about PR title since day 1, as that's how it checks if a PR has been raised before (and why it adds an In short: if you have a PR with same branch/title, that will block future PRs. But in this case, that should be irrelevant, because the intention is that ignorePaths is being set to ignore tests? (you seem to agree based on your last comment, which popped up here before I'd finished typing) |
I am purely speculating right now, but it seems as if your preset is occasionally not picked up. So it goes from ignoring them and them being absent from the dashboard to suddenly and incorrectly thinking they all need creating. The logs hopefully can give us some indication if that's the case or not. |
That all makes sense. In particular, I never, on any repo, would want more than one unmerged PR created for the same dependency; I'd prefer to maximally reuse PRs, since every PR creates an eternal, undeleteable git ref ( |
Are ok to suspend access for Renovate until I've worked out why that particular run misbehaved? I want to try to avoid it happening again. You could uninstall too but I think GitHub's option to suspend is most suitable. |
Sure, i can just remove that repo for now - i only have a few enabled so far and that’s the only monorepo, and also the only one with text fixtures. |
It's not often that you spot a problem from literally line 1 of the logs. The (good) job before:
The bad job that added all the PRs:
Seems we have a worker stuck on the old release and unfortunately this repo came up on the roulette wheel. I'll find and terminate it manually but need to think how to catch it automatically in future. |
Gotcha, thanks :-) guess I'm just lucky. Let me know when I should re-enable list-exports, and also continue onboarding new repos. |
You should be fine to re-enable that repo and continue now. We got particularly unlucky because I'd added some custom code at one point to enable your no-repo-config approach and unfortunately that worker was stuck on a release from earlier than that. |
I just enabled renovate on https://github.com/ljharb/list-exports, and promptly got 33 update PRs.
One issue is that it's trying to update all the
package.json
s in my test fixtures folder - so I'm assuming I could add some config that would cause those to be ignored?The other, though, is that I would expect one PR, not 33, for the initial update. Can that be configured?
The text was updated successfully, but these errors were encountered: