Skip to content

chore: Renovate config - #155

Open
thompson-tomo wants to merge 8 commits into
open-feature:mainfrom
thompson-tomo:renovate_config
Open

chore: Renovate config#155
thompson-tomo wants to merge 8 commits into
open-feature:mainfrom
thompson-tomo:renovate_config

Conversation

@thompson-tomo

@thompson-tomo thompson-tomo commented Jul 30, 2026

Copy link
Copy Markdown

This PR

  • introduces control of when renovate pr’s are raised in the case of minor updates
  • groups update’s together on the dashboard to reduce approvals needed & provide additional context.

@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@thompson-tomo, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 48 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 7008faeb-a38a-4ebe-ba4b-86444a76d362

📥 Commits

Reviewing files that changed from the base of the PR and between da19c50 and 1d7d5a0.

📒 Files selected for processing (1)
  • renovate.json
📝 Walkthrough

Walkthrough

The Renovate configuration replaces the recommended preset with community presets and defines rules for patch, digest, major, minor, and Rust updates. The rules configure categories, approval behavior, auto-merge messaging, branch prefixes, and a Rust minor-update schedule.

Changes

Renovate policy

Layer / File(s) Summary
Renovate presets
renovate.json
The configuration replaces config:recommended with community tooling, best-practices, and GitHub Action digest pinning presets.
Dependency update rules
renovate.json
Package rules categorize patch, digest, major, minor, and Rust updates. They configure approval behavior, auto-merge messaging, branch prefixes, and a Monday morning schedule for Rust minor updates.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: erka

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly identifies the main change: updating the Renovate configuration.
Description check ✅ Passed The description accurately describes controlling Renovate PR timing and grouping dependency updates.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Comment thread renovate.json
@thompson-tomo
thompson-tomo requested a review from erka July 30, 2026 10:16

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
renovate.json (1)

13-13: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Use cron schedules instead of deprecated Later text.

Renovate’s text-based before ... on ... syntax is deprecated in favor of five-part cron. Convert the repository’s schedule entries from Later text to cron if Weekday means Monday–Friday.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@renovate.json` at line 13, Update the schedule entry in renovate.json from
deprecated Later text to a five-part cron expression representing execution
before 6:00 AM on weekdays (Monday through Friday). Preserve the existing
scheduling intent.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@renovate.json`:
- Line 13: Update the schedule entry in renovate.json from deprecated Later text
to a five-part cron expression representing execution before 6:00 AM on weekdays
(Monday through Friday). Preserve the existing scheduling intent.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 03def4bf-b25a-459c-8efc-feabe945a607

📥 Commits

Reviewing files that changed from the base of the PR and between 0755435 and 9f6ea0a.

📒 Files selected for processing (1)
  • renovate.json

@erka

erka commented Jul 30, 2026

Copy link
Copy Markdown
Member

Hey @thompson-tomo

Thank you for your PR and the follow-up.

Personally, I think the configuration file should look like this:

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": ["github>open-feature/community-tooling"],
  "packageRules": [
    //... rust specific rules only
  ]
}

There should not be any custom rules for GitHub actions, schedule, etc... The community has made their decisions about them. Maintaining each repository separately requires extra effort. For example, people are usually busy with work at their companies on Mondays. Applying the change in one place helps avoid unnecessary noise across multiple repositories and be consistent.

If config:best-practices is the better default it probably should be applied in open-feautre/community-tooling repo. If anything should differ from community-tooling, it should be clearly documented.

@thompson-tomo

Copy link
Copy Markdown
Author

The issue i have with the community rules, is that every single update is requiring 2 approvals (1st to create, 2nd on the pr with a time delay between them). If you have 5 patches thats 10 approvals and the bigger the repo, the bigger the problem. Whereas having 1 patches pr group increases the chance of updates being approved and that pr can sit open till you are ready with new patches being added to it as time goes by. Hence this decreases work needed.

I am more than open to adding some of this config to the community to help repos more efficiently maintain their dependencies.

@erka

erka commented Jul 30, 2026

Copy link
Copy Markdown
Member

