Shared Renovate preset for monkescience repositories.
- Add a
renovate.jsonto your repository:
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["github>monkescience/renovate"]
}- Add the workflow to
.github/workflows/renovate.yaml:
name: Renovate
on:
schedule:
- cron: '0 6 * * 5' # Every Friday at 6:00 AM UTC
workflow_dispatch:
inputs:
log_level:
description: Log level
default: info
type: choice
options:
- info
- debug
- trace
- warn
- error
- fatal
jobs:
renovate:
runs-on: ubuntu-latest
steps:
- name: Generate GitHub App token
id: generate-token
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2
with:
owner: monkescience
app-id: ${{ vars.RENOVATE_APP_ID }}
private-key: ${{ secrets.RENOVATE_APP_PRIVATE_KEY }}
- name: Renovate
uses: renovatebot/github-action@f7fad228a053c69a98e24f8e4f6cf40db8f61e08 # v44.2.1
with:
token: ${{ steps.generate-token.outputs.token }}
env:
RENOVATE_REPOSITORIES: ${{ github.repository }}
LOG_LEVEL: ${{ inputs.log_level || 'info' }}Configure these at the organization level (Settings > Secrets and variables > Actions):
| Type | Name | Description |
|---|---|---|
| Variable | RENOVATE_APP_ID |
GitHub App ID |
| Secret | RENOVATE_APP_PRIVATE_KEY |
GitHub App private key |
The shared preset in default.json includes:
- Semantic commits - PRs use conventional commit format
- Auto-merge minor updates - Minor and patch updates are auto-merged; major updates require manual review
- 6-day minimum release age - Updates wait 6 days before being proposed
- OpenTofu registry - Terraform providers/modules use the OpenTofu registry
- Argo CD support - Scans Argo CD Application manifests for image updates
- Workflow variables - Updates variables with inline renovate comments
The preset includes a custom regex manager for GitHub workflow variables. Add a # renovate: comment to any variable in .github/workflows/*.yaml:
env:
HELM_VERSION: v3.19.0 # renovate: datasource=github-releases depName=helm/helm
TOOL_VERSION: v1.2.3 # renovate: datasource=github-releases depName=owner/repoRenovate will automatically create PRs when new versions are available.