diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 145c53f..b02996c 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,7 +6,21 @@ updates: interval: daily time: "18:10" open-pull-requests-limit: 10 + cooldown: + default-days: 5 + groups: + nuget-minor-patch: + update-types: + - "minor" + - "patch" - package-ecosystem: "gradle" directory: "/" # Location of package manifests schedule: interval: "daily" + cooldown: + default-days: 5 + groups: + gradle-minor-patch: + update-types: + - "minor" + - "patch" diff --git a/.github/workflows/dependabot-automerge.yml b/.github/workflows/dependabot-automerge.yml new file mode 100644 index 0000000..87fbc9a --- /dev/null +++ b/.github/workflows/dependabot-automerge.yml @@ -0,0 +1,33 @@ +name: Dependabot auto-merge + +on: + pull_request: + branches: + - master + +permissions: {} + +jobs: + automerge: + if: github.event.pull_request.user.login == 'dependabot[bot]' && github.actor == 'dependabot[bot]' + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + + steps: + - name: Fetch Dependabot metadata + id: metadata + uses: dependabot/fetch-metadata@21025c705c08248db411dc16f3619e6b5f9ea21a # v2.5.0 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + + # Major updates are left for manual review + - name: Approve and enable auto-merge for patch and minor updates + if: steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor' + run: | + gh pr review --approve "$PR_URL" + gh pr merge --auto --squash "$PR_URL" + env: + PR_URL: ${{ github.event.pull_request.html_url }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}