diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml new file mode 100644 index 0000000..7268745 --- /dev/null +++ b/.github/workflows/renovate.yml @@ -0,0 +1,20 @@ +name: Renovate + +on: + schedule: + - cron: '0 6 * * 1-5' # Weekdays at 6am UTC + workflow_dispatch: + +jobs: + renovate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: renovatebot/github-action@v46.1.9 + with: + token: ${{ secrets.RENOVATE_TOKEN }} + env: + RENOVATE_REPOSITORIES: ${{ github.repository }} + RENOVATE_ONBOARDING: 'false' + RENOVATE_REQUIRE_CONFIG: optional + RENOVATE_GIT_AUTHOR: 'Renovate Bot ' diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..495a366 --- /dev/null +++ b/renovate.json @@ -0,0 +1,36 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["config:recommended"], + "packageRules": [ + { + "description": "Group the React Native core and its tooling — they are pinned to the same release and must bump atomically", + "matchPackageNames": [ + "react-native", + "/^@react-native\\//", + "/^@react-native-community\\//" + ], + "groupName": "react-native" + }, + { + "description": "Group React and its companions — react-test-renderer is pinned to the React version", + "matchPackageNames": ["react", "react-test-renderer", "@types/react"], + "groupName": "react" + }, + { + "description": "Group all GraphQL Codegen packages together", + "matchPackageNames": ["/^@graphql-codegen\\//"], + "groupName": "graphql-codegen" + }, + { + "description": "Group all React Navigation packages together", + "matchPackageNames": ["/^@react-navigation\\//"], + "groupName": "react-navigation" + }, + { + "description": "Auto-merge patch updates for GitHub Actions", + "matchManagers": ["github-actions"], + "matchUpdateTypes": ["patch"], + "automerge": true + } + ] +}