Renovate: Renovate merged the PR that its automerge is set to false

Created on 27 Jun 2018  路  4Comments  路  Source: renovatebot/renovate

What Renovate type are you using?
Renovate GitHub App

Describe the bug
Renovate merged the PR that its automerge is set to false.

To Reproduce

Expected behavior
Do not merge.

Additional context
I'm not sure if this is caused by

but it'd be better to have a Config section in the PR describing why it's merged.

priority-2-important bug

Most helpful comment

Hi @ikatyang, sorry for the inconvenience.

There is some older config terminology in this repo's config, but the migrated config seems fine:

{
  "extends": [
    "ikatyang:library"
  ],
  "packageRules": [
    {
      "automerge": false,
      "packageNames": [
        "yaml"
      ]
    }
  ]
}

Yet Renovate thinks the branch is enabled for automerge:

{
  "level": 20,
  "repository": "ikatyang\/yaml-unist-parser",
  "branch": "renovate\/yaml-1.x",
  "dependencies": [
    "yaml"
  ],
  "automerge": true,
  "automergeType": "pr",
  "automergeComment": "automergeComment",
  "msg": "Checking #35 for automerge",
  "time": "2018-06-26T21:02:14.236Z"
}

I suspect that the root cause might be that the config migration of your preset (which also has some legacy settings) results in a wrong ordering of packageRules - I'll test this theory out today.

All 4 comments

Hi @ikatyang, sorry for the inconvenience.

There is some older config terminology in this repo's config, but the migrated config seems fine:

{
  "extends": [
    "ikatyang:library"
  ],
  "packageRules": [
    {
      "automerge": false,
      "packageNames": [
        "yaml"
      ]
    }
  ]
}

Yet Renovate thinks the branch is enabled for automerge:

{
  "level": 20,
  "repository": "ikatyang\/yaml-unist-parser",
  "branch": "renovate\/yaml-1.x",
  "dependencies": [
    "yaml"
  ],
  "automerge": true,
  "automergeType": "pr",
  "automergeComment": "automergeComment",
  "msg": "Checking #35 for automerge",
  "time": "2018-06-26T21:02:14.236Z"
}

I suspect that the root cause might be that the config migration of your preset (which also has some legacy settings) results in a wrong ordering of packageRules - I'll test this theory out today.

:tada: This issue has been resolved in version 13.0.2 :tada:

The release is available on:

Your semantic-release bot :package::rocket:

馃 Not sure why but it happened again: ikatyang/yaml-unist-parser#41.

Hi @ikatyang, sorry again for the inconvenience. I had to fix some "bad" logic yesterday and forgot why some of it was there - it was from when I tried fixing this originally.

The challenge here is that "update type" config like major/minor/patch is intended to be more "specific" than regular config, and hence applied last. i.e. as a general rule, if your config includes specifically a minor or patch selector then it means you want it to be higher priority than any similar config without it. But as a result, config like your current one fails to work like you'd expect.

In a way, it's like the CSS specificity problem.. but for Renovate config. Anyway I have proposed a PR to your project with a config that will work: https://github.com/ikatyang/yaml-unist-parser/pull/44

Was this page helpful?
0 / 5 - 0 ratings