kuma
1name: auto-merge
2concurrency:
3cancel-in-progress: true
4group: ${{github.workflow}}-${{github.event.pull_request.number}}
5on:
6pull_request:
7types: [labeled, opened, reopened, synchronize]
8branches:
9- 'master'
10- 'release-*'
11permissions:
12contents: read
13jobs:
14approve-and-auto-merge:
15timeout-minutes: 10
16runs-on: ubuntu-latest
17if: contains(github.event.pull_request.labels.*.name, 'ci/auto-merge')
18permissions:
19pull-requests: write
20steps:
21- name: Generate GitHub app token
22id: github-app-token
23uses: actions/create-github-app-token@f4c6bf6752984b3a29fcc135a5e70eb792c40c6b # v1.8.0
24with:
25app-id: ${{ secrets.APP_ID }}
26private-key: ${{ secrets.APP_PRIVATE_KEY }}
27- name: Approve PR
28run: gh pr review ${{ github.event.pull_request.number }} -a -R ${{ github.repository }}
29env:
30GITHUB_TOKEN: ${{ github.token }}
31- name: Enable auto-merge
32run: gh pr merge ${{ github.event.pull_request.number }} --auto --squash -R ${{ github.repository }}
33env:
34GITHUB_TOKEN: ${{ steps.github-app-token.outputs.token }}
35