testcontainers / testcontainers/testcontainers-java
Combine many dependabot PRs into one
Nobody has claimed this yet.
- 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.gradlefiles, 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.gradlefiles - perhaps we could explore using this.
- if merge conflicts are a problem, I have written a dirt-simple git merge driver script which seems to work well enough for
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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