Skip to content

chore(ci): give version updates to Renovate, keep Dependabot for security - #141

Merged
thewrz merged 1 commit into
mainfrom
chore/renovate-only-version-updates
Aug 2, 2026
Merged

chore(ci): give version updates to Renovate, keep Dependabot for security#141
thewrz merged 1 commit into
mainfrom
chore/renovate-only-version-updates

Conversation

@thewrz

@thewrz thewrz commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

This was written agentically; verify its assertions and edit accordingly:

Why

#125 turned Dependabot on alongside Renovate deliberately and temporarily — its own words were "expect duplicate PRs until then; that is intentional, not a misconfiguration" — so the two could be compared on the same manifests before settling on one. One cycle produced a clear answer.

1. Volume — identical coverage, roughly half the review surface

Work Renovate Dependabot
npm minor/patch #128 #131
npm majors #130 #132, #133, #135, #136
actions minor #123 #137
actions majors #129 #138, #139
Total 4 PRs 8 PRs

2. Engine awareness — the decisive one

Renovate reads engines.node and .nvmrc and filters candidate versions against them (constraintsFiltering: "strict", already in renovate.json as of #127). Dependabot has no equivalent at any level — its ignore / allow / versioning-strategy / groups levers all operate on semver update type, never on runtime compatibility.

That is not a theoretical gap. Dependabot opened #134 proposing @types/node 26 against a Node 24 runtime — the exact typings-ahead-of-runtime drift #126 exists to prevent — while Renovate, from the identical repository state, did not. Constraining Dependabot took a hand-written per-package ignore rule, which would then need maintaining for every future dependency carrying an engines constraint. That does not scale, and forgetting one fails silently.

A pin is only as strong as the automation that respects it, so version updates go to the tool that can actually see it.

What

Sets open-pull-requests-limit: 0 on both ecosystems in .github/dependabot.yml.

The file is kept, not deleted, on purpose. 0 stops version updates while leaving the per-ecosystem settings available to Dependabot's security updates, and re-enabling is a one-line revert rather than a reconstruction. The removed groups and ignore blocks were only meaningful for version updates.

⚠️ Dependabot security updates are NOT affected

They are a repository setting (Settings → Code security → Dependabot security updates), not this file. This PR does not touch them and they should stay ON — Dependabot is the better of the two at alert-driven security PRs, and it is what surfaced the six advisories cleared in cc5b257.

Worth confirming that setting is still enabled after merge, since that is the half of Dependabot we are deliberately keeping.

Testing

  • .github/dependabot.yml parses as valid YAML; both open-pull-requests-limit values read 0
  • No renovate.json change needed — chore(ci): pin DMXr to Node 24 LTS and enforce it end to end #127 already gave it constraintsFiltering, Node-major disabling, and <25 bounds on node-version / @types/node
  • CI green
  • After merge: no new Dependabot version PRs on the next scheduled run
  • After merge: Dependabot security updates confirmed still enabled in repo settings
  • After merge: Renovate continues opening grouped version PRs as before

🤖 Co-authored by Claude Opus 5 (1M context). Follow-up to #125, #126, #127.

Summary by CodeRabbit

  • Chores
    • Updated automated dependency update configuration so Renovate manages version updates.
    • Dependabot security updates remain enabled.

…rity

#125 enabled Dependabot alongside Renovate deliberately and temporarily, to
compare the two on the same manifests before settling on one. One cycle
answered it.

Volume -- identical coverage, roughly half the review surface:

  work              Renovate       Dependabot
  npm minor/patch   #128           #131
  npm majors        #130           #132 #133 #135 #136
  actions minor     #123           #137
  actions majors    #129           #138 #139
  TOTAL             4 PRs          8 PRs

Engine awareness -- the decisive one. Renovate reads engines.node and .nvmrc and
filters candidates against them via constraintsFiltering. Dependabot has no
equivalent at any level: its ignore/allow/versioning-strategy/groups levers all
operate on semver update *type*, never on runtime compatibility.

That is not theoretical. Dependabot opened #134 proposing @types/node 26 against
a Node 24 runtime -- precisely the typings-ahead-of-runtime drift issue #126
exists to prevent -- while Renovate, from the same repository state, did not.
Constraining Dependabot required a hand-written per-package ignore rule, which
would then have to be maintained for every future dependency carrying an engines
constraint. That does not scale, and forgetting one fails silently.

A pin is only as strong as the automation that respects it, so version updates
go to the tool that can see it.

Sets open-pull-requests-limit to 0 for both ecosystems rather than deleting the
file: it stops version updates while leaving the per-ecosystem settings available
to security updates, and re-enabling is a one-line revert.

Dependabot SECURITY updates are untouched. They are a repository setting, not
this file, and they stay ON -- Dependabot is the better of the two at
alert-driven security PRs, and it is what surfaced the advisories cleared in
cc5b257.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 014c6577-f701-4af8-b2b0-0bcd4b226152

📥 Commits

Reviewing files that changed from the base of the PR and between 2201385 and 13bdc24.

📒 Files selected for processing (1)
  • .github/dependabot.yml

📝 Walkthrough

Walkthrough

The Dependabot configuration disables npm and GitHub Actions version-update pull requests. Renovate now owns version updates. Dependabot security updates remain enabled. Obsolete grouping and @types/node ignore rules are removed.

Changes

Dependency update ownership

Layer / File(s) Summary
Disable Dependabot version updates
.github/dependabot.yml
The npm and GitHub Actions pull request limits change from 20 to 0. Previous grouping and @types/node major-version ignore rules are removed. The documentation records Renovate as the owner of version updates and confirms that security updates remain enabled.

Possibly related PRs

  • wrzonance/DMXr#125: Modifies the same Dependabot configuration to enable and group dependency updates.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: Renovate handles version updates while Dependabot remains for security updates.
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.

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

@thewrz
thewrz marked this pull request as ready for review August 2, 2026 05:44
@thewrz

thewrz commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@thewrz
thewrz merged commit b2c98d2 into main Aug 2, 2026
8 checks passed
@thewrz
thewrz deleted the chore/renovate-only-version-updates branch August 2, 2026 05:47
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