diff --git a/.github/workflows/auto-merge.yml b/.github/workflows/auto-merge.yml index 4190182..d04ecd2 100644 --- a/.github/workflows/auto-merge.yml +++ b/.github/workflows/auto-merge.yml @@ -1,5 +1,5 @@ # Source: https://nicolasiensen.github.io/2022-07-23-automating-dependency-updates-with-dependabot-github-auto-merge-and-github-actions/ -name: Dependabot auto-merge +name: PR auto-merge on: pull_request_target permissions: @@ -16,28 +16,35 @@ jobs: uses: dependabot/fetch-metadata@v2 with: github-token: "${{ secrets.GITHUB_TOKEN }}" + - name: Enable auto-merge for Dependabot PRs run: gh pr merge --auto --merge "$PR_URL" env: PR_URL: ${{github.event.pull_request.html_url}} GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + - name: Approve patch and minor updates if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-patch' || steps.dependabot-metadata.outputs.update-type == 'version-update:semver-minor'}} run: gh pr review $PR_URL --approve -b "I'm **approving** this pull request because **it includes a patch or minor update**" env: PR_URL: ${{github.event.pull_request.html_url}} GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} - - name: Approve major updates of development dependencies - if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-major' && steps.dependabot-metadata.outputs.dependency-type == 'direct:development'}} - run: gh pr review $PR_URL --approve -b "I'm **approving** this pull request because **it includes a major update of a dependency used only in development**" + + - name: Comment on major updates of any dependencies + if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-major'}} + run: | + gh pr comment $PR_URL --body "I'm **not approving** this PR because **it includes a major update of a dependency**" + gh pr edit $PR_URL --add-label "requires-manual-qa" env: PR_URL: ${{github.event.pull_request.html_url}} GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} - - name: Comment on major updates of non-development dependencies - if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-major' && steps.dependabot-metadata.outputs.dependency-type == 'direct:production'}} - run: | - gh pr comment $PR_URL --body "I'm **not approving** this PR because **it includes a major update of a dependency used in production**" - gh pr edit $PR_URL --add-label "requires-manual-qa" + + review-mod-update-pr: + runs-on: ubuntu-latest + if: ${{ github.event.pull_request.title == 'Update Hugo module dependencies' }} + steps: + - name: Enable auto-merge for mod-update PRs + run: gh pr merge --auto --merge "$PR_URL" env: PR_URL: ${{github.event.pull_request.html_url}} GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}