renovatebot / renovate

Home of the Renovate CLI: Cross-platform Dependency Automation by Mend.io
https://mend.io/renovate
GNU Affero General Public License v3.0
17.58k stars 2.31k forks source link

Ignore merge abort errors on `isBranchConflicted` #19924

Open viceice opened 1 year ago

viceice commented 1 year ago

Describe the proposed change(s).

DEBUG: isBranchConflicted: cleanup error (repository=forgejo-contrib/forgejo-helm, baseBranch=main, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "err": {
         "task": {
           "commands": ["merge", "--abort"],
           "format": "utf-8",
           "parser": "[function]"
         },
         "message": "fatal: There is no merge to abort (MERGE_HEAD missing).\n",
         "stack": "Error: fatal: There is no merge to abort (MERGE_HEAD missing).\n\n    at Object.action (/opt/buildpack/tools/renovate/34.105.5/node_modules/simple-git/src/lib/plugins/error-detection.plugin.ts:42:29)\n    at PluginStore.exec (/opt/buildpack/tools/renovate/34.105.5/node_modules/simple-git/src/lib/plugins/plugin-store.ts:29:29)\n    at /opt/buildpack/tools/renovate/34.105.5/node_modules/simple-git/src/lib/runners/git-executor-chain.ts:127:42\n    at new Promise (<anonymous>)\n    at GitExecutorChain.handleTaskData (/opt/buildpack/tools/renovate/34.105.5/node_modules/simple-git/src/lib/runners/git-executor-chain.ts:124:14)\n    at GitExecutorChain.<anonymous> (/opt/buildpack/tools/renovate/34.105.5/node_modules/simple-git/src/lib/runners/git-executor-chain.ts:100:40)\n    at Generator.next (<anonymous>)\n    at fulfilled (/opt/buildpack/tools/renovate/34.105.5/node_modules/simple-git/dist/cjs/index.js:55:24)"
       }

I think this error can be silently ignored?

@rarkins WDYT?

rarkins commented 1 year ago

Where/why it is called?

viceice commented 1 year ago

full branch log:

DEBUG: syncBranchState() (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: syncBranchState(): Branch cache not found, creating minimal branchState (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: getBranchPr(renovate/ghcr.io-visualon-renovate-34.x) (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: findPr(renovate/ghcr.io-visualon-renovate-34.x, undefined, open) (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: branchExists=true (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: dependencyDashboardCheck=undefined (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: recreateClosed is false (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: findPr(renovate/ghcr.io-visualon-renovate-34.x, chore(deps): update ghcr.io/visualon/renovate docker tag to v34.105.6, !open) (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: prAlreadyExisted=false (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Checking if PR has been edited (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: branch.isModified(): using git to calculate (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: branch.isModified() = false (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Checking schedule(at any time, null) (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: No schedule defined (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Branch already exists (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: getBranchPr(renovate/ghcr.io-visualon-renovate-34.x) (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: findPr(renovate/ghcr.io-visualon-renovate-34.x, undefined, open) (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: branch.isBehindBase(): using git to calculate (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: branch.isBehindBase(): false (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "currentBranch": "main",
       "currentBranchSha": "5a0d328b48950d1940db00f650347bb3e3757da2"
DEBUG: Branch is up-to-date (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: isBranchConflicted(main, renovate/ghcr.io-visualon-renovate-34.x) (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: branch.isConflicted(): using git to calculate (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Setting git author name: Michael Kriese (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Setting git author email: michael.kriese@gmx.de (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: isBranchConflicted: cleanup error (repository=forgejo-contrib/forgejo-helm, baseBranch=main, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "err": {
         "task": {
           "commands": ["merge", "--abort"],
           "format": "utf-8",
           "parser": "[function]"
         },
         "message": "fatal: There is no merge to abort (MERGE_HEAD missing).\n",
         "stack": "Error: fatal: There is no merge to abort (MERGE_HEAD missing).\n\n    at Object.action (/opt/buildpack/tools/renovate/34.105.5/node_modules/simple-git/src/lib/plugins/error-detection.plugin.ts:42:29)\n    at PluginStore.exec (/opt/buildpack/tools/renovate/34.105.5/node_modules/simple-git/src/lib/plugins/plugin-store.ts:29:29)\n    at /opt/buildpack/tools/renovate/34.105.5/node_modules/simple-git/src/lib/runners/git-executor-chain.ts:127:42\n    at new Promise (<anonymous>)\n    at GitExecutorChain.handleTaskData (/opt/buildpack/tools/renovate/34.105.5/node_modules/simple-git/src/lib/runners/git-executor-chain.ts:124:14)\n    at GitExecutorChain.<anonymous> (/opt/buildpack/tools/renovate/34.105.5/node_modules/simple-git/src/lib/runners/git-executor-chain.ts:100:40)\n    at Generator.next (<anonymous>)\n    at fulfilled (/opt/buildpack/tools/renovate/34.105.5/node_modules/simple-git/dist/cjs/index.js:55:24)"
       }
DEBUG: branch.isConflicted(): false (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Branch does not need rebasing (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Using reuseExistingBranch: true (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Setting current branch to main (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: latest commit (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "branchName": "main",
       "latestCommitDate": "2023-01-19T00:08:21+00:00"
DEBUG: manager.getUpdatedPackageFiles() reuseExistingBranch=true (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: woodpecker.extractPackageFile() (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: woodpecker.extractPackageFile() (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Value is not updated (repository=forgejo-contrib/forgejo-helm, packageFile=.woodpecker/renovate.yml, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "manager": "woodpecker",
       "expectedValue": "34.105.6",
       "foundValue": "34.105.5"
DEBUG: Rebasing after outdated branch dep found (repository=forgejo-contrib/forgejo-helm, packageFile=.woodpecker/renovate.yml, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "depName": "ghcr.io/visualon/renovate"
DEBUG: manager.getUpdatedPackageFiles() reuseExistingBranch=false (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Starting search at index 83 (repository=forgejo-contrib/forgejo-helm, packageFile=.woodpecker/renovate.yml, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "depName": "ghcr.io/visualon/renovate"
DEBUG: Found match at index 83 (repository=forgejo-contrib/forgejo-helm, packageFile=.woodpecker/renovate.yml, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "depName": "ghcr.io/visualon/renovate"
DEBUG: woodpecker.extractPackageFile() (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Contents updated (repository=forgejo-contrib/forgejo-helm, packageFile=.woodpecker/renovate.yml, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "depName": "ghcr.io/visualon/renovate"
DEBUG: Updated 1 package files (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Getting updated lock files (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Writing package.json files (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "packageFiles": ["package.json"]
DEBUG: Writing package-lock.json (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Writing any updated package files (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: No updated lock files in branch (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: 1 file(s) to commit (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Preparing files for committing to branch renovate/ghcr.io-visualon-renovate-34.x (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: git commit (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "deletedFiles": [],
       "ignoredFiles": [],
       "result": {
         "author": null,
         "branch": "renovate/ghcr.io-visualon-renovate-34.x",
         "commit": "48fa5fc32828a6f69fe25838519ec09b262d207c",
         "root": false,
         "summary": {"changes": 1, "insertions": 1, "deletions": 1}
       }
DEBUG: Pushing branch renovate/ghcr.io-visualon-renovate-34.x (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: git push (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "result": {
         "pushed": [],
         "update": {
           "head": {
             "local": "refs/heads/renovate/ghcr.io-visualon-renovate-34.x",
             "remote": "refs/heads/renovate/ghcr.io-visualon-renovate-34.x"
           },
           "hash": {"from": "5a0d328", "to": "48fa5fc"}
         },
         "ref": {
           "local": "refs/remotes/origin/renovate/ghcr.io-visualon-renovate-34.x"
         },
         "remoteMessages": {
           "all": [
             "Create a new pull request for 'renovate/ghcr.io-visualon-renovate-34.x':",
             "https://codeberg.org/forgejo-contrib/forgejo-helm/compare/main...renovate/ghcr.io-visualon-renovate-34.x",
             ". Processing 1 references",
             "Processed 1 references in total"
           ]
         }
       }
 INFO: Branch updated (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "commitSha": "48fa5fc32828a6f69fe25838519ec09b262d207c"
DEBUG: Ensuring PR (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: There are 0 errors and 0 warnings (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: getBranchPr(renovate/ghcr.io-visualon-renovate-34.x) (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: findPr(renovate/ghcr.io-visualon-renovate-34.x, undefined, open) (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Fetching changelog: https://github.com/renovatebot/renovate (34.105.5 -> 34.105.6) (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Creating PR (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "prTitle": "chore(deps): update ghcr.io/visualon/renovate docker tag to v34.105.6"
DEBUG: Creating pull request: chore(deps): update ghcr.io/visualon/renovate docker tag to v34.105.6 (renovate/ghcr.io-visualon-renovate-34.x => main) (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Gitea-native automerge: success (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "prNumber": 45
 INFO: PR created (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "pr": 45,
       "prTitle": "chore(deps): update ghcr.io/visualon/renovate docker tag to v34.105.6"
DEBUG: resolveBranchStatus(branchName=renovate/ghcr.io-visualon-renovate-34.x, ignoreTests=false) (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Branch status check result (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
       "ccs": {"worstStatus": "unknown", "statuses": []}
DEBUG: Branch status yellow (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Skipping assignees and reviewers as automerge=true (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: Created Pull Request #45 (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: PR is configured for automerge (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
DEBUG: setBranchCommit() (repository=forgejo-contrib/forgejo-helm, branch=renovate/ghcr.io-visualon-renovate-34.x)
rarkins commented 1 year ago

Does it fail every single time though? It might return false negatives then in cases when it really is conflicted?

viceice commented 1 year ago

not sure, the branch is now rebased and auto merged 🤷‍♂️.

it was the first processed branch. the error probably occured because the branch wasn't deleted after platform automerge on gitea ( not supported) so merge would probably successful, so nothing to abort.

rarkins commented 1 year ago

Double check by intentionally conflicting a PR and seeing if it normally succeeds to calculate conflicted status using git