dependabot / dependabot/dependabot-core
dependabot rebase jumped the tracks
- Dominant language
- Ruby
- Stars
- 5.8k
- Forks
- 1.5k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 149
Description
### Is there an existing issue for this?
- [X] I have searched the existing issues
### Package ecosystem
Maven
### Package manager version
_No response_
### Language version
Java 11, 14, 17
### Manifest location and content before the Dependabot update
Project: https://github.com/SpiNNakerManchester/JavaSpiNNaker
Manifest: `/pom.xml`
### dependabot.yml content
https://github.com/SpiNNakerManchester/JavaSpiNNaker/blob/master/.github/dependabot.yml
### Updated dependency
Spring Boot, 2.7.14 → 2.7.15 / 3.1.3
### What you expected to see, versus what you actually saw
Dependabot submitted a PR to update Spring Boot from 2.7.14 to 2.7.15. Due to other things going on (permission issue), the PR failed to build automatically along with multiple others submitted at the same time. I fixed that problem and told Dependabot to `@dependabot rebase` to pick up the fix. So far so ordinary.
But the rebased version was no longer a change from 2.7.14 to 2.7.15 *but rather to **3.1.3**,* a different major version with rather a lot of significant changes that made many aspects of the build fail. (I have a branch where this version is in use, but can't update my primary branch to it yet due to messy deployment restrictions.) This is not what I'd expect from a rebase. I would *expect* something more like a classic `git rebase`.
It was easy to work around once I saw what it'd unexpectedly done, but very much not as expected.
### Native package manager behavior
_No response_
### Images of the diff or a link to the PR, issue, or logs
* https://github.com/SpiNNakerManchester/JavaSpiNNaker/pull/1014
### Smallest manifest that reproduces the issue
_No response_
Contributor guide
Research direction
Use the linked JavaSpiNNaker pull request as the reproduction case, starting with its /pom.xml and .github/dependabot.yml. Trace the Maven updater's handling of @dependabot rebase after the original update PR failed, and compare the requested 2.7.15 update with the generated 3.1.3 update. Done means rebasing preserves the intended dependency target and regression coverage captures this case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring-boot
- Domain
- devtools, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100