name: backport on: pull_request_target: types: [closed, labeled] jobs: pull-request: runs-on: ubuntu-latest permissions: contents: write pull-requests: write if: github.event.pull_request.state == 'closed' && github.event.pull_request.merged && (github.event_name != 'labeled' || startsWith('backport:', github.event.label.name)) steps: - name: Checkout uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3 with: ref: ${{ github.event.pull_request.head.sha }} - name: Create backport PRs uses: korthout/backport-action@ef20d86abccbac3ee3a73cb2efbdc06344c390e5 # v2.5.0 # xref: https://github.com/korthout/backport-action#inputs with: # Use token to allow workflows to be triggered for the created PR github_token: ${{ secrets.BOT_GITHUB_TOKEN }} # Match labels with a pattern `backport:` label_pattern: '^backport:([^ ]+)$' # A bit shorter pull-request title than the default pull_title: '[${target_branch}] ${pull_title}' # Simpler PR description than default pull_description: |- Automated backport to `${target_branch}`, triggered by a label in #${pull_number}.