Renovate: `:rebaseStalePrs` autocloses and opens new PR instead of rebasing

Created on 9 Feb 2019  路  5Comments  路  Source: renovatebot/renovate

What Renovate type are you using?

Renovate CLI, version 14.12.0

Describe the bug

Renovate configured to rebase stale PRs will sometimes autoclose and re-open PRs instead of rebasing.

E.G. https://github.com/Jasig/NotificationPortlet/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aclosed+autoclosed

To Reproduce

with configuration:

{
    "extends": [
      "config:base",
      ":rebaseStalePrs",
      ":preserveSemverRanges",
      ":semanticPrefixChore",
      ":disableRateLimiting"
    ],
    "gradle": {
      "enabled": true
    },
    "renovateFork": true
}

run renovate on repository.
add a commit that modifies build.gradle or properties.gradle.
run renovate again.
Gradle PRs are autoclosed

Expected behavior

PRs will be rebased

Additional context

https://github.com/Jasig/NotificationPortlet

priority-3-normal bug

All 5 comments

Are you sure that this only happens when you rebase stale?

We'd need to look at the logs during (a) initial run and (b) the autoclosing run. It would seem like it's failing to look up the dependencies on the second one, which then leads it to autoclose.

I managed to get a clean trace on the issue.
You are right, it appears to be an exception coming from the Gradle runtime:

WARN: Gradle command gradle --init-script init.gradle dependencyUpdates -Drevision=release failed. Exit code: null. (repository=Jasig/NotificationPortlet)
       "err": {
         "name": "ChildProcessError",
         "code": null,
         "childProcess": {},
         "stdout": "Parallel execution is an incubating feature.\n\n> Task :notification-portlet-webcomponents:dependencyUpdates\n\n------------------------------------------------------------\n:notification-portlet-webcomponents Project Dependency Updates (report to plain text file)\n------------------------------------------------------------\n\nThe following dependencies are using the latest release version:\n - com.moowork.node:com.moowork.node.gradle.plugin:1.2.0\n - gradle.plugin.se.patrikerdes:gradle-use-latest-versions-plugin:0.2.3\n - org.junit.vintage:junit-vintage-engine:5.4.0\n\nThe following dependencies have later release versions:\n - com.github.ben-manes:gradle-versions-plugin [0.17.0 -> 0.20.0]\n - junit:junit [4.12 -> 4.13-beta-2]\n\nGenerated report file build/dependencyUpdates/report.json\n\nGenerated report file build/dependencyUpdates/report.xml\n\nGenerated report file build/dependencyUpdates/report.txt\n\n> Task :notification-portlet-webcomponents:notification-banner:dependencyUpdates\n\n------------------------------------------------------------\n:notification-portlet-webcomponents:notification-banner Project Dependency Updates (report to plain text file)\n------------------------------------------------------------\n\nThe following dependencies are using the latest release version:\n - com.moowork.node:com.moowork.node.gradle.plugin:1.2.0\n - gradle.plugin.se.patrikerdes:gradle-use-latest-versions-plugin:0.2.3\n - org.junit.vintage:junit-vintage-engine:5.4.0\n\nThe following dependencies have later release versions:\n - com.github.ben-manes:gradle-versions-plugin [0.17.0 -> 0.20.0]\n - junit:junit [4.12 -> 4.13-beta-2]\n\nGenerated report file build/dependencyUpdates/report.json\n\nGenerated report file build/dependencyUpdates/report.xml\n\nGenerated report file build/dependencyUpdates/report.txt\n\n> Task :notification-portlet-api:dependencyUpdates\n\n------------------------------------------------------------\n:notification-portlet-api Project Dependency Updates (report to plain text file)\n------------------------------------------------------------\n\nThe following dependencies are using the latest release version:\n - commons-lang:commons-lang:2.6\n - gradle.plugin.se.patrikerdes:gradle-use-latest-versions-plugin:0.2.3\n - com.fasterxml.jackson.core:jackson-annotations:2.9.8\n - com.fasterxml.jackson.core:jackson-core:2.9.8\n - com.fasterxml.jackson.core:jackson-databind:2.9.8\n - org.junit.vintage:junit-vintage-engine:5.4.0\n - org.apache.portals:portlet-api_2.1.0_spec:1.0\n\nThe following dependencies have later release versions:\n - com.github.ben-manes:gradle-versions-plugin [0.17.0 -> 0.20.0]\n - junit:junit [4.12 -> 4.13-beta-2]\n - javax.servlet:servlet-api [2.5 -> 3.0-alpha-1]\n - org.slf4j:slf4j-api [1.7.25 -> 1.8.0-beta2]\n\nGenerated report file build/dependencyUpdates/report.json\n\nGenerated report file build/dependencyUpdates/report.xml\n\nGenerated report file build/dependencyUpdates/report.txt\n\n> Task :notification-portlet-webcomponents:notification-icon:dependencyUpdates\n\n------------------------------------------------------------\n:notification-portlet-webcomponents:notification-icon Project Dependency Updates (report to plain text file)\n------------------------------------------------------------\n\nThe following dependencies are using the latest release version:\n - com.moowork.node:com.moowork.node.gradle.plugin:1.2.0\n - gradle.plugin.se.patrikerdes:gradle-use-latest-versions-plugin:0.2.3\n - org.junit.vintage:junit-vintage-engine:5.4.0\n\nThe following dependencies have later release versions:\n - com.github.ben-manes:gradle-versions-plugin [0.17.0 -> 0.20.0]\n - junit:junit [4.12 -> 4.13-beta-2]\n\nGenerated report file build/dependencyUpdates/report.json\n\nGenerated report file build/dependencyUpdates/report.xml\n\nGenerated report file build/dependencyUpdates/report.txt\n\n> Task :notification-portlet-webcomponents:notification-modal:dependencyUpdates\n\n------------------------------------------------------------\n:notification-portlet-webcomponents:notification-modal Project Dependency Updates (report to plain text file)\n------------------------------------------------------------\n\nThe following dependencies are using the latest release version:\n - com.moowork.node:com.moowork.node.gradle.plugin:1.2.0\n - gradle.plugin.se.patrikerdes:gradle-use-latest-versions-plugin:0.2.3\n - org.junit.vintage:junit-vintage-engine:5.4.0\n\nThe following dependencies have later release versions:\n - com.github.ben-manes:gradle-versions-plugin [0.17.0 -> 0.20.0]\n - junit:junit [4.12 -> 4.13-beta-2]\n\nGenerated report file build/dependencyUpdates/report.json\n\nGenerated report file build/dependencyUpdates/report.xml\n\nGenerated report file build/dependencyUpdates/report.txt\n\n> Task :notification-portlet-webapp:dependencyUpdates\n> Task :dependencyUpdates\n",
         "stderr": "",
         "message": "Command failed: gradle --init-script init.gradle dependencyUpdates -Drevision=release\n `gradle --init-script init.gradle dependencyUpdates -Drevision=release` (exited with error code null)",
         "stack": "ChildProcessError: Command failed: gradle --init-script init.gradle dependencyUpdates -Drevision=release\n `gradle --init-script init.gradle dependencyUpdates -Drevision=release` (exited with error code null)\n    at callback (/home/christian/.nvm/versions/node/v11.9.0/lib/node_modules/renovate/node_modules/child-process-promise/lib/index.js:33:27)\n    at ChildProcess.exithandler (child_process.js:304:5)\n    at ChildProcess.emit (events.js:197:13)\n    at maybeClose (internal/child_process.js:978:16)\n    at Process.ChildProcess._handle.onexit (internal/child_process.js:265:5)"
       }

