Skip to content

Warning

You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?

Backport Action

Actions
Backport merged pull requests to other branches via labels
v8.9.2
Star (29)

Backport Github Action

Getting started

Create a file /.github/workflows/backport.yml with the following content:

on:
  pull_request_target:
    types: ["labeled", "closed"]

jobs:
  backport:
    name: Backport PR
    runs-on: ubuntu-latest
    if: |
      github.event.pull_request.merged == true
      && contains(github.event.pull_request.labels.*.name, 'auto-backport')
      && (
        (github.event.action == 'labeled' && github.event.label.name == 'auto-backport')
        || (github.event.action == 'closed')
      )
    steps:
      - name: Backport Action
        uses: sqren/backport-github-action@v8.9.2
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          auto_backport_label_prefix: backport-to-

      - name: Info log
        if: ${{ success() }}
        run: cat /home/runner/.backport/backport.info.log
        
      - name: Debug log
        if: ${{ failure() }}
        run: cat /home/runner/.backport/backport.debug.log        
          

Now, to backport a pull request, simply apply the labels auto-backport and backport-to-production. This will automatically backport the PR to the branch called "production" when the PR is merged.

Configuration

For more fine grained customization, and for the ability to run the Backport Tool as a CLI tool locally, you should create a .backportrc.json file in the root directory:

// .backportrc.json
{
  // example repo info
  "repoOwner": "torvalds",
  "repoName": "linux",

  // the branches available to backport to
  "targetBranchChoices": ["main", "production", "staging"],

  // In this case, adding the label "backport-to-production" will backport the PR to the "production" branch
  "branchLabelMapping": {
    "^backport-to-(.+)$": "$1"
  }
}

See the Backport Tool documentation for all configuration options.

Backport Action is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Backport merged pull requests to other branches via labels
v8.9.2

Backport Action is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.