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

Renovate keeps rebasing over my custom changes #18804

Closed
simon-abbott opened this issue Nov 7, 2022 · 5 comments
Closed

Renovate keeps rebasing over my custom changes #18804

simon-abbott opened this issue Nov 7, 2022 · 5 comments
Labels
status:requirements Full requirements are not yet known, so implementation should not be started type:bug Bug fix of existing functionality

Comments

@simon-abbott
Copy link
Contributor

simon-abbott commented Nov 7, 2022

How are you running Renovate?

Mend Renovate hosted app on github.com

If you're self-hosting Renovate, tell us what version of Renovate you run.

No response

If you're self-hosting Renovate, select which platform you are using.

No response

If you're self-hosting Renovate, tell us what version of the platform you run.

No response

Was this something which used to work for you, and then stopped?

I never saw this working

Describe the bug

Due to #12891 I need to manually fix a fair chunk of the renovate PRs that come in. My workflow for doing so is:

  1. Pull the branch
  2. Drop the renovate commit
  3. Update the dep(s) myself
  4. Commit the result (using my email)
  5. Force push

Sometimes when I do that Renovate correctly marks the branch as modified, and stops pushing to it. But often it doesn't mark it as modified, and instead overwrites my changes, often multiple times per PR. I had a glance through the job logs last time this happened (about 10 minutes ago), and I saw the line branch.isModified(): using cached result "false". My guess is that there's either some bad cache invalidation going on or you have a time-of-check vs time-of-use bug (i.e. it was unmodified when it started the rebase, but by the time it was done I had pushed). Possibly both.

Relevant debug logs

Logs
DEBUG: syncBranchState()(branch="renovate/vitest-monorepo")
{
  "baseBranch": "renovate-package-updates"
}
DEBUG: syncBranchState(): update baseBranchSha(branch="renovate/vitest-monorepo")
{
  "baseBranch": "renovate-package-updates"
}
DEBUG: branch.isUpToDate(): using cached result "true"(branch="renovate/vitest-monorepo")
{
  "baseBranch": "renovate-package-updates"
}
<snip>
DEBUG: branch.isBehindBase(): using git to calculate(branch="renovate/vitest-monorepo")
{
  "baseBranch": "renovate-package-updates"
}
DEBUG: branch.isBehindBase(): true(branch="renovate/vitest-monorepo")
{
  "baseBranch": "renovate-package-updates",
  "currentBranch": "renovate-package-updates",
  "currentBranchSha": "8c4812b1d540ae3ed3b07986abf705d863e3fa42"
}
DEBUG: Branch is behind base branch and needs rebasing(branch="renovate/vitest-monorepo")
{
  "baseBranch": "renovate-package-updates"
}
DEBUG: Branch is unmodified, so can be rebased(branch="renovate/vitest-monorepo")
{
  "baseBranch": "renovate-package-updates"
}
<snip>
DEBUG: git commit(branch="renovate/vitest-monorepo")
{
  "baseBranch": "renovate-package-updates",
  "deletedFiles": [],
  "ignoredFiles": [],
  "result": {
    "author": null,
    "branch": "renovate/vitest-monorepo",
    "commit": "56a9f1125c9517568ba9829aed83937bfeedbf76",
    "root": false,
    "summary": {
      "changes": 2,
      "insertions": 22,
      "deletions": 0
    }
  }
}
DEBUG: resetToCommit(8c4812b1d540ae3ed3b07986abf705d863e3fa42)(branch="renovate/vitest-monorepo")
{
  "baseBranch": "renovate-package-updates"
}
DEBUG: Fetching branch renovate/vitest-monorepo(branch="renovate/vitest-monorepo")
{
  "baseBranch": "renovate-package-updates"
}
INFO: Branch updated(branch="renovate/vitest-monorepo")
{
  "baseBranch": "renovate-package-updates",
  "commitSha": "974eecc27e04534bc6b71a8ac0e23eba34295429"
}
<snip>

Have you created a minimal reproduction repository?

No reproduction repository

@simon-abbott simon-abbott added priority-5-triage status:requirements Full requirements are not yet known, so implementation should not be started type:bug Bug fix of existing functionality labels Nov 7, 2022
@rarkins
Copy link
Collaborator

rarkins commented Nov 7, 2022

You're using custom baseBranches?

@simon-abbott
Copy link
Contributor Author

simon-abbott commented Nov 8, 2022

Yes, our baseBranches is set to ["renovate-package-updates"]

@rarkins
Copy link
Collaborator

rarkins commented Nov 9, 2022

Were you editing multiple at a time, which could contribute to the likelihood that there's a timing problem like you suggested?

Can you locate a particular job ID when a change was overwritten incorrectly?

@simon-abbott
Copy link
Contributor Author

Were you editing multiple at a time?

Yes, I was editing multiple at a time and also was merging some package updates into the base branch as well.

Can you locate a particular job ID when a change was overwritten incorrectly?

Not immediately, but next time it happens I'll take note of the job ID.

@simon-abbott
Copy link
Contributor Author

This seems to be fixed now. I haven't had it happen in a while. Closing as fixed, but will re-open if/when it happens again.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status:requirements Full requirements are not yet known, so implementation should not be started type:bug Bug fix of existing functionality
Projects
None yet
Development

No branches or pull requests

2 participants