diff --git a/.github/workflows/approve_and_merge.yml b/.github/workflows/approve_and_merge.yml index fe34292..b74013f 100644 --- a/.github/workflows/approve_and_merge.yml +++ b/.github/workflows/approve_and_merge.yml @@ -1,4 +1,4 @@ -name: "Auto approve and merge Pull Requests" +name: "Auto approve Pull Requests and enable auto-merge" on: pull_request_target jobs: @@ -6,20 +6,28 @@ jobs: runs-on: ubuntu-latest if: github.actor == 'dependabot[bot]' steps: - - name: Auto approve and merge Pull Request + - name: automerge uses: actions/github-script@v3.1 with: - github-token: "${{ secrets.GITHUB_TOKEN }}" + github-token: "${{ secrets.GH_TOKEN }}" script: | await github.pulls.createReview({ owner: context.repo.owner, repo: context.repo.repo, pull_number: context.issue.number, - event: "APPROVE" - }) - await github.pulls.merge({ - owner: context.repo.owner, - repo: context.repo.repo, - pull_number: context.issue.number, - merge_method: "squash" + event: 'APPROVE' }) + + const res = await github.graphql(`query { + repository(owner: "${context.repo.owner}", name: "${context.repo.repo}") { + pullRequest(number: ${context.issue.number}) { + id + } + } + }`) + + await github.graphql(`mutation { + enablePullRequestAutoMerge(input: { pullRequestId: "${res.repository.pullRequest.id}", mergeMethod: SQUASH }) { + clientMutationId + } + }`)