Skip to content

feat(renovate): auto-merge pip_requirements + onboarding docs#228

Merged
JacobPEvans merged 4 commits intomainfrom
fix/renovate-pip-requirements-automerge
Apr 25, 2026
Merged

feat(renovate): auto-merge pip_requirements + onboarding docs#228
JacobPEvans merged 4 commits intomainfrom
fix/renovate-pip-requirements-automerge

Conversation

@JacobPEvans
Copy link
Copy Markdown
Owner

@JacobPEvans JacobPEvans commented Apr 25, 2026

Summary

  • Extends Renovate's auto-merge rule to cover pip_requirements (requirements.txt) in addition to pep621 (pyproject.toml) for trusted-org packages
  • Moves org-preset onboarding documentation to docs/RENOVATE.md with canonical config and audit script
  • Resolves config drift that left repos like mlx-benchmarks without auto-merge for HF Space dependencies

Changes

renovate-presets.json: Merged pip_requirements into the existing pep621 auto-merge rule (identical update semantics, trusted-org sources only). Shortened description for consistency with terse org style. Raised audit one-liner repo limit from 50 to 1000.

docs/RENOVATE.md: New onboarding guide with 4-line canonical config and one-liner audit script to detect future config drift (moved out of CLAUDE.md).

Root cause

31 of 32 JacobPEvans public repos extend local>JacobPEvans/.github:renovate-presets correctly; mlx-benchmarks' Mend-auto-generated stub ({"extends": ["config:recommended"]}) silently lost lock maintenance, vulnerability alert automation, and trusted-org auto-merge. This PR hardens the org config and documents the onboarding requirement.

Test plan

  • jq empty renovate-presets.json — valid JSON
  • Markdown lint on docs/RENOVATE.md — 0 errors
  • pre-commit run --files docs/RENOVATE.md renovate-presets.json — all hooks pass
  • Post-merge: trigger Renovate on mlx-benchmarks and confirm pip_requirements PRs auto-merge per new rule

…arding

Two related gaps surfaced while auditing why mlx-benchmarks's lockfile and
space/requirements.txt fell years behind on dependency updates:

1. The org renovate-presets had an auto-merge rule for `pep621` (pyproject
   .toml) but no equivalent for `pip_requirements` (requirements.txt). Repos
   like mlx-benchmarks that ship a HuggingFace Spaces requirements.txt would
   accumulate manual-review minor/patch PRs even when the package source is
   already trusted via the org-wide allow-list. Merge the two managers into
   a single rule — they have identical update semantics.

2. There was no documentation telling repo maintainers that Mend's auto-
   generated "Configure Renovate" PR (which scaffolds only `config:recommended`)
   must be edited to extend `local>JacobPEvans/.github:renovate-presets`.
   The audit found 31 of 32 public repos compliant; mlx-benchmarks slipped
   through because the on-board PR was merged without that edit. Result:
   `lockFileMaintenance`, `vulnerabilityAlerts` automerge, the trusted-org
   1-day stabilization, and the 3-day default were all silently disabled
   for that repo. Add a "New repository onboarding" section to CLAUDE.md
   plus the audit one-liner so the same drift is detectable going forward.

The 3-day default / 1-day trusted-org / 0-day vulnerability stabilization
policy itself is unchanged — already correct in renovate-presets.json.

(claude)
Copilot AI review requested due to automatic review settings April 25, 2026 02:48
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

Updates the org-wide Renovate preset and repository documentation to prevent new repositories from drifting onto incomplete Renovate configs and to reduce manual review burden for safe Python dependency updates.

Changes:

  • Extend the existing Renovate auto-merge rule for Python minor/patch updates to cover both pep621 and pip_requirements.
  • Document the required org-preset extension during new-repo Renovate onboarding, including an audit one-liner to detect drift.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
renovate-presets.json Expands Python auto-merge coverage to include requirements.txt via pip_requirements.
CLAUDE.md Adds onboarding guidance and an audit command to ensure repos extend the org Renovate preset.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread CLAUDE.md Outdated
@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the organization's dependency management by expanding Renovate's auto-merge capabilities for Python packages and providing clear documentation for new repository onboarding. These changes aim to prevent future dependency drift and security vulnerabilities by ensuring all repositories correctly inherit and utilize the established Renovate presets.

Highlights

  • Renovate Configuration Update: Extended Renovate's auto-merge rule to include pip_requirements for minor and patch Python dependency updates, aligning it with the existing pep621 rule.
  • Documentation for New Repositories: Documented the required Renovate configuration for new repositories in CLAUDE.md to ensure they correctly inherit organizational presets and avoid dependency management gaps.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.


Old code, new updates,Renovate keeps watch for all,Security blooms.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

--limit 50 silently truncates; --limit 1000 covers the full public repo set.

(claude)
Adjacent entries average ~50 chars; new description was 239 chars.

(claude)
@JacobPEvans JacobPEvans changed the title fix(renovate): auto-merge pip_requirements + document org-preset onboarding fix(renovate): auto-merge pip_requirements + onboarding guide Apr 25, 2026
CLAUDE.md should stay brief. Moved the onboarding guide and audit
one-liner to docs/RENOVATE.md; left a one-line pointer in CLAUDE.md.

(claude)
@JacobPEvans JacobPEvans changed the title fix(renovate): auto-merge pip_requirements + onboarding guide feat(renovate): auto-merge pip_requirements + onboarding docs Apr 25, 2026
@JacobPEvans JacobPEvans merged commit 6b49672 into main Apr 25, 2026
2 checks passed
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