diff --git a/.github/workflows/dependabot-auto-approve-merge.yml b/.github/workflows/dependabot-auto-approve-merge.yml new file mode 100644 index 00000000..f33d44e2 --- /dev/null +++ b/.github/workflows/dependabot-auto-approve-merge.yml @@ -0,0 +1,39 @@ +name: Dependabot Auto-Approve & Auto-Merge + +on: + pull_request: + types: [opened, reopened, synchronize] + +permissions: + contents: write + pull-requests: write + +jobs: + dependabot: + runs-on: ubuntu-latest + if: github.event.pull_request.user.login == 'dependabot[bot]' + + steps: + - name: Get Dependabot metadata + id: metadata + uses: dependabot/fetch-metadata@v2 + with: + github-token: ${{ github.token }} + + - name: Approve minor and patch updates + if: | + steps.metadata.outputs.update-type == 'version-update:semver-minor' || + steps.metadata.outputs.update-type == 'version-update:semver-patch' + run: gh pr review --approve "$PR_URL" + env: + PR_URL: ${{ github.event.pull_request.html_url }} + GH_TOKEN: ${{ github.token }} + + - name: Enable auto-merge for minor and patch updates + if: | + steps.metadata.outputs.update-type == 'version-update:semver-minor' || + steps.metadata.outputs.update-type == 'version-update:semver-patch' + run: gh pr merge --auto --squash "$PR_URL" + env: + PR_URL: ${{ github.event.pull_request.html_url }} + GH_TOKEN: ${{ github.token }} diff --git a/.github/workflows/dependabot-auto-approve.yml b/.github/workflows/dependabot-auto-approve.yml deleted file mode 100644 index 4d521caf..00000000 --- a/.github/workflows/dependabot-auto-approve.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Dependabot Auto-Approve - -on: - pull_request: - types: [opened, reopened] - -permissions: - pull-requests: write - -jobs: - auto-approve: - runs-on: ubuntu-latest - if: github.event.pull_request.user.login == 'dependabot[bot]' - steps: - - name: Get Dependabot metadata - id: metadata - uses: dependabot/fetch-metadata@v2 - with: - github-token: "${{ github.token }}" - - name: Approve minor and patch updates - if: steps.metadata.outputs.update-type == 'version-update:semver-minor' || steps.metadata.outputs.update-type == 'version-update:semver-patch' - run: | - gh pr review --approve "$PR_URL" - env: - PR_URL: ${{ github.event.pull_request.html_url }} - GH_TOKEN: ${{ github.token }} diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml deleted file mode 100644 index f8409ae5..00000000 --- a/.github/workflows/dependabot-auto-merge.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Dependabot Auto-Merge - -on: - pull_request_review: - types: [submitted] - -permissions: - contents: write - pull-requests: write - -jobs: - auto-merge: - runs-on: ubuntu-latest - if: github.event.review.state == 'approved' && github.event.pull_request.user.login == 'dependabot[bot]' - steps: - - name: Get Dependabot metadata - id: metadata - uses: dependabot/fetch-metadata@v2 - with: - github-token: "${{ github.token }}" - - name: Enable auto-merge for minor and patch updates - if: steps.metadata.outputs.update-type == 'version-update:semver-minor' || steps.metadata.outputs.update-type == 'version-update:semver-patch' - run: | - gh pr merge --auto --squash "$PR_URL" - env: - PR_URL: ${{ github.event.pull_request.html_url }} - GH_TOKEN: ${{ github.token }}