From 9c251b933dd35883c2eb009c3b212ab2cb424cf6 Mon Sep 17 00:00:00 2001 From: codex-bot Date: Tue, 3 Nov 2026 14:07:43 +0300 Subject: [PATCH] chore(deps): set Renovate release age, PR limit and update groups (WealthLedger/main#6) (#50) --- .ai/conventions/dependencies.md | 14 ++++++++++++++ renovate.json | 31 ++++++++++++++++++++++++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/.ai/conventions/dependencies.md b/.ai/conventions/dependencies.md index 8f4c908..cde9f37 100644 --- a/.ai/conventions/dependencies.md +++ b/.ai/conventions/dependencies.md @@ -14,6 +14,20 @@ native API и зрелую небольшую dependency: parsing, serialization debounce, class composition. Три `Array.map` не требуют utility library. Не продолжай копировать boilerplate, если один принятый способ дешевле сопровождать. +## Автоматические обновления + +Renovate (`renovate.json` в каждом из пяти repos, копия без общего preset) +открывает PR в `develop`, автомерж выключен: + +- minor/patch — группы `non-major dependencies`, `non-major github actions`, + `non-major container images`; major — только после approval в Dependency Dashboard; +- npm-обновления ждут 3 дня после публикации (`minimumReleaseAge`); + не более 5 открытых PR; `lockFileMaintenance` — раз в месяц; +- без расписания: релизы не привязаны к календарю; +- OpenSpec в manifests отсутствует (CLI ставится в CI как latest), Renovate его не обновляет. + +Принятие PR — обычный review и gates repo; правило копируй во все `renovate.json`. + ## При выборе пакета - Укажи конкретную потребность, альтернативу из текущего stack и существенную diff --git a/renovate.json b/renovate.json index 7e8c8e5..3b8d78e 100644 --- a/renovate.json +++ b/renovate.json @@ -2,7 +2,8 @@ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "config:recommended", - ":semanticCommitTypeAll(chore)" + ":semanticCommitTypeAll(chore)", + "security:minimumReleaseAgeNpm" ], "timezone": "Europe/Moscow", "labels": [ @@ -10,6 +11,13 @@ ], "dependencyDashboard": true, "rangeStrategy": "pin", + "prConcurrentLimit": 5, + "lockFileMaintenance": { + "enabled": true, + "schedule": [ + "before 4am on the first day of the month" + ] + }, "packageRules": [ { "matchUpdateTypes": [ @@ -18,6 +26,27 @@ ], "groupName": "non-major dependencies" }, + { + "matchManagers": [ + "github-actions" + ], + "matchUpdateTypes": [ + "minor", + "patch" + ], + "groupName": "non-major github actions" + }, + { + "matchManagers": [ + "docker-compose", + "dockerfile" + ], + "matchUpdateTypes": [ + "minor", + "patch" + ], + "groupName": "non-major container images" + }, { "matchUpdateTypes": [ "major"