Tools
Dependabot zaehmen - Updates gruppieren, Rhythmus drosseln, Sicherheit schnell halten
Montagmorgens, du oeffnest deine Notifications - und da sind sie: fuenf, zehn, manchmal ein Dutzend Dependabot Pull Requests, jeder fuer eine einzelne Abhaengigkeit. Individuell hilfreich, kollektiv Laerm. Und Laerm ist, wie wichtige Updates ignoriert werden.
Ein Blick auf Microsofts GCToolkit-Repo zeigte: 92 von 578 Commits waren Dependabot-Bumps. Das ist jeder sechste Commit. Das muss nicht so sein.
Die Loesung: Drei Aenderungen
1. Alles in einen Pull Request gruppieren
Ein groups-Block mit Wildcard-Pattern (patterns: ["*"]) buendelt alle Updates pro Oekosystem in einem einzigen PR. Statt 10 Pull Requests bekommst du einen Titel wie “Bump the monthly-batch group with 10 updates”. Ein Branch, ein CI-Lauf, eine Review.
2. Kadenz von daily auf monthly
schedule.interval: "monthly" aendert den Rhythmus von “immer wenn sich etwas aendert” zu “einmal pro Monat, planbar”. Kombiniert mit Gruppierung ist das die echte Laermreduktion: ein gebuendelter PR pro Oekosystem pro Monat.
3. Alle Oekosysteme abdecken
Viele Configs uberwachen nur github-actions, vergessen aber maven, npm, pip etc. Jedes Oekosystem bekommt seinen eigenen Schedule und seine eigene Gruppe.
Sicherheit bleibt sofort
Der Schluessel: Gruppen und Schedule betreffen nur Version-Updates, nicht Security-Fixes. Dependabot Security Updates werden weiterhin sofort bei Bekanntwerden einer Schwachstelle ausgeloest, unabhaengig vom Schedule. Monatliche Routine-Bumps verzoegern also keinen kritischen Patch.
Zusaetzlich gibt es seit kurzem einen Default-Cooldown: Dependabot wartet drei Tage, bevor ein Version-Update-PR eroeffnet wird - als Schutz vor Supply-Chain-Angriffen ueber frisch veroeffentlichte Releases.
Praxis-Tipps
- Starte breit mit einem Wildcard-Gruppe, splitte spaeter bei Bedarf
- Nutze
directoriesmit Globs fuer Monorepos (/apps/*) group-by: dependency-namefasst gleiche Libraries ueber mehrere Verzeichnisse zusammen- Cooldown-Laenge ist konfigurierbar (
cooldown.default-days: 7)
Mit etwa einem Dutzend Zeilen YAML wird aus einem Daily-PR-Strom ein sauberer monatlicher Batch. Weniger PRs, weniger CI-Laeufe, und die Updates, die wirklich zaehlen, gehen nicht im Rauschen unter.
Quelle: GitHub Blog