Skip to content

Automerge workflow actions only, gate the rest - #702

Open
kriszyp wants to merge 6 commits into
mainfrom
kris/renovate-automerge-policy
Open

Automerge workflow actions only, gate the rest#702
kriszyp wants to merge 6 commits into
mainfrom
kris/renovate-automerge-policy

Conversation

@kriszyp

@kriszyp kriszyp commented Aug 14, 2026

Copy link
Copy Markdown
Member

Renovate now enables auto-merge only for GitHub Action updates in the integration and lint workflows. Current repository rules still require human approval, and every allowlisted action is exercised by a required pull-request check; release, scheduled, reusable AI-review, container-image, runtime, major, and pre-1.0 updates stay human-gated.

The eligible action occurrences use their own Renovate group. This keeps a shared action such as actions/checkout from landing in one branch that also edits unexercised publish workflows. The root manifest remains disabled because it follows core; nested integration-test manifests remain managed. rocksdb-js stays disabled because its release workflow owns those proposals.

prConcurrentLimit remains 20 so human-gated PRs cannot starve the action group. This is effectively an upper bound rather than an expected queue depth.

For the human reviewer

  1. Approval semantics: automerge: true enables GitHub auto-merge, but the active Main - Require Reviewers ruleset still requires one human approval and last-push approval; Renovate is not a bypass actor.
  2. Action scope: the allowlist contains .github/workflows/integration-tests.yaml and lint-code.yaml. unit-tests.yaml is excluded because its current action references are already exercised by the required lint and integration jobs; excluding the file prevents a future unit-only action from silently entering the automerge group.
  3. Branch separation: groupSlug: "pr-test-workflow-actions" overrides the earlier all-digests grouping for allowlisted occurrences. Release and scheduled workflow occurrences remain in the human-gated group.
  4. Concurrency: 20 is global. Dawson approved the tradeoff as effectively unlimited if the queue is actively maintained; revisit it if CI load becomes noisy.

Verification

  • Renovate 44.33.2 config validation passes.
  • A Node 24 local Renovate 44.33.2 --dry-run=full succeeds, resolves the config without migration, and extracts repository dependencies.
  • Focused rule assertions fail on the prior PR head and pass on the final config: YCSB and the unit workflow are absent, only the two intended workflow files are allowlisted, and the description assigns approval/check enforcement to repository rules.
  • npm run lint:required, targeted Prettier formatting, and git diff --check pass.
  • Application build/unit/integration suites were not run because this changes only Renovate policy and is not loaded by Harper runtime or tests.

Review coverage

Original policy authored by Claude Opus 5; review fixes authored by GPT-5 Codex. Earlier rounds used Claude and Gemini. The final review-feedback fix was independently reviewed by Gemini and Cursor Composer under the no-Claude quota policy; both completed, while Claude and domain adjudication were intentionally pruned. Their findings were broader pre-existing policy concerns or contradicted the approved intent and repository facts; neither identified a defect specific to removing the redundant unit-workflow entry.

Co-Authored-By: GPT-5 Codex noreply@openai.com

Human-Review-Need: 4 @ 2503a33

Automerge is scoped to the github-actions manager because PR CI runs the
workflows. No PR-triggered job builds Dockerfile, Dockerfile-gpu or
Dockerfile-openshift, so a repo-wide automerge would have landed base-image
bumps — including the fully-pinned nvidia/cuda runtime — on a suite that never
compiled the image.

Majors, 0.x minors, and the load-bearing dependency list never automerge, in
step with harper's policy. rocksdb-js is disabled outright; its own release
workflow proposes it.

The root manifest stays disabled (those follow core), but matchFileNames is
exact-path, so nested manifests under integrationTests/ remain managed — the
description now says root manifest rather than implying all npm dependencies.
matchFiles was the removed spelling and worked only through Renovate's
config-migration shim.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kriszyp
kriszyp requested a review from dawsontoth August 14, 2026 23:48

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request updates the Renovate configuration (renovate.json) to increase the concurrent PR limit, refine automerge rules, and add specific package rules for various dependencies. Feedback on the changes points out that Renovate's matchPackageNames does not support negation using the ! prefix, and suggests using excludePackageNames instead to properly exclude specific packages.

Comment thread renovate.json Outdated
@claude

claude Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Reviewed; no blockers found.

@dawsontoth dawsontoth left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

2 was mostly from when we were just getting started, if we stay on top of things, I don't think we'll get very high into the 20 range. I read that as effectively unlimited.

@kriszyp
kriszyp marked this pull request as ready for review August 18, 2026 21:51
@kriszyp
kriszyp requested a review from a team as a code owner August 18, 2026 21:51
Comment thread renovate.json
Comment thread renovate.json Outdated
kriszyp and others added 2 commits August 18, 2026 16:13
Co-Authored-By: GPT-5 Codex <noreply@openai.com>
Co-Authored-By: GPT-5 Codex <noreply@openai.com>
Comment thread renovate.json Outdated
Comment thread renovate.json Outdated
kriszyp and others added 2 commits August 18, 2026 17:12
Co-Authored-By: GPT-5 Codex <noreply@openai.com>
Co-Authored-By: GPT-5 Codex <noreply@openai.com>
Comment thread renovate.json Outdated
Co-Authored-By: GPT-5 Codex <noreply@openai.com>
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