Trusted GitHub Actions would be merged without additional approvals. All other changes usually require approval from a maintainer and an owner anyway. I may also have my own opinions on this, but those decisions are made by the Governance and Technical Committees.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@renovate.json`:
- Around line 30-34: Move the general Renovate package rule containing
dependencyDashboardCategory, dependencyDashboardFooter, and matchUpdateTypes
before the specialized CI/Docker rule. Preserve the CI/Docker rule’s later
position so its infra-specific category and footer override the general values
for matching major or minor updates.
- Around line 31-33: In renovate.json, add the missing comma after the
dependencyDashboardFooter property so matchUpdateTypes remains a separate valid
JSON property and Renovate can parse the configuration.
- Around line 9-13: Add a shared groupName to the Renovate rule containing
matchUpdateTypes for patch and digest updates, using a descriptive name so
matching updates are consolidated into one branch and pull request while
retaining the existing dashboard category and footer.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 56481873-84cd-43d3-afe0-08b6fee94eea

📥 Commits

Reviewing files that changed from the base of the PR and between 9f6ea0a and 5822de7.

📒 Files selected for processing (1)
  • renovate.json

Comment thread renovate.json
Comment thread renovate.json Outdated
Comment thread renovate.json Outdated
@thompson-tomo

Copy link
Copy Markdown
Author

I have refactored the rules to only define behaviour of rust updates. The other changes just introduce groups in the dashboard enabling 1 click to update all github actions but still raises seperate pr hence makes it easier to maintain & can be upstreamed.

@erka

erka commented Aug 1, 2026

Copy link
Copy Markdown
Member

@thompson-tomo Do you have any great example with Renovate, Cargo and devDependencies? It seems that Renovate Cargo Schema has only dependencies, dev-dependencies and build-dependencies link

extends should only have github>open-feature/community-tooling. For inspiration, you can take a look at the oxidecomputer repositories.

Please remember that this is a volunteer-driven project, and people contribute in their own free time. While some companies may allow employees to contribute during working hours, that's a benefit rather than a requirement. Please follow the schedule defined in community-tooling.

@thompson-tomo

thompson-tomo commented Aug 1, 2026

Copy link
Copy Markdown
Author

I am fully aware that the project is volunteer driven hence why i am trying to help to reduce time & effort needing to be spent on housekeeping.

I fail to see anything added by the extends which will lead to more work, & it also provides more info to the dashboard about abandonments etc. The devDependencies preset i also believe is not applicable to rust so that would not cause any changes let alone more work.

In relation to scheduling of minor rust updates which is all i have defined a schedule for, i will defer to @erenatas, as to your preference:

  • individual pr's automatically created one morning a week and then you can merge it straight after approval. So 1 approval. If you want it earlier you can trigger an update sooner but there is a noticeable delay.
  • individual pr's need to be first approved via the dashboard issue. When the next update job runs (can be hours later), the pr is then created which needs to be approved for a second time before being ready to merge.

The current setup is the first but atm it applies to all update types and it also happens any day or time of the week.

My preference is the first as it is less work (approvals) for maintainers and we avoid that noticeable delay between the first & second approval which would mean you need 2 review sessions.

Signed-off-by: James Thompson <thompson.tomo@outlook.com>
Signed-off-by: James Thompson <thompson.tomo@outlook.com>
Signed-off-by: James Thompson <thompson.tomo@outlook.com>
Signed-off-by: James Thompson <thompson.tomo@outlook.com>
Signed-off-by: James Thompson <thompson.tomo@outlook.com>
Signed-off-by: James Thompson <thompson.tomo@outlook.com>
@erenatas

erenatas commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

I am fully aware that the project is volunteer driven hence why i am trying to help to reduce time & effort needing to be spent on housekeeping.

I fail to see anything added by the extends which will lead to more work, & it also provides more info to the dashboard about abandonments etc. The devDependencies preset i also believe is not applicable to rust so that would not cause any changes let alone more work.

In relation to scheduling of minor rust updates which is all i have defined a schedule for, i will defer to @erenatas, as to your preference:

  • individual pr's automatically created one morning a week and then you can merge it straight after approval. So 1 approval. If you want it earlier you can trigger an update sooner but there is a noticeable delay.
  • individual pr's need to be first approved via the dashboard issue. When the next update job runs (can be hours later), the pr is then created which needs to be approved for a second time before being ready to merge.

The current setup is the first but atm it applies to all update types and it also happens any day or time of the week.

My preference is the first as it is less work (approvals) for maintainers and we avoid that noticeable delay between the first & second approval which would mean you need 2 review sessions.

Hi! I appreciate the effort being put into helping manage the crates easier. I personally don't mind when PRs are generated. What would be useful for me personally is if the PRs were grouped per workspace member (or flagd provider family and other members) in repo. I only maintain flagd provider, while @erka helps out with another, there was a time where I merged an update for all workspace members and it broke other crates besides flagd provider. Since then I'm embarrassed to say I've been practically running cargo upgrade --incompatible locally (for what I'm responsible of), try to pass it, then let the renovate PRs get closed automatically.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
renovate.json (1)

29-29: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Prefer cron syntax for the schedule.

"before 7am on Monday" uses Renovate's deprecated Later syntax. Renovate recommends cron syntax for new schedules. Set timezone if 7am must use a specific repository timezone. (docs.renovatebot.com)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@renovate.json` at line 29, Replace the deprecated Later-style value in the
Renovate schedule configuration with equivalent cron syntax, and set an explicit
timezone if the intended 7am timing depends on a specific repository timezone.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@renovate.json`:
- Around line 19-24: Update the Rust package rule identified by matchCategories:
["rust"] so patch updates are included in the intended Rust flow or
dependencyDashboardApproval is explicitly disabled for that category; preserve
the existing branch prefix and dashboard messaging settings.
- Around line 16-17: Update the Renovate configuration around
dependencyDashboardFooter and matchUpdateTypes so the dashboard text does not
claim automerge or manual-approval behavior that is not enforced locally. Use
neutral wording unless you add explicit packageRules defining the corresponding
behavior, and ensure the messaging remains consistent with the inherited preset
for all referenced update types.

---

Nitpick comments:
In `@renovate.json`:
- Line 29: Replace the deprecated Later-style value in the Renovate schedule
configuration with equivalent cron syntax, and set an explicit timezone if the
intended 7am timing depends on a specific repository timezone.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d048dff6-fb44-477b-a1a8-f725a56ad064

📥 Commits

Reviewing files that changed from the base of the PR and between 5822de7 and da19c50.

📒 Files selected for processing (1)
  • renovate.json

Comment thread renovate.json
Comment thread renovate.json
@thompson-tomo

thompson-tomo commented Aug 4, 2026

Copy link
Copy Markdown
Author

I personally don't mind when PRs are generated.

Have kept the auto generation for minor.

What would be useful for me personally is if the PRs were grouped per workspace member (or flagd provider family and other members) in repo.

Have added grouping based on parentdir to the dashboard and the brach names. This means that you will be able to trigger all flagd updates using a single click from the dashboard. This should remove the need to run it locally.

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.

3 participants