@@ -105,45 +105,27 @@ jobs:
105105 path : junit/test-results-*.xml
106106 if : always()
107107
108- - name : Auto -merge PR
108+ - name : Enable auto -merge
109109 if : success()
110110 uses : actions/github-script@v7
111111 with :
112112 script : |
113- const { data: pullRequest } = await github.rest.pulls.get({
114- owner: context.repo.owner,
115- repo: context.repo.repo,
116- pull_number: context.issue.number
113+ await github.graphql(`
114+ mutation enableAutoMerge($pullRequestId: ID!, $mergeMethod: PullRequestMergeMethod!) {
115+ enablePullRequestAutoMerge(input: {
116+ pullRequestId: $pullRequestId,
117+ mergeMethod: $mergeMethod
118+ }) {
119+ pullRequest {
120+ autoMergeRequest {
121+ enabledAt
122+ mergeMethod
123+ }
124+ }
125+ }
126+ }
127+ `, {
128+ pullRequestId: context.payload.pull_request.node_id,
129+ mergeMethod: 'SQUASH'
117130 });
118-
119- console.log(`PR State: ${pullRequest.state}`);
120- console.log(`PR Mergeable: ${pullRequest.mergeable}`);
121- console.log(`PR Mergeable State: ${pullRequest.mergeable_state}`);
122-
123- if (pullRequest.state !== 'open') {
124- console.log('PR is not open, cannot merge');
125- return;
126- }
127-
128- if (pullRequest.draft) {
129- console.log('PR is a draft, cannot merge');
130- return;
131- }
132-
133- if (pullRequest.mergeable === false) {
134- console.log('PR is not mergeable, cannot merge');
135- return;
136- }
137-
138- try {
139- await github.rest.pulls.merge({
140- owner: context.repo.owner,
141- repo: context.repo.repo,
142- pull_number: context.issue.number,
143- merge_method: 'squash'
144- });
145- console.log('PR merged successfully');
146- } catch (error) {
147- console.log(`Failed to merge PR: ${error.message}`);
148- throw error;
149- }
131+ console.log('Auto-merge enabled with squash method');
0 commit comments