enable automerge
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
		
							
								
								
									
										20
									
								
								.github/renovate.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								.github/renovate.json
									
									
									
									
										vendored
									
									
								
							| @@ -1,20 +0,0 @@ | |||||||
| { |  | ||||||
|   "extends": [ |  | ||||||
|     "config:base" |  | ||||||
|   ], |  | ||||||
|   "postUpdateOptions": ["gomodTidy"], |  | ||||||
|   "packageRules": [ |  | ||||||
|     { |  | ||||||
|       "matchUpdateTypes": ["minor", "patch", "pin", "digest"], |  | ||||||
|       "automerge": true |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "groupName": "all deps", |  | ||||||
|       "separateMajorMinor": true, |  | ||||||
|       "groupSlug": "all", |  | ||||||
|       "packagePatterns": [ |  | ||||||
|         "*" |  | ||||||
|       ] |  | ||||||
|     } |  | ||||||
|   ] |  | ||||||
| } |  | ||||||
							
								
								
									
										65
									
								
								.github/workflows/dependabot-automerge.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								.github/workflows/dependabot-automerge.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,65 @@ | |||||||
|  | name: "Pull Request Auto Merge" | ||||||
|  |  | ||||||
|  | on: | ||||||
|  |   workflow_run: | ||||||
|  |     workflows: ["prbuild", "CodeQL"] | ||||||
|  |     types: | ||||||
|  |       - completed | ||||||
|  |  | ||||||
|  | permissions: | ||||||
|  |   contents: write | ||||||
|  |   pull-requests: write | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   Dependabot-Automerge: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     # Contains workaround to execute if dependabot updates the PR by checking for the base branch in the linked PR | ||||||
|  |     # The the github.event.workflow_run.event value is 'push' and not 'pull_request' | ||||||
|  |     if: >- | ||||||
|  |       github.event.workflow_run.conclusion == 'success' | ||||||
|  |       && github.actor == 'dependabot[bot]' | ||||||
|  |       && github.event.sender.login == 'dependabot[bot]' | ||||||
|  |       && github.event.sender.type == 'Bot' | ||||||
|  |       && (github.event.workflow_run.event == 'pull_request' | ||||||
|  |           || (github.event.workflow_run.event == 'push' && github.event.workflow_run.pull_requests[0].base.ref == github.event.repository.default_branch )) | ||||||
|  |     steps: | ||||||
|  |       - name: Approve Changes and Merge changes if label 'dependencies' is set | ||||||
|  |         uses: actions/github-script@v4 | ||||||
|  |         with: | ||||||
|  |           github-token: ${{ secrets.GITHUB_TOKEN }} | ||||||
|  |           script: | | ||||||
|  |             console.log(context.payload.workflow_run); | ||||||
|  |              | ||||||
|  |             var labelNames = await github.paginate( | ||||||
|  |               github.issues.listLabelsOnIssue, | ||||||
|  |               { | ||||||
|  |                 repo: context.repo.repo, | ||||||
|  |                 owner: context.repo.owner, | ||||||
|  |                 issue_number: context.payload.workflow_run.pull_requests[0].number, | ||||||
|  |               }, | ||||||
|  |               (response) => response.data.map( | ||||||
|  |                 (label) => label.name | ||||||
|  |               ) | ||||||
|  |             ); | ||||||
|  |  | ||||||
|  |             console.log(labelNames); | ||||||
|  |  | ||||||
|  |             if (labelNames.includes('dependencies')) { | ||||||
|  |               console.log('Found label'); | ||||||
|  |  | ||||||
|  |               await github.pulls.createReview({ | ||||||
|  |                 repo: context.repo.repo, | ||||||
|  |                 owner: context.repo.owner, | ||||||
|  |                 pull_number: context.payload.workflow_run.pull_requests[0].number, | ||||||
|  |                 event: 'APPROVE' | ||||||
|  |               }); | ||||||
|  |               console.log('Approved PR'); | ||||||
|  |  | ||||||
|  |               await github.pulls.merge({ | ||||||
|  |                 repo: context.repo.repo, | ||||||
|  |                 owner: context.repo.owner, | ||||||
|  |                 pull_number: context.payload.workflow_run.pull_requests[0].number, | ||||||
|  |               }); | ||||||
|  |  | ||||||
|  |               console.log('Merged PR'); | ||||||
|  |             } | ||||||
		Reference in New Issue
	
	Block a user