Skip to content

👷 Track the pinned mockturtle revision with a Renovate custom manager - #404

Open
marcelwa wants to merge 1 commit into
mainfrom
renovate-cmake-fetchcontent
Open

👷 Track the pinned mockturtle revision with a Renovate custom manager#404
marcelwa wants to merge 1 commit into
mainfrom
renovate-cmake-fetchcontent

Conversation

@marcelwa

@marcelwa marcelwa commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Description

Renovate has no native manager for CMake FetchContent, so MOCKTURTLE_REV in
cmake/ExternalDependencies.cmake has never been picked up by any of the automated
dependency updates — it has only ever been bumped by hand.

This adds a custom.regex manager that matches the pinned commit SHA and resolves it
through the git-refs datasource against the mnt branch of marcelwa/mockturtle,
which is exactly what the pin tracks today (verified: the pinned SHA
8f0322e3 is the current refs/heads/mnt head).

Motivation is broader than mockturtle: the upcoming ABC bridge work depends on landing
a change in the mockturtle fork first, and that pin needs to move routinely rather than
being remembered manually.

Notes

  • enabledManagers is an explicit allowlist, so custom.regex had to be added there
    too — without it the manager would be silently inert.
  • Digest updates are explicitly opted out of the inherited :automergeDigest
    behaviour. An unattended merge is fine for an Action SHA; a mockturtle bump changes
    the C++ core, so it gets a human review.
  • Labels reuse existing ones only (dependencies, C++, build_system) — no new
    labels are introduced.

Checklist:

  • The pull request only contains commits that are related to it.
  • I have added appropriate tests and documentation.
  • I have made sure that all CI jobs on GitHub pass.
  • The pull request introduces no new warnings and follows the project's style guidelines.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GbUqcnZayPooFgekEXVSjz

Summary by CodeRabbit

  • Chores
    • Improved maintenance automation for a pinned build dependency.
    • Dependency update proposals now receive clearer categorization and commit descriptions.
    • Automated updates require review instead of being merged automatically, helping ensure build changes are validated before release.

Renovate has no native manager for CMake `FetchContent`, so `MOCKTURTLE_REV`
in `cmake/ExternalDependencies.cmake` has never been updated automatically.

Add a `custom.regex` manager that matches the pinned SHA and resolves it via
the `git-refs` datasource against the `mnt` branch of `marcelwa/mockturtle`,
which is what the pin tracks today.

Digest updates are excluded from the inherited `:automergeDigest` behaviour:
a mockturtle bump changes the C++ core, so it gets a human review rather than
being merged unattended.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GbUqcnZayPooFgekEXVSjz
@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Renovate configuration now tracks the pinned mockturtle revision in CMake and applies dedicated metadata and manual review requirements to updates generated by the custom manager.

Changes

Mockturtle Renovate automation

Layer / File(s) Summary
Regex pin detection and review policy
.github/renovate.json5
A custom regex manager detects the 40-character MOCKTURTLE_REV commit pin and updates it from the mnt ref. Matching updates receive dependency labels, a commit prefix, and automerge disabled.

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

🚥 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 states the main change: tracking the mockturtle revision with a Renovate custom manager.
Description check ✅ Passed It covers the change, motivation, context, and checklist, but it omits the required Fixes #issue reference.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch renovate-cmake-fetchcontent

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.

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.

1 participant