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

Workflow to automerge Dependabot PRs #35

Open
jglick opened this issue Sep 23, 2024 · 5 comments
Open

Workflow to automerge Dependabot PRs #35

jglick opened this issue Sep 23, 2024 · 5 comments
Labels
enhancement New feature or request

Comments

@jglick
Copy link
Collaborator

jglick commented Sep 23, 2024

Manually merging things like jenkinsci/workflow-api-plugin#359 is very tedious if you are responsible for a lot of plugin repositories. Something like jenkinsci/build-token-root-plugin@0c8842a is a lot more convenient. Does it make sense to make a reusable workflow out of this?

Ideally it would be more selective about which dependencies to merge automatically and which to leave to human review. plugin-pom and git-changelist-maven-extension are almost always safe. bom-* like in jenkinsci/build-token-root-plugin#171 is potentially unwanted, since it can gratuitously pull in newer deps on other plugins that can make certain backporting tasks harder. Dependencies on non-BOM plugins would probably not be wanted for automerge for the same reason. Maven plugins are typically fine to automerge. Third-party library JARs could go either way. Is there some include/exclude pattern which would be sufficiently universal and uncontroversial?

@jglick jglick added the enhancement New feature or request label Sep 23, 2024
@jtnord
Copy link

jtnord commented Sep 25, 2024

bom-* like in jenkinsci/build-token-root-plugin#171 is potentially unwanted, since it can gratuitously pull in newer deps on other plugins that can make certain backporting tasks harder.

Additionally these are mostly noise and I would say iff the CI check passes they should be automatically closed. A user can update the version manually if they need to pickup some newer dependencies for some API, and the failing builds which are the "🚩something is probably broken here" would then be left for a maintainer to address some source (or binary) incompatibilities.

@timja
Copy link
Member

timja commented Oct 2, 2024

@jglick
Copy link
Collaborator Author

jglick commented Oct 7, 2024

openrewrite/rewrite-jenkins#20 (comment) yes that is an alternative, though enabling automerge from DB is straightforward enough and probably more familiar to most developers.

On a tangential note, I am not sure what to do about the dozens of PRs like jenkinsci/workflow-api-plugin#361 as jenkinsci/plugin-pom#1004 is not yet appropriate for most plugins. We could recommend that the DB config for plugins ignore major version bumps for plugin-pom generally. (Automerge just ignores such PRs since they do not pass checks, unless your baseline is in fact new enough.)

@timja
Copy link
Member

timja commented Oct 7, 2024

I don't think there's a great way to solve it for dependabot apart from updating every repository to ignore v5 or just waiting a bit (few weeks?) and updating baselines (open-rewrite?)

For renovate, setting up an shared preset could be done and plugins changed to use that so in future we could have less effort for something like this happening: https://docs.renovatebot.com/config-presets/

@jglick
Copy link
Collaborator Author

jglick commented Oct 8, 2024

(One-off example FTR: jenkinsci/archetypes#763)

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

No branches or pull requests

3 participants