What Renovate type are you using?
Hosted App
Describe the bug
The Renovate bot does not untick the "rebase" checkbox, after performing the rebase. It used to do so, but stopped a while back (a few months ago?).
Did you see anything helpful in debug logs?
Did not look
To Reproduce
Additional context
This is causing PR additional commits to be clobbered. (eg rebase a PR, add a new commit such as running prettier again after a prettier upgrade, so the CI passes -- then renovate rebases over it, since the checkbox is still ticked)
@viceice I wonder if it was this change? https://github.com/renovatebot/renovate/blob/07281a3e3ff76a5b001149778bd7b21a27319276/lib/workers/branch/index.ts#L268-L277
Maybe, I'm not sure. Maybe we need to check for rebase request there. So we need to update pr if it exists 馃
We updated yesterday from renovate 19 to 21 (self hosted).
Since then we see a few hundred builds triggered on our CI, caused by this checkboxes.
In our logfiles I've seeing this entries:
DEBUG: Processing existing PR (repository=fea/hops, branch=renovate/master-sentry-cli-1.x)
DEBUG: PR body changed (repository=fea/hops, branch=renovate/master-sentry-cli-1.x)
"prTitle": "fix(deps): update dependency @sentry/cli to v1.54.0 (master)",
"oldPrBody": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [@sentry/cli](https://docs.sentry.io/hosted/learn/cli/) ([source](https://github.com/getsentry/sentry-cli)) | dependencies | minor | [`1.52.1` -> `1.54.0`](https://renovatebot.com/diffs/npm/@sentry%2fcli/1.52.1/1.54.0) |\n\n---\n\n### Release Notes\n\n<details>\n<summary>getsentry/sentry-cli</summary>\n\n### [`v1.54.0`](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#sentry-cli-1540)\n\n[Compare Source](https://github.com/getsentry/sentry-cli/compare/1.53.0...1.54.0)\n\n- feat: Add `--no-environ` parameter to `bash-hook` ([#​745](https://github.com/getsentry/sentry-cli/issues/745))\n- feat: Allow for disabling install progress-bar without silencing npm using `SENTRY_NO_PROGRESS_BAR` env var ([#​754](https://github.com/getsentry/sentry-cli/issues/754))\n- fix: Use correct required option to `newDeploy` JS api ([#​755](https://github.com/getsentry/sentry-cli/issues/755))\n\n### [`v1.53.0`](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#sentry-cli-1530)\n\n[Compare Source](https://github.com/getsentry/sentry-cli/compare/1.52.4...1.53.0)\n\n- feat: `releases deploys` JavaScript API ([#​741](https://github.com/getsentry/sentry-cli/issues/741))\n- fix: `--log-level` should be case insensitive ([#​740](https://github.com/getsentry/sentry-cli/issues/740))\n\n### [`v1.52.4`](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#sentry-cli-1524)\n\n[Compare Source](https://github.com/getsentry/sentry-cli/compare/1.52.3...1.52.4)\n\n- fix: Dont panic on unknown log level ([#​733](https://github.com/getsentry/sentry-cli/issues/733))\n- ref: Use temp dir to store jsbundle maps ([#​737](https://github.com/getsentry/sentry-cli/issues/737))\n\n### [`v1.52.3`](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#sentry-cli-1523)\n\n[Compare Source](https://github.com/getsentry/sentry-cli/compare/1.52.2...1.52.3)\n\n- fix: Correctly store child process before attaching handlers ([#​718](https://github.com/getsentry/sentry-cli/issues/718))\n\n### [`v1.52.2`](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#sentry-cli-1522)\n\n[Compare Source](https://github.com/getsentry/sentry-cli/compare/1.52.1...1.52.2)\n\n**This release sets `node.engine: >=8` which makes it incompatible with Node v6**\nIf you need to support Node v6, please pin your dependency to `1.52.1`\nor use selective version resolution: <https://classic.yarnpkg.com/en/docs/selective-version-resolutions/>\n\n- feat: Support Google Cloud Builder VCS detection ([#​481](https://github.com/getsentry/sentry-cli/issues/481))\n- fix: Mark files as unusable withid ([#​709](https://github.com/getsentry/sentry-cli/issues/709))\n\n</details>\n\n---\n\n### Renovate configuration\n\n馃搮 **Schedule**: At any time (no schedule defined).\n\n馃殾 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.\n\n鈾伙笍 **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n馃敃 **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).",
"newPrBody": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [@sentry/cli](https://docs.sentry.io/hosted/learn/cli/) ([source](https://github.com/getsentry/sentry-cli)) | dependencies | minor | [`1.52.1` -> `1.54.0`](https://renovatebot.com/diffs/npm/@sentry%2fcli/1.52.1/1.54.0) |\n\n:warning: Release Notes retrieval for this PR were skipped because no github.com credentials were available.\nIf you are using the hosted GitLab app, please follow [this guide](https://docs.renovatebot.com/install-gitlab-app/#configuring-a-token-for-githubcom-hosted-release-notes). If you are self-hosted, please see [this instruction](https://github.com/renovatebot/renovate/blob/master/docs/development/self-hosting.md#githubcom-token-for-release-notes) instead.\n\n---\n\n### Renovate configuration\n\n馃搮 **Schedule**: At any time (no schedule defined).\n\n馃殾 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.\n\n鈾伙笍 **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n馃敃 **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate)."
DEBUG: updatePr(955, fix(deps): update dependency @sentry/cli to v1.54.0 (master), body) (repository=fea/hops, branch=renovate/master-sentry-cli-1.x)
DEBUG: PR updated (repository=fea/hops, branch=renovate/master-sentry-cli-1.x)
"pr": 955
INFO: PR updated (repository=fea/hops, branch=renovate/master-sentry-cli-1.x)
"pr": 955,
"prTitle": "fix(deps): update dependency @sentry/cli to v1.54.0 (master)"
But after renovate finishes the PR isn't changed (even though the log says DEBUG: PR updated).
Next time the body will again be changed, this will trigger a loop I think.
Seems to be my local test :roll_eyes:
I鈥檝e found some times you need a hard refresh of the page to see the updated PR. Always check it in an incognito browser to be sure. This is a GitHub UI problem when that happens, not Renovate
Not sure but maybe these lines are helping:
DEBUG: exec completed (repository=fea/hops, branch=renovate/master-sentry-cli-1.x)
"cmd": "yarn install --ignore-engines --ignore-platform --network-timeout 100000 --ignore-scripts",
"durationMs": 1101,
"stdout": "yarn install v1.22.4\n[1/4] Resolving packages...\nsuccess Already up-to-date.\nDone in 0.94s.\n",
"stderr": ""
DEBUG: yarn.lock needs updating (repository=fea/hops, branch=renovate/master-sentry-cli-1.x)
DEBUG: Updated 1 lock files (repository=fea/hops, branch=renovate/master-sentry-cli-1.x)
"updatedArtifacts": ["yarn.lock"]
DEBUG: 2 file(s) to commit (repository=fea/hops, branch=renovate/master-sentry-cli-1.x)
DEBUG: Committing files to branch renovate/master-sentry-cli-1.x (repository=fea/hops, branch=renovate/master-sentry-cli-1.x)
INFO: Branch updated (repository=fea/hops, branch=renovate/master-sentry-cli-1.x)
"commitHash": "c6d7977"
DEBUG: Branch status pending (repository=fea/hops, branch=renovate/master-sentry-cli-1.x)
"commitHash": "c6d7977"
Its says here that yarn install is executed, then that its up-to-date.
But renovate has two files to commit and one 'updatedArtifacts' - the yarn.lock.
If I run yarn install --ignore-engines --ignore-platform --network-timeout 100000 --ignore-scripts locally checkouted on the renovate/master-sentry-cli-1.x branch there is no difference generated for the yarn.lock
Forget my comments above as well. These are, because the branch is recreated and compared to the base (caused by the checkbox)...
So, now I think I have the cause:
pendingpending -> the checkbox is not unflagged.I guess if its pending but the checkbox is ticked, the PR need to be updated.
But there isn't even checked if a PR exists, because it is returned early in processBranch.
Another option would be to skip processBranch if the branch status is pending at the start.
I think we should update the PR as otherwise it will be rebased every run, right? What config reproduces this?
Just the default but :prNotPending is defined.
So what's the full steps, is it:
Oh, sorry. Yes thats the way. If there is a PR and that is fine (or outdated), then ticking the checkbox leads to this cycle.
I already can confirm that changing prCreation to the default will fix this.
And can you confirm if you're using the app, or a particular self-hosted version?
Thats self-hosted. We have a custom setup for our internal github enterprise.
The renovate version is 21.6.2.
This issue still affects us too fwiw (GitHub app, not self hosted)
We also use :prNotPending (https://github.com/neutrinojs/webpack-chain/blob/master/renovate.json) which matches the observations above :-)
:tada: This issue has been resolved in version 21.24.2 :tada:
The release is available on:
21.24.2Your semantic-release bot :package::rocket:
Most helpful comment
We updated yesterday from renovate 19 to 21 (self hosted).
Since then we see a few hundred builds triggered on our CI, caused by this checkboxes.