GithubHelp home page GithubHelp logo

isabella232 / delete-merged-branch Goto Github PK

View Code? Open in Web Editor NEW

This project forked from npm/delete-merged-branch

0.0 0.0 0.0 133 KB

No more manually deleting merged branches, this lovely app does it for you.

Home Page: https://github.com/apps/delete-merged-branch/

License: ISC License

Dockerfile 9.71% JavaScript 87.79% Shell 2.50%

delete-merged-branch's Introduction

Delete merged branch

Build Status Want to see more badges? Click here!

Want to run this app with GitHub Actions? Click here

A GitHub app built with Probot that automatically deletes a branch after it's merged. That's it, enjoy!

Running it locally

  1. First, follow these instructions for making your own GitHub app. Give your app the following permissions:

    • Repository contents: Read & Write.
    • Pull requests: Read
  2. Then, clone the repo:

git clone [email protected]:SvanBoxel/delete-merged-branch.git
  1. Copy .env.example to .env and set the right environment variables as here

  2. Now, install app dependencies and run it:

# Install dependencies
npm install

# Run the bot
npm start

Running with Docker

  1. Make sure you have docker installed.

  2. Follow the same steps as running locally to set up the GitHub app and environment files.

  3. Build the docker image:

    docker build -t delete-merged-branch .
  4. Run the docker image:

    docker run -i -t --rm \
        -v "$(pwd)/.env:/app/.env" \
        -p 3000:3000 \
        delete-merged-branch

Alternate Example: Running test in the docker image

docker run -i -t --rm \
    -v "$(pwd)/.env:/app/.env" \
    -v "$(pwd)/sample-data:/sample-data" \
    delete-merged-branch \
        receive /app/index.js -p /sample-data/event.json

How it works

This GitHub app listens to the pull_request.closed webhook. If a pull request is closed and the connected branch is merged, it will delete the branch.

Configuration

The optional app configuration YAML file should be saved as .github/delete-merged-branch-config.yml. At the moment it supports the following options:

  • exclude (array) - list of branches that should not be automatically deleted after a merge. Wildcards supported.

Example .github/delete-merged-branch-config.yml:

exclude: 
  - development
  - qa
  - feature-*

Release process

CI (Travis) is in charge of releasing new versions of the GitHub Application to Now. On every new commit to master we run semantic-release to determine whether the major/minor/patch version should be incremented. If so, we update the version running in production.

Running in GitHub actions

This app is compatible with GitHub Actions. You need to create a workflow that is triggered on the pull_request event for this. Then, you use this repo for the action. (SvanBoxel/delete-merged-branch@master). Don't forget to check the GITHUB_TOKEN secret. That's it.

Delete merged branch action

Contributing

If you have suggestions for how this GitHub app could be improved, or want to report a bug, open an issue! We'd love all and any contributions.

For more, check out the Contributing Guide.

License

ISC © 2018 Sebass van Boxel [email protected]

Badges

Build Status codecov Uptime Robot ratio (30 days) Greenkeeper badge Project maintainability npm version

delete-merged-branch's People

Contributors

graham42 avatar greenkeeper[bot] avatar localheinz avatar svanboxel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.