A GitHub action to automatically delete the branch after a pull request has been merged.

Clone this repo:

Branches

  1. 150e4a8 update vendor by Jess Frazelle · 5 weeks ago master
  2. 0f187fe Removal of neutral status code (#23) by Graham Hough · 5 weeks ago
  3. abc6d34 Do not attempt to delete protected branches (#21) by Sharif Nassar · 5 months ago
  4. b3a2b29 Keep branch if it is a base branch of another PR in same repo (#17) by Haralan Dobrev · 7 months ago
  5. 7c9e85b Env variables need quotes, strings for everyone! (#16) by Frederic Barthelemy · 7 months ago

Branch Cleanup Action

Travis CI

A GitHub action to automatically delete the branch after a pull request has been merged. Here's a blog post describing this action in more detail.

NOTE: This will never delete the repository's default branch or protected branches. If the pull request is closed without merging, it will not delete it.

Table of Contents

Usage

workflow "on pull request merge, delete the branch" {
  on = "pull_request"
  resolves = ["branch cleanup"]
}

action "branch cleanup" {
  uses = "jessfraz/branch-cleanup-action@master"
  secrets = ["GITHUB_TOKEN"]
}

If you include this in another Workflow, you may want to configure the environment variable NO_BRANCH_DELETED_EXIT_CODE. The default value for this is 78, as Github Actions will mark a check as "neutral" (neither failed/succeeded) when you exit with code 78. This will however cancel any other actions running in parallel in this workflow.

If you don't want it to cancel, configure your workflow as follows:

action "branch cleanup" {
  uses = "jessfraz/branch-cleanup-action@master"
  secrets = ["GITHUB_TOKEN"]

  env = {
    NO_BRANCH_DELETED_EXIT_CODE = "0"
  }
}

demo

Contributing

Running the tests

The tests use shellcheck. You don't need to install anything (assuming you have docker installed). The tests run in a container.

$ make test