Introduction
Maintaining project dependencies is a daily routine for developers. Manually checking, updating, and testing dependency versions is not only time-consuming but also prone to oversight. This article explains how to use Renovate to achieve fully automated dependency updates.
Objectives
- Automatically check for dependency updates at dawn daily
- Auto-create PRs and merge them (after CI passes)
- Zero manual intervention, running silently in the background
- Unified management across multiple repositories
Installing Renovate
- Visit GitHub Apps - Renovate
- Click Install
- Select repositories to enable (can choose all or specific ones)
- Complete authorization
Configuration File
Create renovate.json in the repository root:
{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "config:recommended", ":automergeAll", ":disableDependencyDashboard" ], "timezone": "Asia/Shanghai", "schedule": ["before 3:00am"]}Commit and push:
git add renovate.jsongit commit -m "chore: configure Renovate for automated dependency updates"git pushConfiguration Details
| Option | Description |
|---|---|
config:recommended | Renovate’s official recommended base configuration |
:automergeAll | Core option — auto-merge all updates (including major versions) |
:disableDependencyDashboard | Disable Dashboard Issue for pure background operation |
timezone | Set timezone to Asia/Shanghai |
schedule | Run checks before 3:00 AM daily |
Workflow
3:00 AM daily ↓Renovate checks package.json dependencies ↓Available updates detected ↓Auto-create Pull Request ↓Trigger CI checks ↓CI passes → Auto-merge to main branch ↓See updated dependencies next morningMulti-Repository Configuration
For multiple projects, copy the same configuration file:
# Create universal configcat > renovate.json << 'EOF'{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": ["config:recommended", ":automergeAll", ":disableDependencyDashboard"], "timezone": "Asia/Shanghai", "schedule": ["before 3:00am"]}EOF
# Apply to multiple repositoriesfor repo in repo1 repo2 repo3; do cp renovate.json $repo/ cd $repo && git add . && git commit -m "chore: configure Renovate" && git push cd ..doneFAQ
PR not auto-merging?
Check CI status. Renovate only merges after all CI checks pass. If CI fails, manually fix the issue and re-run.
How to trigger updates immediately?
- If Dashboard is enabled: Go to Issues → Dependency Dashboard → Check packages to update → Click Rebase
- Or wait for the scheduled time to run automatically
How to exclude specific dependencies?
Add exclusion rules in the config:
{ "packageRules": [{ "matchPackageNames": ["package-name"], "enabled": false }]}pnpm / yarn / npm support?
Renovate auto-detects lock file types, no extra configuration needed.
Verification
After pushing the config, Renovate will run automatically (or wait for the scheduled time). Verification steps:
- Go to repository Pull requests page
- View Renovate-created PRs (title format:
chore(deps): update ...) - Confirm PR has auto-merge enabled
- Auto-merge after CI passes
Summary
Just 5 lines of core configuration:
{ "extends": [ "config:recommended", "automergeAll", "disableDependencyDashboard" ], "timezone": "Asia/Shanghai", "schedule": ["before 3:00am"]}Achieve fully automated dependency management, letting developers focus on business code.
Published at: Feb 6, 2026 · Modified at: Feb 6, 2026