backport.yml (1409B)
1 name: backport 2 on: 3 pull_request_target: 4 types: [closed, labeled] 5 jobs: 6 backport: 7 permissions: 8 contents: write 9 pull-requests: write 10 name: Backport Pull Request 11 if: github.event.pull_request.merged 12 runs-on: ubuntu-latest 13 steps: 14 - uses: actions/checkout@v6 15 16 - uses: actions/create-github-app-token@v2 17 id: app-token 18 with: 19 app-id: ${{ vars.BACKPORT_APP }} 20 private-key: ${{ secrets.BACKPORT_KEY }} 21 22 - name: Create backport PR 23 id: backport 24 uses: korthout/backport-action@v4 25 with: 26 pull_title: "${pull_title}" 27 label_pattern: "^ci:backport ([^ ]+)$" 28 github_token: ${{ steps.app-token.outputs.token }} 29 30 - name: Create failed backport label 31 if: ${{ steps.backport.outputs.was_successful == 'false' }} 32 uses: actions/github-script@v8 33 with: 34 script: | 35 github.rest.issues.addLabels({ 36 issue_number: context.issue.number, 37 owner: context.repo.owner, 38 repo: context.repo.repo, 39 labels: ['needs:backport'] 40 }) 41 42 - name: Enable automerge 43 if: ${{ steps.backport.outputs.was_successful == 'true' }} 44 env: 45 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 46 run: gh pr merge --rebase --auto ${{ steps.backport.outputs.created_pull_numbers }}