testcontainers / testcontainers/testcontainers-java

Combine many dependabot PRs into one

Open
#4,172 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type/housekeeping
Dominant language
Java
Stars
8.7k
Forks
1.9k
Avg merge
2d 17h
Merged PRs (30d)
9

Description

#4135 explored a scripted approach (running client side) of combining multiple PRs into one.

The motivation is that the sheer volume of dependabot PRs creates a weekly multi-hour merge chore, as well as obscuring real PRs by real people - both of which are terrible.

https://github.com/dependabot/dependabot-core/issues/1190 looks like it won't happen any time soon.

https://www.hrvey.com/blog/combine-dependabot-prs looks very promising and I think we should give it a try instead of my previous script attempt. I'd like to verify:

  • that, as seen in #4135, we can have the release notes updates automatically. We'd need to:
    • enable merge commits in this repo, and make sure we use them when merging the combined PR
    • (I think) update our release-drafter workflow triggers, so that pull request events trigger release drafter. Even if not required, we should probably do that anyway.
  • that merge conflicts are not too big a problem. We'll likely seem them occurring with changes in adjacent lines in build.gradle files, which may or may not be a nuisance.
    • if merge conflicts are a problem, I have written a dirt-simple git merge driver script which seems to work well enough for build.gradle files - perhaps we could explore using this.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing #4135 and the release-drafter workflow referenced in the issue. Test whether combining Dependabot PRs with merge commits updates release notes correctly, then evaluate merge conflicts in the build.gradle files; done means the workflow is reliable and conflicts are manageable.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, github-actions
Domain
build-system, ci-cd, release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.