Настройте бота для обновления, чтобы автоматически объединять второстепенные и исправлять обновления

В моем репозитории GitHub я хочу настроить бота для обновления, чтобы он автоматически объединял все второстепенные (и более мелкие) обновления и создавал PR только для основных обновлений. Если я правильно понимаю документ, мои правила пакета должны настраивать это поведение:

      {
  "extends": [
    "config:base",
    ":disableDependencyDashboard"
  ],
  "ignorePaths": [
    "Dockerfile",
    "package.json",
    "pnpm-lock.yaml"
  ],
  "assignees": [
    "McPringle"
  ],
  "reviewers": [
    "McPringle"
  ],
  "packageRules": [
    {
      "matchUpdateTypes": ["minor", "patch", "pin", "digest"],
      "automerge": true
    },
    {
      "matchDepTypes": ["devDependencies"],
      "automerge": true
    }
  ]
}

Но обновленный бот не объединяет мелкие обновления. Тем не менее, все идет как пиар, который мне приходится вручную объединять. Это пример:

      -    <version>2.6.1</version>
+    <version>2.6.2</version>

Это обновление патча должно быть объединено автоматически. Может кто-нибудь объяснить, что я понимаю и делаю неправильно? Здесь вы можете найти репозиторий GitHub, о котором я говорю, включая файл конфигурации обновления и PR, которые я сейчас не объединял: https://github.com/komunumo/komunumo-server

2 ответа

Здесь я документирую свое решение, которое я нашел с помощью дискуссионного форума Renovate на GitHub:

  1. В renovate.json, настроить packageRulesс automergeи активировать platformAutomerge:
      {
  "extends": [
    "config:base"
  ],
  "packageRules": [
    {
      "matchUpdateTypes": ["minor", "patch", "pin", "digest"],
      "automerge": true
    },
    {
      "matchDepTypes": ["devDependencies"],
      "automerge": true
    }
  ],
  "platformAutomerge": true
}
  1. В настройках репозитория GitHub перейдите к Optionи активировать хотя бы Allow auto-mergeа также Automatically delete head branches:

  2. В настройках репозитория GitHub перейдите к Branchesи добавьте правило защиты ветки для вашего mainили же masterветка (независимо от того, что вы используете). Активировать Require status checks to pass before mergingа также Require branches to be up to date before merging. Если GitHub сообщает вам «Проверки состояния не найдены», просто игнорируйте это. Правила должны быть сохранены в явном виде (прокрутите вниз до кнопки «Сохранить»).

Следующий PR от renovate бота должен слиться автоматически.

Вы должны добавить "automergeType": "branch". Ссылка: https://docs.renovatebot.com/noise-reduction/#branch-automerging

Другие вопросы по тегам