Skip to content

chore: add Renovate config for automated dependency updates#17

Merged
tyvsmith merged 1 commit intomainfrom
chore/renovate-config
Mar 28, 2026
Merged

chore: add Renovate config for automated dependency updates#17
tyvsmith merged 1 commit intomainfrom
chore/renovate-config

Conversation

@tyvsmith
Copy link
Copy Markdown
Owner

@tyvsmith tyvsmith commented Mar 28, 2026

Summary

  • Adds Renovate configuration for automated dependency management
  • Cargo patch updates grouped and auto-merged to reduce noise
  • Cargo minor updates grouped into single PR for manual review
  • Major updates get individual PRs for breaking change review
  • GitHub Actions updates grouped and auto-merged
  • Runs weekly (Monday before 9am)

Setup

Install the Renovate GitHub App on this repo. It will read .github/renovate.json and start opening PRs.

Test plan

  • Install Renovate GitHub App on the repo
  • Verify Renovate opens a "Dependency Dashboard" issue
  • Confirm first batch of update PRs follows the grouping rules

🤖 Generated with Claude Code

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>
Copilot AI review requested due to automatic review settings March 28, 2026 16:36
@tyvsmith tyvsmith merged commit 4d4847c into main Mar 28, 2026
5 checks passed
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.json with 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",
Copy link

Copilot AI Mar 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
"groupName": "github actions",
"groupName": "github actions",
"matchUpdateTypes": ["digest", "patch", "minor"],

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +30
{
"$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"]
}
Copy link

Copilot AI Mar 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Suggested change
{
"$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"]
}
{}

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,30 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:recommended"],
Copy link

Copilot AI Mar 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
"extends": ["config:recommended"],
"extends": ["config:recommended"],
"enabledManagers": ["cargo", "github-actions"],

Copilot uses AI. Check for mistakes.
Comment on lines +19 to +23
"matchManagers": ["cargo"],
"matchUpdateTypes": ["major"],
"separateMinorPatch": true
},
{
Copy link

Copilot AI Mar 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
"matchManagers": ["cargo"],
"matchUpdateTypes": ["major"],
"separateMinorPatch": true
},
{

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants