1
- name : Dependabot Auto -merge
1
+ name : Dependabot auto -merge
2
2
on : pull_request_target
3
3
4
4
permissions :
@@ -15,10 +15,51 @@ jobs:
15
15
uses : dependabot/fetch-metadata@v2
16
16
with :
17
17
github-token : ' ${{ secrets.GITHUB_TOKEN }}'
18
-
19
18
- name : Approve and /shipit Dependabot PRs for patch and minor versions
20
19
if : ${{ steps.dependabot-metadata.outputs.update-type != 'version-update:semver-major' }}
21
- run : gh pr merge --auto --merge "$PR_URL"
22
- env :
23
- PR_URL : ${{github.event.pull_request.html_url}}
24
- GITHUB_TOKEN : ${{secrets.GITHUB_TOKEN}}
20
+ uses : actions/github-script@v7
21
+ with :
22
+ github-token : ' ${{ secrets.GITHUB_TOKEN }}'
23
+ script : |
24
+ const getPullRequestIdQuery = `query GetPullRequestId($owner: String!, $repo: String!, $pullRequestNumber: Int!) {
25
+ repository(owner: $owner, name: $repo) {
26
+ pullRequest(number: $pullRequestNumber) {
27
+ id
28
+ }
29
+ }
30
+ }`
31
+ const repoInfo = {
32
+ owner: context.repo.owner,
33
+ repo: context.repo.repo,
34
+ pullRequestNumber: context.issue.number,
35
+ }
36
+ const response = await github.graphql(getPullRequestIdQuery, repoInfo)
37
+
38
+ await github.rest.pulls.createReview({
39
+ pull_number: context.issue.number,
40
+ owner: context.repo.owner,
41
+ repo: context.repo.repo,
42
+ event: 'APPROVE',
43
+ })
44
+
45
+ const enableAutoMergeQuery = `mutation ($pullRequestId: ID!, $mergeMethod: PullRequestMergeMethod!) {
46
+ enablePullRequestAutoMerge(input: {
47
+ pullRequestId: $pullRequestId,
48
+ mergeMethod: $mergeMethod
49
+ }) {
50
+ pullRequest {
51
+ autoMergeRequest {
52
+ enabledAt
53
+ enabledBy {
54
+ login
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }`
60
+ const data = {
61
+ pullRequestId: response.repository.pullRequest.id,
62
+ mergeMethod: 'MERGE',
63
+ }
64
+
65
+ await github.graphql(enableAutoMergeQuery, data)
0 commit comments