collerek/ormar

View on GitHub
.github/workflows/auto-merge-dependabot.yml

Summary

Maintainability
Test Coverage
# Based on https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions#enable-auto-merge-on-a-pull-request
name: Dependabot auto-approve and auto-merge
on: pull_request_target

permissions:
    pull-requests: write
    contents: write

jobs:
    autoapprove:
      name: Auto Approve a PR by dependabot
      runs-on: ubuntu-latest
      steps:
        - name: Auto approve
          uses: hmarr/auto-approve-action@v4.0.0
          if: github.actor == 'dependabot[bot]'
          with:
            github-token: ${{ secrets.GITHUB_TOKEN }}
    dependabot:
        runs-on: ubuntu-latest
        if: ${{ github.actor == 'dependabot[bot]' }}
        steps:
            - name: Dependabot metadata
              id: metadata
              uses: dependabot/fetch-metadata@v2.2.0
              with:
                  github-token: "${{ secrets.GITHUB_TOKEN }}"

            - name: Enable auto-merge for Dependabot PRs
              # Automatically merge semver-patch and semver-minor PRs
              # or black dependency upgrades
              if: "${{ steps.metadata.outputs.update-type ==
                  'version-update:semver-minor' ||
                  steps.metadata.outputs.update-type ==
                  'version-update:semver-patch' ||
                  steps.metadata.outputs.dependency-names ==
                  'black' }}"

              # https://cli.github.com/manual/gh_pr_merge
              run: gh pr merge --auto --squash "$PR_URL"
              env:
                  PR_URL: ${{github.event.pull_request.html_url}}
                  GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}