Skip to content

Commit a48dca6

Browse files
dfallingclaude
andauthored
Set up automated dependency updates via self-hosted Renovate (#20)
Run Renovate on a weekday schedule (plus manual dispatch) to open dependency-update PRs, keeping the JS/bun and Android/Gradle stacks current without manual tracking. Grouping rules keep version-locked package families (react-native core, react, graphql-codegen, react-navigation) updating atomically so PRs stay buildable. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent bab5358 commit a48dca6

2 files changed

Lines changed: 56 additions & 0 deletions

File tree

.github/workflows/renovate.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Renovate
2+
3+
on:
4+
schedule:
5+
- cron: '0 6 * * 1-5' # Weekdays at 6am UTC
6+
workflow_dispatch:
7+
8+
jobs:
9+
renovate:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
- uses: renovatebot/github-action@v46.1.9
14+
with:
15+
token: ${{ secrets.RENOVATE_TOKEN }}
16+
env:
17+
RENOVATE_REPOSITORIES: ${{ github.repository }}
18+
RENOVATE_ONBOARDING: 'false'
19+
RENOVATE_REQUIRE_CONFIG: optional
20+
RENOVATE_GIT_AUTHOR: 'Renovate Bot <bot@renovateapp.com>'

renovate.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"extends": ["config:recommended"],
4+
"packageRules": [
5+
{
6+
"description": "Group the React Native core and its tooling — they are pinned to the same release and must bump atomically",
7+
"matchPackageNames": [
8+
"react-native",
9+
"/^@react-native\\//",
10+
"/^@react-native-community\\//"
11+
],
12+
"groupName": "react-native"
13+
},
14+
{
15+
"description": "Group React and its companions — react-test-renderer is pinned to the React version",
16+
"matchPackageNames": ["react", "react-test-renderer", "@types/react"],
17+
"groupName": "react"
18+
},
19+
{
20+
"description": "Group all GraphQL Codegen packages together",
21+
"matchPackageNames": ["/^@graphql-codegen\\//"],
22+
"groupName": "graphql-codegen"
23+
},
24+
{
25+
"description": "Group all React Navigation packages together",
26+
"matchPackageNames": ["/^@react-navigation\\//"],
27+
"groupName": "react-navigation"
28+
},
29+
{
30+
"description": "Auto-merge patch updates for GitHub Actions",
31+
"matchManagers": ["github-actions"],
32+
"matchUpdateTypes": ["patch"],
33+
"automerge": true
34+
}
35+
]
36+
}

0 commit comments

Comments
 (0)