Skip to content

thst-nordic/backport

 
 

Repository files navigation

build status

Goal

Backport is a GitHub App, based on Probot, to backport a pull request by simply adding a label to it. Try it!

Usage

  1. 🔌 Install the publicly hosted Backport GitHub App on your repository.
  2. 💬 Let's say you want to backport a pull request on a branch named production. Then label it with backport production. (See how to create labels.)
  3. ✨ That's it! When the pull request gets merged, it will be backported to the production branch. If the pull request cannot be backported, a comment explaining why will automatically be posted.

Note: multiple backport labels can be added. For example, if a pull request has the labels backport staging and backport production it will be backported to both branches: staging and production.

Demo

Backport demo

This pull request has two commits and targets the development branch. After labeling it with backport production and merging it, Backport automatically creates a pull request on the production branch by cherry-picking these two commits.

How it Works

Backport relies on github-backport to perform all the required Git operations directly through the GitHub REST API instead of having to clone repositories on a server and executing Git CLI commands.

github-backport is the 🗝️ to being able to run Backport as a stateless, easy to maintain, and cheap to operate, GitHub App!

Which Permissions & Webhooks Is Backport Using?

Permissions

  • Repository contents [read & write]: because the backporting process requires creating commits and manipulating branches.
  • Issues [read & write]: to post comments when the backport process fails.
  • Pull requests [read & write]: to create new pull requests.

Webhooks

  • Pull requests: to detect when pull requests are merged or labeled.

About

🔙 GitHub App to backport pull requests

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.1%
  • JavaScript 2.9%