chore: add Renovate config for automated dependency updates#17
Conversation
Groups Cargo patch updates (auto-merge), minor updates, and GitHub Actions updates to reduce PR noise on the 10-crate workspace. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds a Renovate configuration intended to automate dependency update PR creation/merging, primarily for Rust (Cargo) and GitHub Actions.
Changes:
- Add
.github/renovate.jsonwith grouping/automerge rules for Cargo patch updates and GitHub Actions updates - Group Cargo minor updates for manual review; leave majors ungrouped
- Run Renovate on a weekly schedule (Monday before 9am)
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| }, | ||
| { | ||
| "matchManagers": ["github-actions"], | ||
| "groupName": "github actions", |
There was a problem hiding this comment.
This GitHub Actions rule enables automerge for all update types (including major version bumps). If you only want safe updates auto-merged, constrain this rule with matchUpdateTypes (e.g., digest/patch/minor) and leave majors for manual review.
| "groupName": "github actions", | |
| "groupName": "github actions", | |
| "matchUpdateTypes": ["digest", "patch", "minor"], |
| { | ||
| "$schema": "https://docs.renovatebot.com/renovate-schema.json", | ||
| "extends": ["config:recommended"], | ||
| "labels": ["dependencies"], | ||
| "rangeStrategy": "bump", | ||
| "packageRules": [ | ||
| { | ||
| "matchManagers": ["cargo"], | ||
| "matchUpdateTypes": ["patch"], | ||
| "groupName": "rust patch updates", | ||
| "automerge": true | ||
| }, | ||
| { | ||
| "matchManagers": ["cargo"], | ||
| "matchUpdateTypes": ["minor"], | ||
| "groupName": "rust minor updates" | ||
| }, | ||
| { | ||
| "matchManagers": ["cargo"], | ||
| "matchUpdateTypes": ["major"], | ||
| "separateMinorPatch": true | ||
| }, | ||
| { | ||
| "matchManagers": ["github-actions"], | ||
| "groupName": "github actions", | ||
| "automerge": true | ||
| } | ||
| ], | ||
| "schedule": ["before 9am on monday"] | ||
| } |
There was a problem hiding this comment.
This repo already contains a top-level renovate.json with Renovate settings. Adding a second config at .github/renovate.json is likely to be ignored or create ambiguous/conflicting behavior (and the PR description says Renovate will read this file). Consider consolidating into a single config file (update the existing renovate.json or delete it and keep only .github/renovate.json).
| { | |
| "$schema": "https://docs.renovatebot.com/renovate-schema.json", | |
| "extends": ["config:recommended"], | |
| "labels": ["dependencies"], | |
| "rangeStrategy": "bump", | |
| "packageRules": [ | |
| { | |
| "matchManagers": ["cargo"], | |
| "matchUpdateTypes": ["patch"], | |
| "groupName": "rust patch updates", | |
| "automerge": true | |
| }, | |
| { | |
| "matchManagers": ["cargo"], | |
| "matchUpdateTypes": ["minor"], | |
| "groupName": "rust minor updates" | |
| }, | |
| { | |
| "matchManagers": ["cargo"], | |
| "matchUpdateTypes": ["major"], | |
| "separateMinorPatch": true | |
| }, | |
| { | |
| "matchManagers": ["github-actions"], | |
| "groupName": "github actions", | |
| "automerge": true | |
| } | |
| ], | |
| "schedule": ["before 9am on monday"] | |
| } | |
| {} |
| @@ -0,0 +1,30 @@ | |||
| { | |||
| "$schema": "https://docs.renovatebot.com/renovate-schema.json", | |||
| "extends": ["config:recommended"], | |||
There was a problem hiding this comment.
Unlike the existing root renovate.json, this config doesn’t set enabledManagers. With extends: ["config:recommended"], Renovate may enable additional managers beyond Cargo and GitHub Actions if matching files are present. If the intent is to scope updates, add enabledManagers (or equivalent packageRules) here as well.
| "extends": ["config:recommended"], | |
| "extends": ["config:recommended"], | |
| "enabledManagers": ["cargo", "github-actions"], |
| "matchManagers": ["cargo"], | ||
| "matchUpdateTypes": ["major"], | ||
| "separateMinorPatch": true | ||
| }, | ||
| { |
There was a problem hiding this comment.
separateMinorPatch is set on a rule that matches only major updates, so it’s unlikely to have any effect and is confusing to future readers. Either remove this rule entirely (majors are already separate by default unless grouped) or move separateMinorPatch to the rule that actually groups minor/patch updates if that’s what you intended.
| "matchManagers": ["cargo"], | |
| "matchUpdateTypes": ["major"], | |
| "separateMinorPatch": true | |
| }, | |
| { |
Summary
Setup
Install the Renovate GitHub App on this repo. It will read
.github/renovate.jsonand start opening PRs.Test plan
🤖 Generated with Claude Code