39 lines
1.6 KiB
YAML
39 lines
1.6 KiB
YAML
# Adapted from https://blog.somewhatabstract.com/2021/10/11/setting-up-dependabot-with-github-actions-to-approve-and-merge/
|
|
name: Dependabot auto-merge
|
|
|
|
on: pull_request
|
|
|
|
permissions:
|
|
pull-requests: write
|
|
contents: write
|
|
|
|
jobs:
|
|
dependabot:
|
|
runs-on: ubuntu-latest
|
|
# Checking the actor will prevent your Action run failing on non-Dependabot
|
|
# PRs but also ensures that it only does work for Dependabot PRs.
|
|
if: ${{ github.actor == 'dependabot[bot]' }}
|
|
steps:
|
|
# This first step will fail if there's no metadata and so the approval
|
|
# will not occur.
|
|
- name: Dependabot metadata
|
|
id: meta
|
|
uses: dependabot/fetch-metadata@v2
|
|
with:
|
|
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
|
|
|
# Here the PR gets approved.
|
|
- name: Approve a PR
|
|
if: ${{ steps.meta.outputs.update-type == 'version-update:semver-patch' || (!startsWith(steps.meta.outputs.previous-version, '0.') && steps.meta.outputs.update-type == 'version-update:semver-minor') }}
|
|
run: gh pr review --approve "${{ github.event.pull_request.html_url }}"
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
# Finally, this sets the PR to allow auto-merging for patch and minor
|
|
# updates if all checks pass
|
|
- name: Enable auto-merge for Dependabot PRs
|
|
if: ${{ steps.meta.outputs.update-type == 'version-update:semver-patch' || (!startsWith(steps.meta.outputs.previous-version, '0.') && steps.meta.outputs.update-type == 'version-update:semver-minor') }}
|
|
run: gh pr merge --auto --squash "${{ github.event.pull_request.html_url }}"
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|