on: pull_request: types: [closed] permissions: contents: write pull-requests: write jobs: backport: if: github.event.pull_request.merged == true runs-on: ubuntu-slim steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 0 - name: Setup Node.js uses: ./.github/actions/setup-nodejs with: build-command: '' install-command: npm install --prefix=.github/scripts --no-package-lock - name: Compute backport targets id: targets run: node .github/scripts/compute-backport-targets.mjs - name: Backport if: steps.targets.outputs.target_branches != '' uses: korthout/backport-action@c656f5d5851037b2b38fb5db2691a03fa229e3b2 # v4.0.1 with: github_token: ${{ secrets.GITHUB_TOKEN }} source_pr_number: ${{ github.event.pull_request.number }} target_branches: ${{ steps.targets.outputs.target_branches }} pull_description: |- # Description Backport of #${pull_number} to `${target_branch}` # Original description ${pull_description} pull_title: ${pull_title} (backport to ${target_branch}) add_author_as_assignee: true copy_assignees: true copy_requested_reviewers: true copy_labels_pattern: '^(?!Backport to\b).+' # Copy everything except backport labels experimental: > { "conflict_resolution": "draft_commit_conflicts" }