Skip to content

remove dependabot, add renovatebot config and gha - #1110

Merged
joshuafernandes merged 1 commit into
mainfrom
feature/swap-dependabot-for-renovatebot
Sep 18, 2026
Merged

joshuafernandes merged 1 commit into
mainfrom
feature/swap-dependabot-for-renovatebot

Conversation

@joshuafernandes

@joshuafernandes joshuafernandes commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Moving to using sha's on every action until we do a formal review in CI. This will unblock ocap devs for the immediate future


Note

Low Risk
CI-only dependency automation swap; requires the security environment secrets and app to be configured for Renovate to run successfully.

Overview
Replaces Dependabot with Renovate for automated dependency updates by deleting .github/dependabot.yml and adding renovate.json plus a scheduled GitHub Actions workflow.

The new renovatebot workflow runs twice monthly (and on manual dispatch) in the security environment, using a Consensys GitHub App (GH_APP_ID, GH_PRIVATE_KEY) to execute Renovate via a pinned composite action.

renovate.json mirrors the old Dependabot scope: grouped npm bumps for @metamask/*, @agoric/*, @endo/*, and ses (7-day minimum release age, daily-before-7am schedule), and grouped GitHub Actions updates for actions/* and MetaMask/* with digest pinning and a 7-day delay. Updates for Consensys-Incorporated/github-actions are allowed immediately with digest pinning.

Reviewed by Cursor Bugbot for commit 0408965. Bugbot is set up for automated code reviews on this repo. Configure here.

@joshuafernandes
joshuafernandes requested a review from a team as a code owner September 18, 2026 01:02
name: renovatebot

on:
schedule:

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Increase this frequency as needed @rekmarks. We use 2 weeks per our ISO27k1 policy in protocols.

Comment thread renovate.json
"packageRules": [
{
"matchManagers": ["npm"],
"enabled": false

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Disable the automagic ones to use the rules below

Comment thread renovate.json
{
"description": "Pin and group GitHub Actions updates for actions/* and MetaMask/*",
"matchManagers": ["github-actions"],
"matchPackagePrefixes": ["actions/", "MetaMask/"],

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Used the same rules in dependabot here too

Comment thread renovate.json
"matchPackagePrefixes": ["actions/", "MetaMask/"],
"enabled": true,
"pinDigests": true,
"minimumReleaseAge": "7 days",

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This guarantees stability. A new version has to be in the wild at least 1 week without anyone yelling and we don't have zero day vulns but updating blindly

Comment thread renovate.json
"matchPackagePrefixes": ["Consensys-Incorporated/github-actions"],
"enabled": true,
"pinDigests": true,
"minimumReleaseAge": "0 days"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

0 days here because we follow the 7 day rule in github-actions

@cursor cursor 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.

Stale Bugbot comment from a previous run.

Comment thread renovate.json Outdated
@joshuafernandes
joshuafernandes force-pushed the feature/swap-dependabot-for-renovatebot branch from f3ca144 to 0408965 Compare September 18, 2026 01:10
@joshuafernandes
joshuafernandes merged commit b146747 into main Sep 18, 2026
11 of 16 checks passed
@joshuafernandes
joshuafernandes deleted the feature/swap-dependabot-for-renovatebot branch September 18, 2026 01:14

@cursor cursor 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.

Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 0408965. Configure here.

Comment thread renovate.json
"enabled": true,
"rangeStrategy": "bump",
"minimumReleaseAge": "7 days",
"schedule": ["before 7am"],

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

npm schedule blocks manual Renovate runs

Medium Severity

The npm rule sets schedule to before 7am, and Renovate still enforces that window when the workflow is started by workflow_dispatch or a delayed cron. Manual runs after 07:00 UTC silently skip every @metamask/, @agoric/, @endo/, and ses update, so the dispatch escape hatch does not actually refresh npm dependencies.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 0408965. Configure here.

Comment thread renovate.json
"minimumReleaseAge": "7 days",
"schedule": ["before 7am"],
"groupName": "npm dependencies"
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Renovate skips yarn lockfile dedupe

Medium Severity

Renovate npm updates do not run yarn dedupe, and the existing dedupe workflow only runs for dependabot[bot]. This repo's lint job fails when yarn.lock can still be deduplicated, so grouped npm PRs can fail CI and stay unmergeable.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 0408965. Configure here.

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