diff --git a/.github/renovate-config.json b/.github/renovate-config.json new file mode 100644 index 00000000..5fea2aa0 --- /dev/null +++ b/.github/renovate-config.json @@ -0,0 +1,43 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "onboarding": true, + "requireConfig": "ignored", + "platform": "github", + "repositories": ["populationgenomics/metamist"], + "prConcurrentLimit": 10, + "prHourlyLimit": 5, + "semanticCommits": "enabled", + "enabledManagers": ["pip-compile"], + "constraints": { + "python": "==3.11" + }, + "pip-compile": { + "fileMatch": ["^requirements\\.txt$", "^dev-requirements\\.txt$"], + "lockFileMaintenance": { + "enabled": true, + "branchTopic": "pip-compile-refresh", + "commitMessageAction": "Refresh pip-compile outputs" + } + }, + "packageRules": [ + { + "groupName": "all non-major dependencies", + "groupSlug": "all-minor-patch", + "matchUpdateTypes": [ + "minor", + "patch" + ], + "matchPackagePatterns": ["*"], + "minimumReleaseAge": "48 hours" + }, + { + "groupName": "all major dependencies", + "groupSlug": "all-major", + "matchUpdateTypes": [ + "major" + ], + "matchPackagePatterns": ["*"], + "minimumReleaseAge": "48 hours" + } + ] + } diff --git a/.github/workflows/renovate.yaml b/.github/workflows/renovate.yaml new file mode 100644 index 00000000..621ba33a --- /dev/null +++ b/.github/workflows/renovate.yaml @@ -0,0 +1,28 @@ +name: Renovate +on: + schedule: + - cron: '0 0 * * Sun' + push: + branches: + - dev + workflow_dispatch: + +permissions: + contents: write + pull-requests: write + +jobs: + renovate: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Self-hosted Renovate + uses: renovatebot/github-action@v40.2.10 + with: + token: '${{ secrets.RENOVATE_TOKEN }}' + docker-user: root + configurationFile: .github/renovate-config.json + env: + LOG_LEVEL: 'debug'