chore: Renovate zentral in ci-templates

Abhaengigkeits-Updates laufen an einer Stelle statt in jedem Repo einzeln.
Der woechentliche Lauf liest die Repository-Liste im Workflow und legt die
PRs jeweils dort an.

- renovate-basis.json: Minor und Patch gebuendelt in einen PR pro Woche,
  Major nur nach Freigabe ueber das Dashboard, Sicherheits-Updates am
  Zeitplan vorbei.
- renovate.yml: montags 04:00 UTC, dazu workflow_dispatch mit dry-run.
  Node 24, weil Renovate 44 das verlangt.

Braucht das Repo-Secret RENOVATE_TOKEN (Gitea-Token mit Schreibrecht auf
die gelisteten Repositories).
This commit is contained in:
rhentschel
2026-09-05 15:14:38 +02:00
parent 61ee909eb0
commit 47966ddb13
3 changed files with 99 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"description": "Gemeinsame Renovate-Grundlage fuer die Node-Projekte. Ein Repo bindet sie mit extends: [\"local>roland/ci-templates:renovate-basis\"] ein.",
"extends": ["config:recommended", ":semanticCommitTypeAll(chore)"],
"timezone": "Europe/Berlin",
"schedule": ["* 4-7 * * 1"],
"prConcurrentLimit": 3,
"prHourlyLimit": 2,
"dependencyDashboard": true,
"labels": ["abhaengigkeiten"],
"rangeStrategy": "bump",
"packageRules": [
{
"description": "Patch und Minor gebuendelt: ein PR pro Woche statt zwanzig. Die CI des Repos entscheidet.",
"matchUpdateTypes": ["minor", "patch"],
"groupName": "kleine Updates",
"groupSlug": "klein"
},
{
"description": "Major einzeln, damit der Changelog im PR lesbar bleibt.",
"matchUpdateTypes": ["major"],
"dependencyDashboardApproval": true
},
{
"description": "Typen-Pakete folgen ihrer Bibliothek, nicht dem eigenen Rhythmus.",
"matchPackageNames": ["/^@types//"],
"groupName": "kleine Updates",
"groupSlug": "klein"
}
],
"vulnerabilityAlerts": {
"description": "Sicherheitsluecken laufen am Zeitplan vorbei.",
"schedule": null,
"labels": ["abhaengigkeiten", "sicherheit"],
"dependencyDashboardApproval": false
},
"lockFileMaintenance": {
"enabled": true,
"schedule": ["* 4-7 1 * *"]
}
}