renovatebot/renovate

auto-closes PRs for dependencies targeting digest updates

Closed this issue ยท 12 comments

What Renovate type are you using?

Describe the bug
Recently, Renovate started not being able to update dependencies targeting GitHub commits (not npm versions) - i.e. Angular CLI, Angular framework, Angular Components and Angular flex-layout. More specifically, Renovate will create the PRs correctly, but then close them (for no apparent reason) a few minutes later.

You can see a list of autoclosed PRs here. Not sure if it is related, but for a few days before 2020-07-08, the PRs were autoclosed with a message about failing to update yarn.lock

For example, PR angular/ngcc-validation#1528 was created and then auto-closed by Renovate 10 mins later. You can see the logs for creating it in log-202799678. (you can filter by Branch: renovate/angular-components, but other lines might be relevant as well) and the logs for closing it in log-202800102. I couldn't figure out why this is happening based on the logs.

Relevant debug logs

Config
https://raw.githubusercontent.com/angular/ngcc-validation/master/renovate.json

@rarkins could that be caused by the recent github down time?

I doubt it, if it's happening repeatedly. Also I've seen some autoclosed PRs myself occasionally but hadn't checked any out (wondered if an automerge of some other PR caused them).

Is it possible to get the two logs into gists for all to see?

We have uploaded the logs (so you can download them as .txt files), but here they are as gists too:

Trying to work through this, making notes:

Looking at @angular/cdk-builds first, both are valid commits: angular/cdk-builds@2f4bdfb and angular/cdk-builds@d03634b

When the PR was created, here's the line containing the relevant update: https://gist.github.com/gkalpak/5fe494117431749995d7bede1641729b#file-renovate-log-202799678-txt-L1432

Created run:

          {
            "depType": "dependencies",
            "depName": "@angular/cdk",
            "currentValue": null,
            "currentRawValue": "github:angular/cdk-builds#2f4bdfb4d67c26cf2ff56f26d04d17fbebfa4af1",
            "currentDigest": "2f4bdfb4d67c26cf2ff56f26d04d17fbebfa4af1",
            "datasource": "github-tags",
            "lookupName": "angular/cdk-builds",
            "githubRepo": "angular/cdk-builds",
            "sourceUrl": "https://github.com/angular/cdk-builds",
            "gitRef": true,
            "prettyDepType": "dependency",
            "depIndex": 7,
            "updates": [
              {
                "updateType": "digest",
                "newValue": null,
                "newDigest": "d03634b0b68023fa713b721dc4ac8a8df3fb2c55",
                "newDigestShort": "d03634b"
              }
            ],
            "warnings": [],
            "skipReason": "unsupported-value"
          }

Autoclosed run:

          {
            "gitRef": true,
            "depName": "@angular/cdk",
            "depType": "dependencies",
            "updates": [],
            "depIndex": 7,
            "warnings": [],
            "sourceUrl": "https://github.com/angular/cdk-builds",
            "datasource": "github-tags",
            "githubRepo": "angular/cdk-builds",
            "lookupName": "angular/cdk-builds",
            "skipReason": "unsupported-value",
            "currentValue": null,
            "currentDigest": "2f4bdfb4d67c26cf2ff56f26d04d17fbebfa4af1",
            "prettyDepType": "dependency",
            "currentRawValue": "github:angular/cdk-builds#2f4bdfb4d67c26cf2ff56f26d04d17fbebfa4af1"
          }

Although the ordering within the object is different (which is a little confusing to me), the fields are otherwise identical except for the updates field.

Also, this is happening a lot:

image

@rarkins Shouldn't "skipReason": "unsupported-value" skip updates at all?

I think we have a later logic to still check for digest updates

I've reproduced the autoclosing: https://github.com/renovate-tests/ngcc-validation/pulls?q=is%3Apr+is%3Aclosed

Now need to repeatedly reproduce and debug..

maybe cache related?

Yes, it's because of the cached skipReason bypassing lookups. I'm attempting to fix it by deleting skipReason in such cases.

๐ŸŽ‰ This issue has been resolved in version 21.33.3 ๐ŸŽ‰

The release is available on:

Your semantic-release bot ๐Ÿ“ฆ๐Ÿš€

Thx for looking into this!

We got another round of auto-closed PRs after the fix (angular/ngcc-validation#1575, angular/ngcc-validation#1576, angular/ngcc-validation#1577), but now things seem to work fine: angular/ngcc-validation#1581 and angular/ngcc-validation#1582
๐ŸŽ‰

It takes a little while (including human approval) for releases to go live in the app. You can check each job log though to see which renovate version was used