MIRROR: Git backporting is a CLI tool to execute pull request backporting.
Find a file
2022-12-22 16:52:32 +01:00
.github first README draft 2022-12-22 16:52:32 +01:00
.husky Initial BPer implementation 2022-12-22 13:14:37 +01:00
dist Initial BPer implementation 2022-12-22 13:14:37 +01:00
src Initial BPer implementation 2022-12-22 13:14:37 +01:00
test Initial BPer implementation 2022-12-22 13:14:37 +01:00
.eslintignore project setup 2022-12-06 18:10:30 +01:00
.eslintrc Initial BPer implementation 2022-12-22 13:14:37 +01:00
.gitignore Initial BPer implementation 2022-12-22 13:14:37 +01:00
action.yml Initial BPer implementation 2022-12-22 13:14:37 +01:00
CHANGELOG.md project setup 2022-12-06 18:10:30 +01:00
jest.config.ts Initial BPer implementation 2022-12-22 13:14:37 +01:00
package-lock.json build(deps-dev): bump @typescript-eslint/eslint-plugin (#2) 2022-12-22 16:40:43 +01:00
package.json build(deps-dev): bump @typescript-eslint/eslint-plugin (#2) 2022-12-22 16:40:43 +01:00
README.md first README draft 2022-12-22 16:52:32 +01:00
tsconfig.json Initial BPer implementation 2022-12-22 13:14:37 +01:00

BPER: Git Backporter

📤 📥

GitHub Actions status


BPer is a NodeJS command line tool that provides capabilities to backport [1] pull requests in an automated way. This tool also comes with a predefined GitHub action in order to make CI/CD integration easier for all users.

[1] backporting is an action aiming to move a change (usually a commit) from a branch (usually the main one) to another one, which is generally referring to a still maintained release branch. Keeping it simple: it is about to move a specific change or a set of them from one branch to another.

Table of content

Usage

Inputs

GitHub Action

This action can be used in any GitHub workflow, below you can find a simple example of manually triggered workflow backporting a specific pull request (provided as input).

name: Pull Request Backporting using BPer

on: 
  workflow_dispatch:
    inputs:
      targetBranch:
        description: 'Target branch'
        required: true
        type: string
      pullRequest:
        description: 'Pull request'
        required: true 
        type: string
      dryRun:
        description: 'Dry run'
        required: false
        default: "true" 
        type: string

jobs:
  backporting:
    name: "Backporting"
    runs-on: ubuntu-latest
    steps:
      - name: Backporting
        uses: lampajr/backporting@main
        with:
          target-branch: ${{ inputs.targetBranch }}
          pull-request: ${{ inputs.pullRequest }}
          auth: ${{ secrets.GITHUB_TOKEN }}
          dry-run: ${{ inputs.dryRun }}

You can also use this action with other events - you'll just need to specify target-branch and pull-request params.

For a complete description of all inputs see Inputs section.

Limitations

Contributions