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