The standard out looks like the correct output, but for some reason it is getting an exception return status.

Then it starts closing PRs:

 INFO: PR autoclosed (repository=Jasig/NotificationPortlet)
       "prNo": 232,
       "prTitle": "chore(deps): update hibernate core to 5.4.1.final"
 INFO: Deleting orphan branch (repository=Jasig/NotificationPortlet, branch=renovate/hibernate-core)
 INFO: PR autoclosed (repository=Jasig/NotificationPortlet)
       "prNo": 229,
       "prTitle": "chore(deps): update dependency org.springframework:spring-jdbc to 5.1.5.release"
 INFO: Deleting orphan branch (repository=Jasig/NotificationPortlet, branch=renovate/org.springframework-spring-jdbc-.x)
 INFO: PR autoclosed (repository=Jasig/NotificationPortlet)
       "prNo": 230,
       "prTitle": "chore(deps): update dependency org.springframework:spring-orm to 5.1.5.release"
 INFO: Deleting orphan branch (repository=Jasig/NotificationPortlet, branch=renovate/org.springframework-spring-orm-.x)
 INFO: PR autoclosed (repository=Jasig/NotificationPortlet)
       "prNo": 231,
       "prTitle": "chore(deps): update dependency org.springframework:spring-tx to 5.1.5.release"
 INFO: Deleting orphan branch (repository=Jasig/NotificationPortlet, branch=renovate/org.springframework-spring-tx-.x)
 INFO: PR autoclosed (repository=Jasig/NotificationPortlet)
       "prNo": 228,
       "prTitle": "chore(deps): update dependency org.springframework.boot:spring-boot-gradle-plugin to 2.1.2.release"
 INFO: Deleting orphan branch (repository=Jasig/NotificationPortlet, branch=renovate/org.springframework.boot-spring-boot-gradle-plugin-.x)

So it works sometimes and then fails at others? Sounds like we need to throw and abort with registry-error so that we don鈥檛 autoclose anything.

So it works sometimes and then fails at others?

Correct

Sounds like we need to throw and abort with registry-error so that we don鈥檛 autoclose anything.

:+1:

Was this page helpful?
0 / 5 - 0 ratings

Related issues

rarkins picture rarkins  路  35Comments

rarkins picture rarkins  路  40Comments

rarkins picture rarkins  路  40Comments

katz12 picture katz12  路  36Comments

Scritik picture Scritik  路  34Comments