1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- name: backport
- on:
- pull_request_target:
- types: [closed, labeled]
- jobs:
- backport:
- permissions:
- contents: write
- pull-requests: write
- name: Backport Pull Request
- if: github.event.pull_request.merged
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: actions/create-github-app-token@v1
- id: app-token
- with:
- app-id: ${{ vars.BACKPORT_APP }}
- private-key: ${{ secrets.BACKPORT_KEY }}
- - name: Create backport PR
- id: backport
- uses: korthout/backport-action@v3
- with:
- pull_title: "${pull_title}"
- label_pattern: "^ci:backport ([^ ]+)$"
- github_token: ${{ steps.app-token.outputs.token }}
- - name: Create failed backport label
- if: ${{ steps.backport.outputs.was_successful == 'false' }}
- uses: actions/github-script@v7
- with:
- script: |
- github.rest.issues.addLabels({
- issue_number: context.issue.number,
- owner: context.repo.owner,
- repo: context.repo.repo,
- labels: ['needs:backport']
- })
- - name: Enable automerge
- if: ${{ steps.backport.outputs.was_successful == 'true' }}
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: gh pr merge --rebase --auto ${{ steps.backport.outputs.created_pull_numbers }}
|